Books
Your books, exact to the last decimal
A ledger checks that debits equal credits. A payment to the wrong wallet balances perfectly, and a half-cent difference can vanish into rounding. SendSure writes each payment into the books you already keep, with the exact amount from the chain and the Arc transaction, once.
What SendSure never does in your books
Six decimals, always
A settlement is recorded only if it equals the open amount to the last of 6 decimals. Anything else stays open for a person.
One transaction, one entry
Each Arc transaction can be recorded once. Syncing again changes nothing.
No transaction, no payment
In Odoo and ERPNext, a USDC payment entered by hand, without an Arc transaction to the proven address, is refused.
Odoo 16–19
An add-on for Odoo Community 16, 17, 18 and 19, from one source. It was tested inside Odoo (37 tests, on each version) and end to end: a real Odoo bill paid on Arc testnet and recorded back, 27 of 27 checks.

A vendor bill paid on Arc, recorded through Odoo's own Register Payment.

The wallet the vendor proved can be trusted. A wallet someone slipped in cannot, even by the admin.
| Odoo alone (we reproduced each on Odoo 19) | With the SendSure add-on |
|---|---|
| The built-in “Manual” method pays an untrusted wallet. | The USDC journal's only way out is SendSure, which needs a trusted wallet and an Arc transaction. |
| Anyone with the right can trust any wallet someone typed in. | A wallet can be trusted only if it is the address the vendor proved, read from Arc at that moment. |
| A $250.00 bill paid with 249.995 USDC is marked paid, with no write-off. | Recorded only if it matches exactly. Otherwise the bill stays open with a note. |
| The currency code USDC is cut to USD, which already exists. | USDC is set up with 6 decimals at 1:1 to USD. |
One command with Docker: ./run.sh up in integrations/odoo. The key Odoo uses can send bills and read their status. It can never approve, co-sign or change your rules.
ERPNext 15–16
A Frappe app for ERPNext 15 and 16, including companies whose books are in another currency. It was tested inside ERPNext (29 tests, on both versions) and end to end: a real ERPNext purchase invoice paid on Arc testnet and recorded back, 29 of 29 checks.

A purchase invoice paid on Arc, recorded as a Payment Entry with the transaction as its reference.

The proven address is read from SendSure. Typing another one is refused, for the administrator too.
| ERPNext alone (we reproduced each on ERPNext 15.121.6) | With the SendSure app |
|---|---|
| A 250.00 invoice paid with 249.995 is marked Paid: both ledger rows say 250.00, no Round Off row, no write-off. | A settlement is recorded only if it equals the open amount exactly, to the last of 6 decimals; the ledger rows are read back after posting. |
| A supplier's bank account number takes 30 characters; a wallet address has 42. | The proven address is a read-only field read from SendSure. Only an Accounts Manager can approve it for payments. |
| A Payment Entry takes any text as its reference; nothing ties it to a transfer. | A payment on the SendSure mode, or out of the USDC account, is refused unless SendSure read the settlement from Arc. |
One command with Docker: ./run.sh up in integrations/erpnext. The same key rules as Odoo: it can send invoices and read their status, never approve, co-sign or change your rules.
Plain-text and CSV books
Every payment carries its claim, the agent's decision hash and its Arc transaction. After each payment day the treasury balance is asserted from the chain, and anything that moved the treasury outside SendSure is one explicit entry, computed from that balance.
beancount
Six-decimal USDC with an explicit tolerance of one millionth, and a balance assertion per payment day.
hledger
A journal with declared accounts and a balance assertion per day. hledger refuses the file if the balance is off by 0.000001.
Journal CSV
A general journal, two lines per entry, for any ledger that imports journal lines, or for a spreadsheet.
Bank-statement CSV
Date, amount, payee, description and the Arc transaction as the reference, for tools that reconcile from a statement. Amounts keep six decimals; the download tells you which ones a cents-only tool would round.
The books of the public demo org (a sandbox: our own test payments on Arc testnet), read from the chain right now.
Your own team's books are in /org under “Your books”. Payee names are added in your browser; they never reach our server. The writers: beancount.ts, ledgers.ts.