Sell it, ship it, bill it, collect it.
A won deal becomes an order. The order tracks what actually shipped. The invoice bills the part you delivered, the pay link collects it, and revenue recognizes because the goods went out, not because someone remembered to update a schedule. Every step posts to the same ledger.
Everything between the order and the cash.
Quote, order, shipment, invoice, payment, credit, return, and the revenue schedule underneath all of it. Each of those is a record on the ledger rather than a status in a neighboring app, so the shipment that bills and the cash that clears it are the same chain of rows.
Invoicing
Raise an invoice by hand, from a won CRM deal, from a sales order, or by asking Kate. Every invoice runs draft, approve, post, so the accrual is a validated write rather than a form submission, and the document keeps its own history: who changed it, when it was sent, when it was paid. A tax-exempt customer zero-rates every line automatically, and that carries through to the credit memo, so you never refund tax you never charged.
- Line-level discount and tax, dimension tags, and a per-line GL account override
- Foreign currency with the rate taken from the invoice date, and every posted ledger line carrying its reporting-currency equivalent
- Duplicate, void, send and unsend, PDF and attachments on every document
- Customer exemption certificates with an expiry date, honored at tax resolution instead of remembered by a person
- Recode a finalized, already-paid invoice, or re-tag its project and department, without hand-writing a reversing entry
Orders, fulfillment and backorders
A sales order is a real object between the quote and the invoice, not a status on the invoice. It runs draft, confirmed, closed, and fulfillment is tracked on its own axis, so each line carries what is promised, what shipped, what is on backorder and what has been invoiced. Confirming an order posts no journal entry, because an order is a promise rather than a transaction. What confirmation does do is check the customer’s credit and commit the stock, and the deposit they already paid draws down when you actually bill.
- Many invoices per order, so progress billing is one order with a running invoiced quantity per line
- Backorder policy per product: allow it and the shortfall carries a promised date, refuse it and confirmation is refused with the numbers that explain why
- Available-to-promise nets stock on hand against what other confirmed orders have already claimed
- Approving the invoice draws the stock off its actual cost layer and posts COGS in the same entry as the revenue, not as a period-end plug
- A backorder worklist across every open order, released line by line as stock lands
Getting paid, and money held on account
An invoice can carry a pay link to a hosted page where the customer pays by card or bank, downloads the PDF, and gets a receipt the moment settlement posts. The settlement books itself through the same validated function a manual payment uses, so there is no processor statement to reconcile at month end. Money that arrives before an invoice exists is held as a real liability instead of floating as an unapplied credit.
- AutoPay on a saved method, partial payments, bulk apply across many invoices, and unapply on anything applied by mistake
- Prepayments and retainers draw down as you bill; a refundable security deposit is held and left alone until the engagement ends
- An overpayment absorbs onto a prepayment rather than stranding on the invoice
- A remittance advice in the vault becomes an apply-payment action: the model extracts the invoice list, the numbers resolve against your real open invoices, and a human confirms before anything posts
- A counter sale posts one balanced entry for cash, revenue, sales tax, COGS and inventory relief, with no AR aging in between, though there is no card terminal or tap-to-pay behind it
- Card and bank acceptance is switched on per company. The rails and what they cost live on Payments
Credits, returns and bad debt
A credit memo goes through approval like anything else that moves the ledger, and allocating it to an open invoice posts no second entry, because both sides already sit in AR. Returns are a module rather than a manual reversal: authorize an RMA and it mints a numbered return authorization, receive it and the stock goes back at the cost it left at, then resolve it into a draft credit memo that runs the normal credit approval. Over-returning is guarded across every RMA raised against the order.
- Authorize, receive, restock, credit, with a printable return authorization at the front of it
- Allowance for doubtful accounts: policy, estimate, posting, rollforward and write-off
- Write off an invoice you will not collect, with the entry that requires, on the record
Subscriptions, usage and recurring billing
Plans and prices cover flat, per-unit, tiered, volume, stair-step and usage rate models. Billing runs post real invoices on the same spine as everything else, proration is computed on a mid-term change, and a failed payment enters the retry schedule instead of a spreadsheet. Usage priced with a committed minimum bills the greater of the two, and the committed floor is what counts toward MRR and ARR, never the usage above it.
- A standing monthly retainer is a one-click flat plan, so there is one recurring engine here rather than two competing ones
- Usage recording, proration, and mid-term upgrades and downgrades
- A public subscription pay page on its own tokenized link
- A zero-usage period still invoices, and the line reads as the minimum commitment so a $500 charge in a quiet month does not look like a billing error
- A billing run spawns the revenue schedule with it, so recurring revenue is never recognized by hand
Revenue recognition, ASC 606
A revenue contract carries performance obligations, the transaction price is allocated across them at standalone selling price, and each obligation gets its own schedule. The AI or the importer proposes the arrangement, a human confirms it, and only then does deterministic code create the deferrals. Billing posts to deferred revenue and the schedule engine releases it each period, the way loan amortization works. Confirm a sales order with revenue tracking on and it creates the contract with one obligation per line, so a shipment moves recognition directly.
- Five methods: ratable, point in time, and progress by manual percent, cost to cost, or output
- Position per obligation and per contract: allocated, billed, recognized, deferred, unbilled, and remaining performance obligation
- An exception rule flags any obligation recognized on a method that differs from your stated policy
- Sales commissions capitalized and amortized as a contract cost under ASC 340-40, with clawback
- Variable consideration, contract modifications and a significant financing component are not built yet
The paperwork a real business has to produce
Customers, carriers and auditors ask for documents most accounting tools do not generate. Order confirmation, pro forma invoice, pick ticket, packing slip, official receipt, and the customer’s own PO number captured on the order and printed on the paper. Exporters get a commercial invoice with declared values, HS codes, countries of origin and Incoterms, plus a certificate of origin that carries no prices on it. The customs paper is a module of its own, off until you switch it on, and the order confirmation only emails itself if you ask it to.
- Optional auto-email of the order confirmation the moment an order is confirmed
- A delivery stamp on the order recording who signed for it, with the carrier’s bill of lading or proof of delivery filed against the order in the vault
- Customer statements generated, downloaded or emailed, and inbound statements parsed on the way in
- Dunning letters with escalating tone, as a PDF you can actually post
The chasing happens whether anyone remembers or not.
Reminders and failed-payment retries are two schedules on one engine. A reminder is offset from the due date and goes out with the invoice PDF and a pay link. A retry is offset from the failure date, tries the saved method again, and ends in the suspend or cancel you configured. An event ledger underneath makes a double send structurally impossible, and cash landing cancels the rest of the sequence.
- A record, not an inbox. Every reminder is an event on the invoice: which offset it was, who it went to, and what the send actually did. A failed subscription payment goes further and opens a case, with each retry attempt and its outcome logged against it, so the history of a slow payer sits on the record.
- Credit control at the two moments credit is extended. A customer can carry a limit and a hold. The check runs server-side at order confirmation and again at invoice approval, against real exposure: open AR plus the uninvoiced remainder of confirmed orders. Set the company to warn or to block.
- A dashboard that answers the question. DSO, aging tiles, expected cash, and a credit-watch worklist. AR aging comes as a summary, by customer, and invoice by invoice, and every line drills to the invoice and then to the entry behind it.
- Chasing is communication, not posting. Applying cash, issuing a credit and writing off a balance stay human-approved writes, whatever the schedule did on its own.
“What do customers owe us?” Answered from the aging, not from a guess.
Every figure she gives you is the result of a query against your own AR, not a number assembled out of text. Ask her to act and she drafts it for a person to approve: an invoice, a credit memo, a customer deposit, a write-off. By chat or by live voice, with the same capabilities on both.
Where she stops, plainly. Kate cannot yet draft an invoice in a foreign currency: the currency and the FX rate stay on the human form, because posting a foreign accrual at a guessed rate misstates the ledger. Applying a customer payment is a human action too.
One line item instead of five.
The invoicing tool, the collections tool, the order-management system, the subscription biller and the revenue-recognition spreadsheet are one module here, sitting on the ledger they all post to. The invoice, the cash, the deferral and the tie-out are the same system, so there is nothing to reconcile between AR and the GL.
No per-seat fee
Billing is a team sport: whoever raises the invoice, whoever chases it and whoever signs off the credit all cost nothing to add. A tool that bills per user is a tool people quietly stop being given access to.
Order depth lands on Growth
Sales orders, fulfillment and returns come with the $399 plan. Invoicing, quotes and pay-by-link are in every plan, and plans start at $59.
Revenue and stock are modules
ASC 606 obligations, schedules and subscription billing switch on as the Revenue Suite. Stock costing and trade documents come with Inventory & Order Ops. Turn one on the month you need it.
Upstream and downstream of the invoice.
Bring one messy order. Leave with the cash applied.
Thirty minutes: a quote becomes an order, a partial shipment bills, a payment lands and applies itself, and the revenue schedule follows, on documents that look like yours.
Let’s begin
