POST
Create a company
Organization space User accounts only For: Administrator Conditions
  • Only the owner of the organization (the member recorded as its owner) can create a company.
  • name, type, country_code, fiscal_status, currency_code and currency_exponent are required.
  • The name must be unique among the companies of the organization (compared in lowercase).
  • type is one of mepc, gemsd, imed, proj; country_code must be a configured country and fiscal_status one of that country’s fiscal statuses.
  • currency_code is trimmed, converted to uppercase and must be 3 characters; currency_exponent is an integer from 0 to 6.
  • The logo must be an image of type jpeg, png, jpg, gif or svg, at most 2048 KB.
What else happens
  • The new company is created active, with activated_at set to now and the creator as owner_id.
  • The organization’s tax profile for the company’s country and fiscal status is created if missing.
  • Default settings are created: the given order currency, time zone Africa/Porto-Novo, rounding 0, default tax value 18 and orders_count 0. With a monthly order limit of 0, order creation is refused until that limit is changed, and no action of this API changes it.
  • The creator receives the administrator role and profile of the company and becomes one of its members.
  • The built-in capability roles created for the company (names starting with manage) are attached to it.
  • The company’s accounting books are opened (chart, journals, role mappings, fee policies and a fiscal year for the current calendar year) in the order currency, and a cash account named after the company is created and linked as its cash_account_id.
Part of Run the organization and its companies.

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, organization_id, name, tax_registration_number, business_registration_number, address, city, country, logo_url, type, currency_code, currency_exponent, is_active, 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: .

Response

Resource (only with response=resource).

id

Identifier of the company (27-character KSUID string).

organization_id

Identifier of the organization the record belongs to.

name

Name of the company, stored in lowercase.

tax_registration_number

Tax registration number of the company; null when not set.

business_registration_number

Business registration number of the company; null when not set.

address

Street address of the company; null when not set.

city

City of the company; null when not set.

country

Country of the company as free text; null when not set.

logo_url

Public URL of the stored logo image, or null when no logo is set.

type

Type of the company: mepc (small and medium-sized business), gemsd (large and medium-sized distribution store), imed (importers and distributors) or proj (projects).

currency_code

3-character order currency code of the company, read from its settings; null when the company has no settings.

currency_exponent
integer

Number of decimal places of the currency (0 for XOF). An amount in minor units divided by 10 to this power gives the amount in the currency.

is_active
boolean

Whether the company is active. An organization turns it on or off with the activate and deactivate actions.

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).