Home
What needs you today, quick ways to add data, and where each kind of record is managed.
Needs you
Counts and amounts that are waiting on a person. Each card opens the panel where you act on it.
Loading…
Quick actions
Income
Royalty commission, client invoices and other income for the selected entity.
Loading…
Position
Cash and income for the selected entity, from posted journal entries only.
BIA
Per-vendor, per-period royalty analysis, generated from approved settlements.
Loading…
Recent activity
The last 15 events from the audit trail.
Where things live
- People, accounts and sign-in are managed in Order76 → People and partners.
- Agreements and contracts are managed in Order76 → Agreements.
- This app is the money: royalties, statements, banking, books and tax.
Sales data & reports
Vendor sales and royalty reports you upload, kept as the source for settlements. Data comes from the files you attach.
Upload sales data or a royalty report
Attach the vendor's royalty report PDF: the period, each title's line and the total are read from it, and the file is kept as the source document. A CSV of per-title lines (header title, units, amount) works too. Leave the period and gross blank to take them from the file; fill them only to override. The report is created here; you then cut a settlement from it.
Sales data and reports
Every report on file, newest first, with the settlement cut from it and the source file.
Settlements
Each vendor’s gross for a period run through their active rule, awaiting your review. Data comes from the reports and the vendor rules.
New settlement from a gross receipt
Enter a vendor's gross receipt for a period. The vendor's active rule withholds tax from the gross, then splits the net into the vendor's share and EBM's commission. The settlement lands in the review queue below — nothing becomes an invoice until you approve it.
Review queue
Settlements awaiting review. Approve to issue a royalty invoice for the vendor's share; reject to discard. Every action is written to the audit trail.
All settlements
Vendor invoices
Royalty invoices issued when a settlement is approved, plus the vendor’s own invoice for each. Data comes from approved settlements.
Royalty invoices and reports
Issued when a settlement is approved. Amount due is the vendor's share; EBM commission is retained. Each one has a Royalty Report: view it, download it as a PDF, or email it to the vendor's accountant. Attach the vendor's own invoice here and mark it received.
Income register
Every income item of the selected entity, newest first: royalty commission (added automatically when a settlement is approved), client invoices, and other income you record here.
Totals
Register
Record other income
For income that is not a royalty settlement or a client invoice. It posts its own journal entry: Cash (or Accounts Receivable if still expected) against the income account you choose.
Invoice intake
Upload an invoice PDF. It is read, the fields are proposed for your review, and on your say-so it is registered as income: an invoice is created and issued, posted to the ledger, and given a register number.
Upload a PDF to scan
A PDF is scanned for the invoice number, dates, total and customer. A PNG or JPG image is stored but not scanned: fill the form in by hand.
Waiting for review
Recently handled
Invoice register
Every royalty invoice and client statement with its register number, form and dates. Numbers are issued in order, once, when the document is created.
Register
BIA
Per-vendor, per-period royalty analysis rebuilt from the settlement and its sales lines. Drafts can be regenerated; a published report is fixed.
Vendors
Latest report
Vendor rules
Per-vendor tax withholding and the vendor/EBM split that settlements are calculated with. Data is what you enter here.
Add or update a vendor rule
Per-vendor tax withholding and the net vendor/EBM split. Percentages are stored to the basis point; money never rounds twice. Editing a rule from the list below fills this form.
Vendor rules
Vendor contacts
The designated accountant for each vendor. The Royalty Report is emailed here from the Vendor invoices page.
Settlement accounts
Which bank account royalty receipts and vendor payouts move through. Data comes from the bank account register.
Settlement accounts
Royalty money moves through these. Set them under Banking → Bank accounts.
Client statements
Statements cut from the amounts allocated to each client for a month, approved here before the client sees them. Data comes from allocations posted by the partner portal.
Client statements
A statement is cut from the amounts allocated to a client for a month. Expenses come off the client's share, not the gross. Approve makes it visible to the client, who then approves the commission before payment is scheduled.
Invoices
Accounts-receivable invoices you raise for customers; issuing and marking them paid posts to the ledger. Data is what you enter here.
New invoice
Issuing posts Accounts Receivable ↔ Revenue. Marking paid posts your cash account (Relay) ↔ Accounts Receivable — optionally matched to an imported deposit.
Invoices
Bank accounts
The bank accounts the business holds, each with an 8-digit internal reference, and which flow settles through which. Data is the encrypted account register.
Bank accounts
The accounts the business actually holds. Each carries an 8-digit internal reference — quote that anywhere an account needs naming, in a journal, a remittance note or an email, instead of a real account number. The last digit is a check digit, so a transposed pair is rejected rather than silently naming a different account. Numbers are stored encrypted and shown as their last four; revealing one in full is recorded in the audit trail.
What settles where
Which account each part of the business settles through. Screens elsewhere read these, so changing one here changes what the rest of the system says — no account number is written into code.
Transactions
Bank transactions imported for the selected entity, ready to categorise and post to the ledger. Data comes from the statements you import.
Imported bank transactions
Categorize and post to the ledger. Posting creates a balanced double-entry journal (cash vs. the chosen category).
Import & statements
Bring bank transactions in from a CSV export and keep the statement files. Data comes from the files you upload.
Upload a bank statement
Choose a Relay CSV export, or a zip of statements: every CSV inside is imported, each to the bank account its file name or account column names (the registered accounts under Bank accounts link to their ledger cash accounts), falling back to the cash account chosen here. Duplicates are skipped and a file already imported is reported, not re-imported. A PDF statement (for example Revolut) is stored and listed but is not parsed.
Statements on file
Files uploaded for the selected entity, with what the import did with each.
Paste CSV text
The secondary path: paste the text of a bank CSV, pick its import profile and the cash account it maps to. It uses the same import as the upload above, so re-importing an overlapping file is safe — duplicates are detected by fingerprint and identical files by hash.
Reconcile
Deposits not yet posted, matched against issued customer invoices. Data comes from imported transactions and open invoices.
Match deposits to invoices
Unposted incoming deposits (imported from Relay) on the left; pick the invoice each one pays and post it. Matching amounts are pre-selected. Posting records Cash ↔ Accounts Receivable and marks the deposit as booked.
Classify
Turns imported bank rows into ledger entries in three previewed steps: transfer matching, your rules, and your decisions. Data comes from imported transactions.
Classification
Turning raw bank rows into books is three different jobs, so it is three separate steps. Transfers between your own accounts are matched arithmetically. Payees you have written a rule for are treated as data. Everything else is a question for you and will not post until you answer it.
Run the pipeline
Every step previews before it writes. Look at the preview, then commit — or do not.
Waiting on you
Rows no rule could speak for. Pick the account each belongs to. Nothing here posts until it is decided — a wrong guess becomes a wrong figure on a signed return, so uncertainty is surfaced rather than resolved.
Rules
A payee’s treatment lives here as data you can read and change, not buried in code. Patterns are case-insensitive regular expressions; lower priority numbers win. Mark a rule external when it names a counterparty outside the business, so transfer matching leaves it alone.
Journal
Every posted double-entry journal entry for the selected entity, with its source. Data comes from the ledger.
Journal entries
Chart of accounts
The ledger accounts for the selected entity with their current balances. Data comes from posted journal entries.
Accounts and balances
Every ledger account for the selected entity. Balances reflect posted journal entries only.
Reports
Trial balance, profit and loss, and balance sheet for the selected entity. Data comes from posted journal entries.
Trial balance
Profit & loss
Balance sheet
Royalty summary
Royalties payable (2300) aging
Commission revenue by month (4300)
Budget
Monthly funding targets per account in priority order, and a plan for splitting the cash you have. It records plans only and does not move money.
Targets
What each account should hold each month, in the order it gets funded. The order is decided in advance precisely so that a thin month does not decide it — payroll and tax before a software renewal.
Add or update a target
A target is keyed by account and label, so saving the same pair again updates it rather than adding a second one. The sweep account takes whatever is left after every other target is funded.
What to move today
Enter the cash actually on hand. The plan walks the priorities and funds each target in full before starting the next, so a short month says plainly what it could not reach instead of spreading the shortfall silently across every account.
Payroll
Payroll runs booked from your provider’s totals; posted runs feed the 941, 940 and W-2 lines in the Filing packet. This app does not calculate, file or remit payroll.
Book a payroll run
Enter the totals from your payroll provider's report (Gusto, ADP, …). Posting books wages + employer taxes against your cash account. Order76 does not calculate, file, or remit payroll taxes — your provider does.
Payroll runs
Tax
A prep-only workpaper estimating tax for the year from the posted ledger, for your CPA to review. Nothing is filed or transmitted.
Quarterly net income
Estimated tax
Category rollup (tax lines)
Filings
The filing calendar: each return the entity owes for the year, its due date and status, and an estimated lateness penalty. Also prices missing payroll runs from wages already in the ledger.
Past due
Every return this entity owes for the year, its statutory due date, and — for federal returns — an estimate of what being late is costing. Oklahoma sets its own penalties; those returns show the tax but are left unpriced rather than given a federal rate that does not apply to them.
Payroll reconstruction
Where wages were paid without withholding, there are no payroll runs — and a 941, a 940 and a W-2 all read from posted runs. This prices the year from the wages already in the ledger and checks the result against the back-tax accrual in the books. A year that does not tie is never stored.
Filing packet
The numbered lines of the returns, assembled from posted payroll and the ledger, to read beside the blank form. Nothing is transmitted.
Filing packet
The numbered lines of the actual returns, assembled from the posted payroll and the ledger. Meant to be read with a blank form open beside it. Nothing here is transmitted — this is what a person transcribes and signs.
Audit trail
The append-only, hash-chained log of every sensitive action in this app. Data is written by the app itself and can be verified end to end.
Tamper-evident audit trail
Every sensitive action is an append-only, hash-chained event. Verify recomputes the chain from genesis.
Identity
A read-only roster of people, app roles and organisations. Data comes from the identity store this app hosts for single sign-on.
People
Read-only roster from the identity store: global role, role in each connected app, organisations, second factor and last sign-in.
Organisations
The companies and teams people belong to, as the identity store holds them.
Security
Your own sign-in, plus the front door and approval devices. Data comes from this app’s sessions, devices and access requests.
Your sign-in
Your own password, second factors and sessions. These apply only to the account you are signed in as.
Reset your own access
If you got in through the break-glass USB after losing your phone, reset your second factor here, then re-enroll a fresh authenticator or security key from Your sign-in above.
Front door
The obscured public entry (enable with ORDER76_FRONT_DOOR=1). Set the passphrase people must supply, review access requests, and unblock IPs that were denied.
Recent access requests
Blocked IPs
Approval devices
The sideloaded phone app that approves or denies front-door requests. Pair a device to get a one-time token. A device can only approve or deny; it is not a login.
Shown once. Copy it into the app now — it is never displayed again. If you lose it, revoke this device and pair a fresh one.
Service access
The apps registered to sign in through this app and the scopes each holds, plus break-glass claims. Data comes from the SSO client table.
SSO clients and scopes
Each connected app (Order76, the partner portal, the library) is a registered client. Its scopes are what it may do on the service routes. Scopes are granted from the server shell with node src/service-auth.mjs --grant; they are shown here read-only.
Outbound email for Royalty Reports. It is configured on the server (ORDER76_SMTP_URL, ORDER76_MAIL_FROM); nothing secret is shown here.
Break-glass
Emergency access can only be minted over SSH with the forced command and the USB key; there is no web path to it. This lists the last ten claims, so an unexpected one is visible.