Skip to main content
POST
Record an offline payment

Body Parameters

Example Request

Response

Returns the recorded offline payment object.
When an invoice_id is provided and the payment amount matches the invoice balance, the invoice is automatically marked as paid. Partial payments update the invoice balance without closing it.

Errors

See Errors for the error envelope and the full code taxonomy.

Authorizations

Authorization
string
header
required

Tenant API key obtained from POST /auth/register or POST /v1/developer/keys.

Body

application/json
customer_id
string<uuid>
required
payment_type
enum<string>
required
Available options:
bank_transfer,
cash,
cheque
amount
integer<int64>
required

Amount in the lowest currency unit.

invoice_id
string<uuid>
tds_amount
integer<int64>
default:0

Tax deducted at source by the customer (India B2B), in the lowest currency unit. Requires invoice_id; counts toward settling the invoice and is booked to TDS Receivable in the ledger, but is not part of the cash received. The deduction cannot exceed the invoice's outstanding balance.

Required range: x >= 0
currency
string
default:INR
reference_number
string
notes
string
recorded_by
string

Response

Payment recorded.

id
string<uuid>
tenant_id
string<uuid>
customer_id
string<uuid>
invoice_id
string<uuid> | null
payment_type
enum<string>
Available options:
bank_transfer,
cash,
cheque
amount
integer<int64>
tds_amount
integer<int64>

Tax deducted at source by the customer on this receipt.

currency
string
reference_number
string
notes
string
recorded_by
string
recorded_at
string<date-time>