Skip to main content
POST
Mark a custom invoice as paid
This endpoint requires authentication. Include your Bearer token in the Authorization header.

Description

POST /billing/invoices/custom//mark-paid Rejects Stripe-synced invoices (stripeInvoiceId set) and invoices already marked paid. Authorization:
  • Required role: owner only

Code Examples

Authorizations

Authorization
string
header
required

JWT Authorization header using the Bearer scheme. Format: "Bearer {token}"

Path Parameters

id
string<uuid>
required

Body

application/json

Optional payment details attached to the paid invoice's metadata.

paymentMethod
string
Example:

"bank_transfer"

paymentReference
string
Example:

"TXN-2026-0714-001"

Response

Invoice marked as paid

status
string
Example:

"success"

message
string
data
object

Locally-stored invoice row (TenantInvoice model) — custom/manual invoices only; Stripe-hosted invoices are fetched live and merged in GET /billing/invoices.