Exactly Ledger

Summary

Reconciliation

Assets = Liabilities + Equity + Income − Expenses, per currency. Below is an independent check: the sum of every debit against the sum of every credit.

Balance sheet

Filter

Accounts

Account card

Pick an account on the left.

Open a customer account

The account's twin in the ledger: cif = client.uuid, bankCode = provider, accountNr = internal number. Overdraft is forbidden automatically.

Accounts of a CIF

Operation on a customer account

Send it twice with the same identifier — the money moves once.

Two-stage incoming payment (§4.D)

The regulatory scheme: until the correspondent confirms, the money sits on a suspense account and does not belong to the customer.

Free-form posting

Full control: debits and credits are set by hand. The header amount must equal the total of each side.

Currency conversion — five calls

One transaction cannot do it: a transaction has a single currency, and debits must equal credits. The settlement accounts must net to zero.

Card top-up — two legs

AML queue

Transactions stopped at AML_ON_HOLD: the money is held and a human decides. Only a credential carrying ledger:aml may decide — switch to compliance at the top. Under backend the buttons return 403, and that is correct.

Search

Transactions

Transaction card

Pick a transaction on the left.

Event bus

State machine queue

Access log

Requires the ledger:admin scope — switch to admin. Refusals show here too: who, from where, and which scope was missing.

Ledger settings

Read from GET /setting/catalog/{ledgerId} — the ledger says which knobs it has, what type each is and when a change takes effect. Saving needs the ledger:admin scope: switch to admin.

Currencies — decimal precision

Precision is a field of the currency, not a ledger setting: every amount is stored as an integer number of minor units, so digits decides what a minor unit is. It cannot be changed once accounts use the currency — the ledger answers 409 and nothing moves.

Fixed at deployment

Read-only on purpose: these were decided when the process started, and several are security decisions that have no business being reachable over the API they protect.

Free-form request

Every endpoint the service publishes, listed straight from its OpenAPI document — method, summary and required scope included. {ledgerId} is filled in for you.

Response