SAP Document ar_downpayment

A/R Down Payment

An advance payment request against a future invoice โ€” the customer pays up front, before goods or the final invoice.

An A/R Down Payment records an advance the customer pays up front, against invoices that will come later. It is used when money changes hands before the normal delivery-and-invoice cycle completes โ€” a deposit on a large order, a prepayment on a project, a booking fee. It lets the advance be tracked and later applied to the final invoice so the customer is not billed twice for the same amount.

Purpose

A down payment is created when a customer pays (or is asked to pay) in advance of the final invoice. Common cases: a deposit securing a big or custom order, a staged prepayment on a project, or any arrangement where cash is collected before goods ship.

The down payment sits outside the normal Order โ†’ Delivery โ†’ Invoice progression: it is a way to record and hold advance money so it can be drawn down against the eventual A/R Invoice. When the final invoice is raised, the down payment is applied to it, reducing the balance the customer still owes.

This document is the A/R Down Payment Invoice variant โ€” DownPaymentType = "dptInvoice" โ€” a down payment that posts as an invoice-type document (creating a tax point), as distinct from a down-payment request.

Position in the document chain

The down payment can copy from an order and is later applied against the final invoice.

flowchart TD
    SO[Sales Order] -.optional.-> DP[A/R Down Payment]
    DP -->|applied to| ARI[A/R Invoice]
    ARI -->|customer pays balance| IP[Incoming Payment]

    style SO fill:#dbeafe,stroke:#3b82f6
    style DP fill:#e9d5ff,stroke:#9333ea,stroke-width:3px
    style ARI fill:#fef9c3,stroke:#ca8a04
    style IP fill:#fef9c3,stroke:#ca8a04
  • Copies from: a Sales Order (optional), or created directly.
  • Becomes: applied against a later A/R Invoice, reducing the remaining balance due.

Key fields

The down payment is a Document entity with DocObjectCode = oDownPayments.

Header

FieldMeaning
DocEntryInternal primary key.
DocNumUser-visible document number.
CardCodeCustomer business-partner code.
DocDatePosting date.
DownPaymentType"dptInvoice" โ€” an invoice-type down payment (a tax point), not a mere request.
DocTotalAdvance amount including VAT.
VatSumVAT on the advance.
DownPaymentDown-payment amount tracked for later application.
TransNumG/L transaction number of the posting.
DocumentStatusbost_Open until fully drawn down.

Lines (DocumentLines)

FieldMeaning
LineNum0-based line index.
ItemCodeItem the advance relates to.
QuantityQuantity the advance covers.
PriceUnit price before VAT โ€” the advance basis.
VatGroupTax code for the advance.
BaseType/BaseEntry/BaseLineLink back to the source sales-order line, if copied.

Stock and G/L effect

No stock movement. A down payment moves money, not goods โ€” inventory is untouched. Stock changes only when a Delivery is later posted for the actual sale.

G/L posting. An invoice-type down payment (dptInvoice) posts a journal entry that records the advance received and the associated VAT โ€” the customer’s advance is recognised as a liability of the company (money held that is not yet earned revenue), with the tax point created. When the final A/R Invoice is issued and the down payment applied, the advance is drawn down against it so revenue and the receivable net out correctly and the customer is not charged the same amount twice.

Service Layer entity

PropertyValue
SL entityDownPayments
Object codeoDownPayments (203)
DownPaymentType"dptInvoice"
Norma path/b1s/v1/DownPayments

How to create it in Norma

Use the create_ar_downpayment tool. It needs:

  • card_code โ€” the customer’s code (e.g. C001).
  • lines โ€” each an item_code + quantity.
  • Optionally per line, unit_price โ€” when given it is authoritative (the down-payment amount); when omitted the line uses the item’s list price. This lets the advance be set to an agreed figure rather than the standard list price.

Use it when the user wants to record a customer down payment, advance, or prepayment โ€” not for A/R invoices (use create_invoice) or credit memos (use create_credit_memo). Because the down payment posts to the ledger, the human-review gate applies: the tool prepares it, the review gate shows customer, lines, prices, and total, and only on approval does the connector POST it to /b1s/v1/DownPayments. No approval, no posting.