POST
Create a money account
Organization space User accounts only For: Administrator, Accountant · Permission: money_accounts.create Conditions
  • The call is refused when the organization’s pricing plan does not include the accounting module.
  • The name must be unique among the organization’s money accounts; it is trimmed before the check.
  • The type must be bank or mobile_money.
  • A provider and a provider reference are accepted only when the type is mobile_money; they are refused on a bank account.
  • The list of companies must be present (it may be empty); each company must be active and belong to the organization, may appear only once, and must be allowed to receive or send payments (at least one of supports_incoming and supports_outgoing must be true).
  • The call is refused if the accounting account for the money account could not be provisioned; nothing is saved in that case.
What else happens
  • Creates the money account and links the listed companies with their incoming and outgoing permissions.
  • Creates a matching child account in the organization’s books (accounting_account_id), under the bank or mobile money part of the chart of accounts depending on the type. For a mobile money account with a provider, the account name is prefixed with the provider label.
  • Opens the organization’s books first when they are not yet provisioned.
Part of Money accounts and payment methods.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

response
enum<string>
default:none

Response mode. Default none; none answers 204 No Content.

Available options:
none,
resource
fields
string

Comma-separated JSON keys of the root resource (id is always rendered). Available: id, name, type, accepted_payment_methods, is_active, provider, provider_reference, supports_incoming, supports_outgoing, organization_id, accounting_account_id, created_at, updated_at.

include
string

Comma-separated include paths, each optionally followed by its fields in parentheses: units(id,sku),units.uomUnit(id,name). Max depth 6, max 40 paths. Available: companies.

Body

application/json
name
string
required

Name of the account, at most 255 characters and unique among the organization's money accounts; surrounding spaces are removed. Required on creation.

Maximum string length: 255
type
enum<string>
required

Kind of account: bank or mobile_money. Required on creation; ignored on update, because the type cannot change.

Available options:
bank,
mobile_money
is_active
boolean
required

Whether the account is switched on. Required on creation.

companies
object[]
required

The companies allowed to use the account. Required on creation (an empty list is allowed). On update, when sent, it replaces the whole list of linked companies.

provider
enum<string> | null

Mobile money provider (orange_money, mtn_momo, moov_money, wave, cinetpay, paydunya, fedapay or other). Optional. Accepted only for a mobile money account and refused for a bank account. It is set at creation; on update it is ignored for a mobile money account.

Available options:
orange_money,
mtn_momo,
moov_money,
wave,
cinetpay,
paydunya,
fedapay,
other
provider_reference
string | null

Reference of the account at the mobile money provider, at most 255 characters. Accepted only for a mobile money account. Optional.

Maximum string length: 255

Response

Resource (only with response=resource).

id

Identifier of the money account (27-character KSUID string).

name

Name of the account, unique within the organization.

type

Kind of account: bank or mobile_money.

accepted_payment_methods
any[]

Payment methods this account accepts, derived from its type (bank: bank_transfer, cheque, credit_card; mobile_money: mobile_money) and limited to the methods the organization's pricing plan allows.

is_active
boolean

Whether the account is switched on.

provider

Mobile money provider (orange_money, mtn_momo, moov_money, wave, cinetpay, paydunya, fedapay or other). Only organization sessions see it; null for a bank account.

provider_reference

Free reference of the account at the provider, for mobile money accounts. Only organization sessions see it.

supports_incoming
boolean

Whether the current company may receive payments through the account. Only returned in the company space.

supports_outgoing
boolean

Whether the current company may send payments through the account. Only returned in the company space.

organization_id

Identifier of the organization the record belongs to.

accounting_account_id

Identifier of the matching account in the organization's books, created with the money account. Only organization sessions see it.

companies
array

Companies linked to the account with their directions. Returned only to organization sessions and only when requested with include=companies.

created_at

Date and time the record was created (ISO 8601, UTC).

updated_at

Date and time the record was last changed (ISO 8601, UTC).