Resolve Receipt Discrepancy
POST/api/tiktok-shop/:integrationInstance/fbt/inbound-orders/:order/reconciliation/resolve
Resolves one receipt discrepancy on this inbound order and posts its financial effect.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Resolution is idempotent per discrepancy and taken under a row lock: a second resolve on the same discrepancy returns 409 rather than posting a second adjustment.
Which resolutions are legal depends on the inbound order's source — read allowed_resolutions from Get Inbound Order Reconciliation first. A supplier-sourced shipment has no source stock to reverse, so returned_to_source is refused for it.
A discrepancy that belongs to a different inbound order returns 404.
Permission: integrations.update.
Body
discrepancy_id— required integer. Must be an existing discrepancy on this inbound order.resolution— required string. One of write_off, returned_to_source, supplier_credit, channel_corrected, no_action.note— optional, nullable string, max 2000 characters.
Request
Responses
- 200
- 401
- 403
- 404
- 409
- 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.
Conflict
Response Headers
Unprocessable Content
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.