Sales • reference

Sales Invoices

Create direct and fulfillment-backed sales invoices with pre-posting preview, tax groups, draft discard, and automated General Ledger revenue recognition posting.

Reviewed on 2026-10-10

Check the sale before billing#

The “Create sales invoices” permission allows draft creation; “Post sales invoices” governs posting or voiding. Confirm customer, currency, tax and an open accounting period.

Open or create the correct draft#

  1. 1
    Open the sales order and review its shipment history. Use the existing invoice link when a draft or posted invoice already covers shipped units.
  2. 2
    For shipped units that remain eligible, select the order's invoice action or open Sales Invoices and create the linked draft. Unshipped quantities cannot be included in an order-linked invoice.
  3. 3
    Check customer, source shipment, billed quantities, currency, tax, and total. Source customer and shipment links remain fixed. Single tax rates and compound tax groups configured on the sales order are automatically preserved on the invoice lines.
  4. 4
    If you need to change a draft, you can edit prices, discounts, and quantities. Reducing a line's quantity dynamically releases the unbilled portion back to shipment availability for separate billing. Expanding a line cannot exceed the remaining eligible shipped capacity.
  5. 5
    Save the draft, then review the accounting preview and post when approved.
  6. 6
    Open the posted invoice to check its balance; record payment or credit separately.

A draft invoice is a proposal. Posting creates the customer receivable and revenue. Quantities already held by another active draft or posted invoice cannot be billed again. If availability changed while the form was open, reload the order and use the current invoice or eligible remainder instead of submitting a duplicate.

Discarding drafts and voiding posted invoices#

KariVast maintains a strict distinction between discarding an unposted draft and voiding a posted document:

  • Discard Draft: Available only for unposted drafts. Select Discard draft and confirm to permanently delete the draft. This immediately releases all claimed shipment quantities back to available status without creating any ledger entries or altering inventory.
  • Void Invoice: Used when a posted invoice needs financial reversal. Voiding reverses the posted accounting entries (crediting Accounts Receivable and debiting Sales Revenue and Tax). Voiding is strictly blocked if active customer payments or credit notes are allocated to the invoice; those allocations must be unapplied first. Once voided, historical audit records are preserved, and the associated shipped quantities become eligible again for a replacement invoice.

Confirm the customer balance#

An invoice can be Draft, Posted, or Voided. Posting records the amount owed, revenue, and tax using your configured accounts. An invoice created after fulfillment remains a draft until Finance posts it.

WARNING: Posting changes financial statements. Active allocations or linked corrections block voiding; inspect and unapply them through supported payment/credit workflows before attempting a void.

If the invoice cannot post#

If posting is blocked, inspect the accounting period, account settings, tax configuration, and shipment coverage. If source quantities were claimed by another concurrent draft, adjust or discard the competing draft before retrying.

Behind the Scenes: Accounting & GL Impact#

Posting the invoice debits the configured Accounts Receivable account and credits Sales Revenue, with a credit to the configured sales tax account when applicable. The invoice remains a draft until posted. Inventory cost was recognized at fulfillment, so invoice posting does not debit Cost of Goods Sold again. A direct invoice without stock shipment does not itself remove warehouse units.

Have a question about this workflow?

Subscribed customers can ask questions about this guide inside the authenticated dashboard.

Ask about Sales Invoices in Dashboard