Outgoing Payment
A payment made to a vendor and allocated against open A/P invoices โ cash falls, the vendor payable clears, and the applied invoices close.
An Outgoing Payment records money paid to a vendor and applies it against the invoices the company owes that vendor. It is the mirror of the Incoming Payment: where the incoming payment collects from a customer and clears receivables, the outgoing payment disburses to a supplier and clears payables. Cash goes down, accounts payable goes down, and the specific vendor invoices the payment covers are marked closed.
In the Service Layer this is the OutgoingPayments service, object code
oVendorPayments (46), created at /b1s/v1/VendorPayments. (SAP’s internal
name for the object is Vendor Payments, which is why the object code and the create
path both say “vendor” even though the UI calls it Outgoing Payment.)
Like the Incoming Payment, this document carries a business partner โ but here the
CardCode is the vendor being paid. The second half is again the allocation:
the list of open A/P invoices the payment settles, so the money is matched to the
debts it discharges.
When it is used
An Outgoing Payment is created whenever the company settles what it owes a supplier:
- Paying a vendor’s A/P invoice by bank transfer on its due date.
- Cheque runs โ issuing cheques to multiple suppliers, each recorded as an outgoing payment.
- Partial payment โ paying part of a large invoice now, leaving the rest open.
- Payment on account โ sending money to a vendor before their invoice arrives, held against the vendor’s balance until invoices exist to apply it to.
- Refund of an overpaid customer (the document also supports
rCustomer), though its primary role is vendor disbursement.
The mirror document for receiving money from a customer is the Incoming Payment
(oIncomingPayments, 24). The Outgoing Payment is always the disbursement side โ
money going out to a vendor.
Key fields
The document has a header identifying the vendor and the money paid, plus a
PaymentInvoices collection that allocates the money across specific invoices.
Header
| Field | Type | Notes |
|---|---|---|
DocEntry | Edm.Int32 | Internal primary key (system-assigned) |
DocNum | Edm.Int32 | User-visible document number |
DocObjectCode | SAPB1.BoObjectTypes | Always oVendorPayments (46) |
DocType | โ | rSupplier โ payment to a vendor (vs. customer / account) |
CardCode | Edm.String | The vendor being paid โ required |
CardName | Edm.String | Vendor name |
DocDate | Edm.String | Posting date โ YYYYMMDD string |
DocCurrency | Edm.String | Currency of the payment |
CashSum | Edm.Double | Amount paid as cash (posts from a cash account) |
CashAccount | Edm.String | G/L cash account the CashSum is drawn from |
TransferSum | Edm.Double | Amount paid by bank transfer |
TransferAccount | Edm.String | G/L bank account the transfer is drawn from |
CheckAccount | Edm.String | G/L account when paying by cheque |
TransferDate | Edm.String | Value date of the transfer |
JournalRemarks | Edm.String | Memo written onto the generated journal entry |
The payment can be split across means โ cash, bank transfer, cheque โ each drawn from its own G/L account. The sum of these means must equal the sum applied across the invoices (plus any amount left on account).
Allocation (PaymentInvoices)
| Field | Type | Notes |
|---|---|---|
LineNum | Edm.Int32 | Line index (0-based) |
DocEntry | Edm.Int32 | DocEntry of the A/P invoice being paid |
InvoiceType | SAPB1.BoRcptInvTypes | Which document โ e.g. it_PurchaseInvoice |
SumApplied | Edm.Double | How much of the payment is applied to this invoice |
AppliedFC / AppliedSys | Edm.Double | Applied amount in foreign / system currency |
Each row points at one open A/P invoice by its DocEntry and states how much of the
payment to put against it โ the allocation that distinguishes a settled invoice from
a bare cash disbursement.
GL and stock effect
Stock: none. A payment moves money, not goods.
Accounting: the payment debits the vendor’s accounts-payable control account (clearing the debt) and credits the cash/bank account the money left from:
DR Accounts Payable (amount applied โ vendor balance cleared)
CR Bank / Cash account (amount paid out)The debit is the A/P control account tied to the vendor’s CardCode; the credit
account is the TransferAccount, CashAccount, or CheckAccount from the header.
Each invoice in PaymentInvoices is reduced by its SumApplied; an invoice paid in
full flips to Closed (bost_Close), while a partial payment leaves it open for
the balance.
If the company paid the vendor more than it owed, or paid with no invoice named, the surplus is recorded on account โ a debit balance held against the vendor, available to apply to future invoices.
Service Layer
| Property | Value |
|---|---|
| Service (entity) | OutgoingPayments |
| Object code | oVendorPayments (46) |
| Create path | POST /b1s/v1/VendorPayments |
| Read one | GET /b1s/v1/VendorPayments(<DocEntry>) |
| Sub-collection | PaymentInvoices (the invoice allocation) |
A create payload names the vendor, the bank account and amount paid, and the invoices it settles:
POST /b1s/v1/VendorPayments
{
"CardCode": "V10000",
"DocType": "rSupplier",
"TransferSum": 1170.0,
"TransferAccount": "111000",
"PaymentInvoices": [
{ "DocEntry": 88, "InvoiceType": "it_PurchaseInvoice", "SumApplied": 1170.0 }
]
}Norma’s connector and mock use the
/b1s/v1/paths shown here; a live SAP B1 on Feature Pack 2405 or later exposes the same entity under/b1s/v2/with identical shape.
The response returns the assigned DocEntry and DocNum, and the applied invoices
reflect their reduced open balance immediately.