successful book transfer: the amount leaves your account and arrives in the recipient’s account straight away.
All you need is the recipient’s Nuvion account number. The recipient can be another account of your own, a parent or child entity, another entity under the same parent, or any other Nuvion customer, such as a supplier or a customer of yours who also banks with Nuvion. Sending from a child entity’s account works the same way, with one addition: see Send from or to a child entity.
When to use a book transfer
If the recipient banks with Nuvion, prefer a book transfer. It settles immediately, needs no routing details, and doesn’t pass through an external payment rail. Use a bank payout when the recipient banks elsewhere.How it differs from other payouts
A book transfer follows the same three steps as any payout: create a counterparty, add a payment detail, then send the transfer. These points differ:Before you start
- An API key, and the
account_idof the account that pays. It needs a balance of at least the amount plus the fee. - The recipient’s
nuvion_banand the currency of that account.
Step 1: Create a counterparty
Create a counterparty for the recipient. Do this once per recipient.data.id (01HXYZ3000ABCDEFGHJKMNPQRS). Step 2 and Step 3 use it as counterparty_id. See Create a counterparty.
Step 2: Add the recipient’s account as a payment detail
Add abook-transfer payment detail whose account_number is the recipient’s nuvion_ban. Nuvion checks that the number belongs to a Nuvion account when you add it.
data.id (01HXYZ5000ABCDEFGHJKMNPQRS). Step 3 uses it as payment_detail_id. See Create payment details.
Step 3: Send the transfer
Create abook-transfer from your account. amount is in minor units. Use a new unique_reference for each payment.
successful straight away, because a book transfer settles immediately. applicable_fee is the fee debited from your account on top of amount, in minor units. See Create a transfer for every field and error.
Scenarios
The three steps are the same in every scenario. What changes is the key you use, whether you sendentity_id, and whose nuvion_ban goes in Step 2.
successful straight away.
What the recipient sees
The recipient’s account records an inflow withpayment_type book-transfer and status successful. It carries the amount, the currency and your narration, so the recipient can reconcile it against an invoice or reference. It doesn’t carry your request meta. Its applicable_fee follows the recipient’s own pricing, not yours.
The recipient learns about it in either of two ways:
- Webhook: an
inflows.completedevent, if they subscribe to it. - API:
GET /transfers?type=inflow&payment_type=book-transfer, as described in List transfers.
Send from or to a child entity
To send from a child entity’s account, send the child’sentity_id on every call, as described in Managing child entities. The recipient can be the parent: use the parent account’s nuvion_ban as the account_number. Between a parent and its children, or between two children of the same parent, the flow is the same.
If you leave entity_id off Step 1, Nuvion creates the counterparty under the parent. Step 2 then returns 422 and Step 3 returns 404, because the child can’t see it.
Handle errors
Each step’s response box has a tab for every failure listed here, with the exact body Nuvion returns.error_operation_invalid_for_state has more than one cause, so check both the currency and the destination account when you see it.
