Sales
Orders, partial deliveries, invoices and receipts. Confirming an order commits stock; shipping it costs the goods out; invoicing raises the receivable; a receipt clears it.
Double-entry, by construction
Sales, purchasing, inventory and real accounting in one place. Every invoice, payment and delivery posts a balanced journal entry — so your trial balance can never disagree with your balance sheet, and nobody spends a Friday reconciling the two.
No card. Your company is ready to invoice in about a minute.
| Account | Debit | Credit |
|---|---|---|
| 1100 Accounts receivable | 1,210.00 | |
| 4000 Product sales | 1,000.00 | |
| 2100 Tax payable | 210.00 | |
| Balanced | 1,210.00 | 1,210.00 |
The order commits the stock, the delivery costs it out, the invoice raises the receivable and the payment clears it. Each step posts itself to the ledger, so nothing has to be entered twice or reconciled later.
Four modules that share one set of rules, so a sale, the stock that left the shelf and the entry in the ledger are the same event seen three ways.
Orders, partial deliveries, invoices and receipts. Confirming an order commits stock; shipping it costs the goods out; invoicing raises the receivable; a receipt clears it.
The same flow in reverse. Goods receipts capitalise stock at cost, supplier bills clear the accrual rather than double-counting it, payments settle the payable.
Quantities per warehouse, weighted moving-average cost, an append-only movement ledger, stock counts that book the difference as a gain or a loss, and transfers.
A real general ledger with trial balance, income statement, balance sheet, receivables and payables aging, sales analysis and a stock valuation that reconciles to the books.
Most of what makes an ERP pleasant or painful is decided long before the buttons.
Reports are computed from the general ledger, never from the documents. Posting is idempotent, so a double-clicked button cannot double-count revenue, and voiding books the reversal instead of quietly deleting history.
Every amount is exact. Money, unit prices and quantities are computed in whole minor units, because a rounding error in accounting is not a display bug — it is a trial balance that is off by a cent six months later.
A stock count books the difference as a gain or a loss. A receipt capitalises cost against an accrual the supplier’s bill later clears. Every change carries who made it and when.
One database holds many companies, and being sure about that is not a promise — it is how the code is built.
Application code cannot issue an unscoped query. The filter is applied by the database client itself, so it does not depend on anyone remembering.
Foreign keys carry the company, so one company’s invoice cannot even reference another’s customer. The database refuses it outright.
An automated test signs up two companies and tries to read, count and write across the wall from one to the other. It ships with the code.
Every plan includes every module — the limits are about size, never about features. 14 days of everything to start.
For one person keeping honest books.
Free
2 users · 50 products
Start on FreeA small team with a real warehouse.
$49.00 /month
10 users · 2000 products
Start on StarterUnlimited everything, for when the ERP is the business.
$149.00 /month
Unlimited users · Unlimited products
Start on BusinessYes. Every document that moves value — an invoice, a payment, a delivery, a stock count — posts a balanced journal entry to a general ledger. The trial balance, income statement and balance sheet are computed from that ledger rather than from the documents, so they cannot disagree with each other.
Every row in the database belongs to a company, and the application cannot issue a query that is not filtered by it — the filter is applied by the database client itself, not by each developer remembering. Foreign keys carry the company too, so one company’s document cannot even reference another’s customer. An automated test signs up two companies and tries to read across; it is part of every release.
The account becomes read-only. Every invoice, journal entry and report stays exactly where it is and stays visible — you simply cannot change anything until you reactivate. Deleting a company’s accounting over a bill is never the right answer.
Weighted moving average, maintained per product across warehouses. Receiving goods blends the new cost into the average; shipping them costs the goods out at the average in force, which is what makes cost of sales post in the same transaction that moves the stock.
Yes. Products can be marked as services, which keeps them out of the stock ledger entirely — you still get quotes, invoices, payments, aging and a full set of financial statements.
No. Signing up installs a chart of accounts already wired to the posting rules, document numbering, a warehouse and a tax rate. You can re-point any posting rule at a different account later without touching what is already in the ledger.
Sign up and you get a chart of accounts wired to the posting rules, document numbering, a warehouse and a tax rate. Raise one invoice and look at the trial balance — that is the whole demo.