Skip to main content

Sales invoices

A Sales invoice bills a customer for items sold from inventory - unlike a Free text invoice, which posts a description straight to a ledger account, every line on a Sales invoice references an item, draws its unit from that item's own unit class, and ships from a specific Location. Posting a Sales invoice therefore does more than raise a receivable: it also drives the item's inventory and cost-of-goods-sold posting, the same way a purchase invoice does on the Accounts payable side.

This guide covers creating, lining, charging, and posting a Sales invoice. Prepayments against a posted Sales invoice are covered separately in Prepayment invoices.

Creating a Sales invoice​

Navigate to Accounts receivable > Sales invoices and select New Invoice.

The Invoice header collects:

  • Customer: The customer being billed.
  • Location: The warehouse the items ship from. Required before you can add any invoice lines - the item picker on the Invoice lines tab only offers items available at the selected Location, so pick this first.
  • Invoice date / Due date: The invoice's date and when payment is due.
  • Currency: Defaults from the customer's own currency once one is selected.

Payment information collects Cash discount (see Cash discounts - its Cash discount % fills in automatically and can't be edited directly), Payment term, Payment schedule, and Payment method.

Additional collects Sales origin (where the sale came from - a trade show, an online store, and so on), Tax group (the customer's tax profile, paired with each line item's own tax item group to determine which taxes apply), and Sales person.

Adding invoice lines​

On the Invoice lines tab, select Add line and choose an Item - only items stocked at the invoice's Location are offered. Selecting an item fills in its Tax item group automatically (read-only); a Unit must still be chosen from the units available for that item.

Each line then takes:

  • Quantity and Unit price - multiplied together, less any discount, to produce the line's Net amount, Tax amount, and Total line amount.
  • Discount amount or Discount % - entering one recalculates the other.

Once posted, a line exposes two further actions: Posted sales tax (the tax transactions generated for that line) and Inventory transactions (the stock movement the line produced).

Charges​

A Sales invoice can carry Charges - freight, insurance, installation, and similar supplementary amounts - governed by Charge codes set up under Accounts receivable. Charges attach at two levels, opened via their own Manage charges panels:

  • Header charges (toolbar's Manage charges) apply to the invoice as a whole. A header charge can be allocated across the invoice's lines afterwards - choosing Allocate to lines distributes its amount using a calculation method (By net amount, By quantity, Per line (equally)) across all lines or a chosen subset.
  • Line charges (a single selected line's Manage charges) apply to just that line.

Either panel's Add new charge takes a Charge code, a Calculation method (Fixed amount, Percentage, or Per unit), and a Value. The charge code itself decides how the amount posts - to a ledger account or to the customer's own balance - per its own Charge codes configuration.

Financial dimensions​

A Sales invoice's Financial Dimensions section (on the Audit/General area of its detail page) works from the same Financial dimensions infrastructure as everywhere else in the General Ledger, but its inheritance from the customer is easy to misread if you haven't seen the mechanism before. It is not a live, segment-by-segment fallback - it's a one-time, all-or-nothing choice made every time the invoice is saved:

  • Save with no dimension segments assigned on the invoice → the invoice inherits the customer's entire default dimension set wholesale, exactly as configured on the customer record.
  • Save with at least one dimension segment assigned on the invoice → the invoice gets a brand-new dimension set built from exactly the segments present in the Financial Dimensions grid at that moment - nothing more. Any dimension attribute not present in that grid is Not set on the invoice, even if the customer has a default value for it. The customer's set is not consulted or merged in at the field level.

What makes this feel like a merge in practice is what the grid is pre-loaded with:

  • On the New invoice form, the Financial Dimensions grid starts completely empty - it is not pre-filled from the selected customer. Assigning a single segment here and saving therefore creates an invoice-specific set containing only that one segment.
  • Re-opening an already-saved invoice for edit pre-loads the grid with whatever the invoice currently resolves to. For a fresh invoice that inherited the customer's set (the first bullet above), that means the grid opens already showing the customer's own values. Overriding just one of them and saving resubmits every value currently shown in the grid together - the untouched ones included - so the result reads as "the customer's defaults, with my one override."

Worked example. Customer Northwind Traders has default dimensions CostCenter = CC_100 and Region = GCC_UAE.

  1. Create a new invoice for Northwind Traders, leave Financial Dimensions untouched, and save. The invoice inherits the customer's set: CostCenter CC_100, Region GCC_UAE, Project and Vendor Not set - identical to the customer's own default.
  2. Instead, on that same New invoice form, before saving, set only Project = PRJ_007 and leave CostCenter/Region blank, then save. Because at least one segment was assigned, the invoice gets its own new set containing only {Project: PRJ_007}. CostCenter and Region are now Not set on this invoice - Northwind's own CC_100/GCC_UAE default is discarded, not merged in.
  3. To combine the customer's default with your own override, save the invoice first (as in step 1, inheriting CC_100/GCC_UAE), then re-open it for edit. The Financial Dimensions grid now opens pre-loaded with CostCenter CC_100 and Region GCC_UAE. Add Project = PRJ_007 alongside them and save. All three segments are resubmitted together, producing the invoice's own set: CostCenter CC_100, Region GCC_UAE, Project PRJ_007.
Assigning one segment on a new invoice drops the rest of the customer's default

Step 2 above is the common pitfall: setting just one dimension on a brand-new invoice does not layer on top of the customer's default for the dimensions you left alone - it silently loses them. If you need the customer's defaults plus an override, follow the step-3 workflow (save unmodified first, then edit) rather than setting overrides at creation time.

Whichever set the invoice ends up with, it's this set that supplies the dimension values used to resolve the invoice's revenue and receivable ledger lines at posting.

Posting​

Select Post and confirm. Posting is irreversible - the invoice's header, lines, and charges all become read-only afterwards, and its status moves to Invoiced.

Posting can trigger credit limit enforcement

The same evaluation applies here as on a Free text invoice - see Credit limit enforcement for how an Error vs Warning message type changes the outcome.

After posting, further actions become available: Print, Voucher transactions, Commission transactions (if commission calculations apply to this invoice), Open transactions, Accounting distributions, and (from the Payments area) New payment journal to settle it.

Viewing Sales invoices​

The Sales invoices list summarizes your invoices with four counts - Total, Open (not yet posted), Posted, and Overdue (past due date and still unsettled) - and a Date filter to restrict the list to a range. Each row shows its Invoice number, Customer, Due date, Currency, Discount, Tax amount, Total amount, Status, and Posted date.