Authorize Vendor Credit
POST/api/vendor-credits/:vendor_credit/authorize
Authorize a draft vendor credit, transitioning it to open. Authorization posts the credit's accounting transaction, records the FIFO cost layers consumed by the credited quantities, and creates planned inventory allocations for lines marked for restock.
accounting:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Every line that moved no goods — a rebate, a service charge, or any other non-product line that does not settle a vendor return — must carry a nominal code before the credit can be authorized, because nothing else on the line implies which account it belongs in. Product lines and vendor return settlements take their account from the goods they moved.
Returns 422 when the credit is not in a state that can be authorized, or when a non-product line is still missing its nominal code.
Planned allocations are checked again at authorization, because a bill may have been paid since the allocation was planned, or the credit may plan several amounts for the same bill. If the total this credit plans for a bill is more than the bill still owes (its total with tax, less payments, deposits and credits already applied), authorization is refused with 422 under errors.credit_status, naming the bill and the amounts. Lower or remove the planned allocation, then authorize again — a vendor credit can't take a bill below zero.
Lines whose cost_impact is reduce_cost push the credit back into the cost of the credited purchase order line's receipt layers when the credit is authorized — quantity is untouched; units still in stock get cheaper and units already sold get a cost-of-goods true-up. Depending on the cost-change policy that change applies immediately or waits in the Cost Change Inbox. The response carries cost_impact_summary (status, the cost-basis / stock-value / cost-of-goods split, and whether the change is held) and cost_change_set_id (the cost change created, when one was) so the result can be shown without a second call. A reduce_cost line must be linked to a purchase order line, and is refused when the credit is larger than the remaining cost of the goods.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.