Appearance
Products And Stock
Register each product with POST /products. Store its Bizflow API id alongside your ERP identifier. Your externalReference must be unique for products in that tenant and environment.
Poll GET /products/{id} until REGISTERED. Product records are shared with the account's product catalog, but API registration itself does not create an accounting document. Registration errors become ACTION_REQUIRED; correct the account's configuration or contact Bizflow support with the record ID.
Use GET /reference-data?type=TAX_TYPE for active account tax categories, UNIT_QUANTITY and PACKAGING_UNIT for units, and CREDIT_NOTE_REASON for credits. Classification codes must be valid for the product. Do not assume every account supports every category.
Set a balance
Goods may use the account's manual stock balance. Submit an absolute target and the last observed Bizflow balance:
json
{
"externalReference": "COUNT-001",
"productId": "PRODUCT_ID",
"expectedBalance": "0.000000",
"balance": "20.000000"
}Send this to POST /stock-balances with a new Idempotency-Key. A changed balance returns 409 STOCK_BALANCE_CHANGED; reload the product and review the count before retrying with a new command. For a newly created goods item, the initial manual balance is zero.
This is not an inventory-transfer endpoint. Linked inventory is managed by the account's inventory workflow. Services do not accept stock balances. Poll GET /stock-balances/{id} until the adjustment is complete before selling goods.
Verified sales and credits trigger stock read-back. GET /products/{id} reports the current balance and sync state. A requested count is not proof that external stock has synchronized.