A/R Invoice
The customer billing document โ creates the legal claim and posts the G/L entry (Accounts Receivable, Revenue, VAT).
An A/R (Accounts Receivable) Invoice is the customer billing document. It creates the legal claim on the customer and posts the revenue side of the sale to the general ledger. Where the delivery moved goods, the invoice moves money into the books: it is the document that recognises revenue and records that the customer owes the company.
Purpose
An A/R Invoice is created when the company bills the customer. It establishes a receivable โ a debt the customer must pay โ and recognises the sale as revenue. It is almost always required in the sales chain: it is the document that turns a shipment into a claim for payment.
Most commonly the invoice is based on a delivery, so that billing follows the goods that actually shipped. For service companies with no physical goods, the invoice is raised directly from the sales order (or from scratch), bypassing the delivery step. Issuing an invoice before goods ship recognises revenue too early โ a control error the delivery-based flow prevents.
Position in the document chain
The invoice copies from a delivery (or an order) and is later settled by an incoming payment; its value can be reversed by a credit memo.
flowchart TD
DEL[Delivery] -->|billing| ARI[A/R Invoice]
SO[Sales Order] -.direct bill.-> ARI
ARI -->|customer pays| IP[Incoming Payment]
ARI -.reversed by.-> CM[A/R Credit Memo]
style SO fill:#dbeafe,stroke:#3b82f6
style DEL fill:#dcfce7,stroke:#16a34a
style ARI fill:#fef9c3,stroke:#ca8a04,stroke-width:3px
style IP fill:#fef9c3,stroke:#ca8a04
style CM fill:#fee2e2,stroke:#dc2626- Copies from: a Delivery (most common) or a Sales Order (direct / service billing).
- Becomes: settled by an Incoming Payment; its value is reversed by an A/R Credit Memo.
Key fields
The invoice is a Document entity with DocObjectCode = oInvoices.
Header
| Field | Meaning |
|---|---|
DocEntry | Internal primary key. |
DocNum | User-visible invoice number. |
CardCode | Customer business-partner code. |
DocDate | Posting date. |
DocDueDate | Payment due date (from payment terms). |
TaxDate | Tax point date. |
DocTotal | Invoice total including VAT. |
VatSum | VAT amount. |
DocCurrency | Invoice currency. |
TransNum | G/L transaction (journal entry) number created by posting. |
DocumentStatus | bost_Open until paid, then bost_Paid / bost_Close. |
Lines (DocumentLines)
| Field | Meaning |
|---|---|
LineNum | 0-based line index. |
ItemCode | Item master code. |
Quantity | Billed quantity. |
Price | Unit price before VAT โ the invoiced amount. |
LineTotal | Quantity ร Price. |
VatGroup | Tax code determining the VAT rate. |
AccountCode | Revenue G/L account (override). |
BaseType/BaseEntry/BaseLine | Link back to the delivery / order line. |
Stock and G/L effect
No stock movement when the invoice is based on a delivery โ the delivery already reduced inventory. (An invoice raised directly, with no prior delivery, does reduce stock, since it is then the first document to move the goods.)
Full G/L posting. The invoice posts the revenue side of the sale:
DR Accounts Receivable 1,170 โ the customer now owes us
CR Revenue 1,000 โ earned income
CR VAT Payable 170 โ owed to the tax authorityThis is the entry that recognises revenue and creates the receivable. Later, the
Incoming Payment clears the receivable (DR Bank / CR Accounts Receivable).
Service Layer entity
| Property | Value |
|---|---|
| SL entity | Invoices |
| Object code | oInvoices (13) |
| Norma path | /b1s/v1/Invoices |
How to create it in Norma
Use the create_invoice tool. It needs:
card_codeโ the customer’s code (e.g.C001).linesโ each anitem_code+quantity.- Optionally per line,
unit_priceโ when given it is authoritative (the invoiced amount); when omitted the line uses the item’s list price. This lets an agreed or negotiated price be billed exactly, rather than the standard list price.
Use it when the user wants to invoice, bill, or charge a customer โ not for orders,
deliveries, or A/P (vendor) invoices. Because the invoice posts to the ledger and
creates a legal claim, the human-review gate is essential: the tool prepares the
invoice, the review gate shows customer, lines, prices, VAT, and total, and only on
approval does the connector POST it to /b1s/v1/Invoices. No approval, no posting.