Skip to main content
PATCH
/
company
Update company accounting configuration
curl --request PATCH \
  --url https://api.breezing.io/v1/company \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Acme Corp",
  "accountingMethod": "fifo",
  "balanceSheetSetup": "wallet-token",
  "accountingIsPerWallet": true,
  "isControlAccount": true,
  "isCompact": true,
  "xeroSyncJournalsAsPosted": true,
  "feeAccount": "33",
  "netGainAccount": "80",
  "netLossAccount": "80"
}
'
{
  "success": true,
  "data": {
    "updated": 123
  }
}

Query Parameters

orgId
string
required

Organization ID. Use GET /v1/companies to discover available org/company pairs.

Example:

"1"

companyId
string
required

Company ID. Use GET /v1/companies to discover available companies and their access levels.

Example:

"1"

Body

application/json
name
string

Company display name. Shown throughout Breezing and on exported reports/journals.

Required string length: 1 - 256
Example:

"Acme Corp"

accountingMethod
enum<string>

Cost-basis method used to compute realized net gain/loss when crypto is disposed: • "fifo" = First In, First Out: the earliest-acquired units are treated as sold first. • "average" = Weighted Average Cost (WAC): cost basis is the running average cost of all units held. Changing the method does NOT retroactively rewrite past figures; run an NGL recompute (POST /ngl/calculate) afterward to apply it.

Available options:
average,
fifo
Example:

"fifo"

balanceSheetSetup
enum<string>

Determines how crypto holdings are mapped to balance-sheet (asset) GL accounts: • "token" = Token Based: one GL account per token, aggregated across all wallets (e.g. all ETH rolls into "Crypto Assets - ETH"). Token→account mappings are managed via PATCH /assets/{id}. • "wallet" = Wallet Based: one GL account per custody location (wallet). Asset accounts are assigned per-transaction, typically automated with Rules. • "wallet-token" = Wallet-Token Based: one GL account per wallet+token pair (e.g. "Treasury Wallet - ETH"). Assigned per-transaction, typically with multi-condition Rules. "wallet" and "wallet-token" both require Rules to automate asset-account assignment.

Available options:
token,
wallet,
wallet-token
Example:

"wallet-token"

accountingIsPerWallet
boolean

Per-Wallet cost basis. When true, realized net gain/loss is computed separately per wallet (each wallet keeps its own cost-basis pool). When false, a token's holdings are pooled across all wallets for cost-basis purposes. Affects NGL only; recompute NGL (POST /ngl/calculate) after changing.

isControlAccount
boolean

Use Control Accounts. When true, internal transfers and exchange trades post to the assigned control (clearing) accounts instead of the asset accounts. When false, they post directly to the asset accounts.

isCompact
boolean

TomDeFi Mode. When true, advanced journal entries are generated in a compact, consolidated format (fewer lines). When false, journals use the standard expanded format.

xeroSyncJournalsAsPosted
boolean

Xero journal posting status. When true, manual journals synced to Xero are pushed as POSTED (final). When false (default), they are created as DRAFT for review in Xero before posting. Affects Xero sync (POST /xero/sync) only; has no effect on QuickBooks or Bexio.

feeAccount
string | null

Default GL account for on-chain gas / transaction fees. Provide an account CODE from the chart of accounts (call GET /company to list codes); the server resolves the code to its name and type automatically and stores the full mapping. Pass null to clear the mapping.

Maximum string length: 127
Example:

"33"

netGainAccount
string | null

Default GL account where realized NET GAINS are booked. Provide an account CODE from the chart of accounts; the server resolves it to name and type. Pass null to clear the mapping.

Maximum string length: 127
Example:

"80"

netLossAccount
string | null

Default GL account where realized NET LOSSES are booked. Provide an account CODE from the chart of accounts; the server resolves it to name and type. Often the same account as netGainAccount. Pass null to clear the mapping.

Maximum string length: 127
Example:

"80"

Response

Company updated successfully

success
enum<boolean>
required
Available options:
true
data
object
required
Last modified on June 4, 2026