Skip to content

Internal transfers

POST /internal-transfers — move funds from_account_number → to_account_number, generating one ADJUSTMENT journal + ledger entries.

Directional model: source decreases, destination increases, regardless of account nature; the posting function maps to the correct DEBIT/CREDIT.

Validations: both accounts exist, different accounts, same currency, amount ≥ 0.01.

transfer_type → adjustment_type mapping (port verbatim)

transfer_typeadjustment_type
PAYMENT_CORRECTIONMANUAL_ADJUSTMENT
FEE_ADJUSTMENTFEE_CORRECTION
RESERVE_MOVEMENTRESERVE_ADJUSTMENT
SERVICE_CREDITSERVICE_COMPENSATION
BALANCE_RECONCILIATIONBALANCE_RECONCILIATION
TAX_ADJUSTMENTTAX_CORRECTION
PRIOR_PERIOD_CORRECTIONPRIOR_PERIOD_CORRECTION

The full adjustment-type taxonomy is in the appendix.

Prior-period correction — loading opening balances

PRIOR_PERIOD_CORRECTION is the only way to inject balance with no operational source. The source must be the platform PRIOR_PERIOD_ADJUSTMENT (EQUITY, V1) account, one per currency, created at platform setup.

Onboarding from a legacy system

Use this to load opening balances when migrating a merchant from a legacy system — every loaded balance is contra'd against the platform EQUITY account, so the books stay balanced and the load is fully auditable.

Vecnet — Build Spec v0.2 · Obsidian Terminal