Save accounting policy and tax UI settings
Defaults to ADMIN/ACCOUNTANT. All four fields and expectedVersion are required; VAT is a percentage from 0 to 100 with at most two decimal places. Stale writes return 409; reload first. Does not amend posted entries, effective-dated histories or determine statutory rates. Settings and actor audit commit atomically. Company permission: `saveCompanyAccountingSettings`. Defaults: ADMIN, ACCOUNTANT. Current company role permissions and active membership are checked on every request; signed legacy role claims alone do not authorize this operation.
bearerAuthAuthorizationBearer <token>Obtained from POST /api/v1/auth/login, on the tenant's own subdomain. Presenting it on another tenant's subdomain is a 403.
legalEntityId*stringuuidapplication/json- body
depreciationMethod*"STRAIGHT_LINE""STRAIGHT_LINE"expectedVersion*integerint640 <= valueinventoryValuationMethod*"FIFO""FIFO"taxRegime*string"GENERAL""SIMPLIFIED"vatRate*numberPercentage, not fraction; configured by user, not a statutory tax rate
0 <= value <= 100Settings saved with new version
application/json- response
UI configuration, not an effective-dated tax/policy record. No statutory rate is inferred.
depreciationMethod?"STRAIGHT_LINE""STRAIGHT_LINE"inventoryValuationMethod?"FIFO""FIFO"legalEntityId?stringuuidtaxRegime?string"GENERAL""SIMPLIFIED"vatRate?numberversion?integer0 and null tax fields until first save
int64curl -X PUT 'https://api.monetaryai.uz/api/v1/accounting-settings/497f6eca-6276-4993-bfeb-53cbbbba6f08' \ -H 'Content-Type: application/json' \ -d '{ "depreciationMethod": "STRAIGHT_LINE", "expectedVersion": 0, "inventoryValuationMethod": "FIFO", "taxRegime": "GENERAL", "vatRate": 0}'{ "depreciationMethod": "STRAIGHT_LINE", "inventoryValuationMethod": "FIFO", "legalEntityId": "41192155-f2be-4dd0-9ea4-e32ad94824f7", "taxRegime": "GENERAL", "vatRate": 0, "version": 0}Add a subaccount POST
Defaults to ADMIN/ACCOUNTANT. Code is unique within this company and parent; hierarchy is exactly one level. Parent must be enabled. A global parent is materialized as company metadata on first child creation; reload its version before configuring. No global ledger changes. Company permission: `createCompanySubaccount`. Defaults: ADMIN, ACCOUNTANT. Current company role permissions and active membership are checked on every request; signed legacy role claims alone do not authorize this operation.
Configure account name and enabled status PUT
Defaults to ADMIN/ACCOUNTANT. Send the last-read version as expectedVersion (0 for an unconfigured global account). Creates a company override on first save without modifying global metadata. Disabling is a UI setting, not a ledger posting prohibition. Company permission: `configureCompanyAccount`. Defaults: ADMIN, ACCOUNTANT. Current company role permissions and active membership are checked on every request; signed legacy role claims alone do not authorize this operation.