Skip to Content

Invoices

Every recharge generates a Zoho Billing invoice. We cache a thin row in rcs_invoices so the list endpoint is fast; the PDF is streamed from Zoho on demand.

GET /api/v1/rcs/invoices POST /api/v1/rcs/invoices/sync GET /api/v1/rcs/invoices/{id}/download

List (cached)

GET /api/v1/rcs/invoices
{ "success": true, "invoices": [ { "invoice_id": "1234567890", "invoice_number": "INV-001234", "status": "paid", "total": 5000.00, "balance": 0.00, "invoice_date": "2026-05-27", "due_date": "2026-05-27", "customer_id": "60005…", "customer_name": "Acme Corp", "currency_code": "INR", "currency_symbol": "₹", "synced_at": "2026-05-27T08:31:24Z" } ] }

Force re-sync

POST /api/v1/rcs/invoices/sync

Pulls every invoice for your Zoho customer record and upserts. Returns the freshly-cached list so a UI can drop the GET → POST → GET dance and just take the response of /sync directly.

Download PDF

GET /api/v1/rcs/invoices/{id}/download

Streams application/pdf with Content-Disposition: attachment and the invoice number as the filename. Returns 404 if the invoice doesn’t belong to your account (we check against the local cache so this is fast).