Push Payable To BILL
POST/api/billcom/push/:payableType/:payableId
Push a SKU.io bill or purchase invoice to BILL.com as a bill. payableType is bill or purchase-invoice; integration_instance_id (body) selects the BILL.com instance.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Authentication: Requires Bearer token and the integrations.sync permission.
Behavior: if the payable is already linked to a BILL bill the call is a no-op and returns that bill. If BILL already holds a bill with the same invoice number for the vendor, it is linked instead of creating a duplicate. The BILL bill is created for the payable's open balance: when SKU.io already has payments recorded against it, only the amount still owed is sent (the line description notes how much was already paid), so BILL can never pay more than is left. Use Get Payable BILL Status first to check whether a push will succeed.
Errors (422): the payable is already fully paid in SKU.io, the purchase invoice is not approved for payment, the supplier is not matched to a BILL vendor, or BILL rejected the bill — in which case message reads BILL returned an error: followed by BILL's own message.
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.