Invoices

Link or unlink what an invoice bills

Attach an existing invoice to the pay application, payment-schedule installment and/or bid it bills, or detach it (send null). Allowed in every status except voided, so an imported, manual or already-paid invoice can be linked after the fact; only the link columns and the derived sourceType change — never lines, totals or status — and nothing is pushed to QuickBooks. The pay app must be on the invoice's own project, live (submitted, sent, approved or paid) and not already claimed by another live invoice; the installment must be on the project's bid's payment term and not billed by another live invoice. An invoice bills a pay app or an installment, not both. The response carries the project's billed figures before and after; dryRun: true returns them without saving.

post/invoices/{id}/billing-source

Request

  • Base URL: https://app.buildworkpro.com/api/v1
  • URL: https://app.buildworkpro.com/api/v1/invoices/{id}/billing-source
  • Auth: HTTP bearer

Path parameters

idinteger required

Headers

Idempotency-Keystring uuid

Idempotent retry key for mutating operations. The first request with a given key executes normally and BuildWorkPro caches the response. Replaying the same key with the same request body (method + path + JSON body, SHA-256 hashed) returns the cached response without re-executing the mutation. Replaying with a DIFFERENT body returns 409 idempotency_key_reused. The cache TTL is 24 hours; after expiry the key is treated as a new operation. Keys are tenant-scoped. Recommended: a fresh UUID v4 per logical operation.

Request body

sourcePayAppIdinteger nullable

Pay application this invoice bills (same project, submitted/sent/approved/paid, not claimed by another live invoice). null unlinks.

paymentTermInstallmentIdinteger nullable

Payment-schedule installment this invoice bills (on the project's bid's payment term, not billed by another live invoice). null unlinks.

sourceBidIdinteger nullable

The project's bid, printed on the invoice PDF. null unlinks.

dryRunboolean

Validate and return the billed-figure preview without saving.

Response

Linked

Changes

No recorded changes to this operation across all 1 revision of this API.