Katixo/API DocumentationBeta

Recurring Invoices

Set up recurring billing schedules to automatically generate invoices at regular intervals. Useful for subscriptions, retainers, rent, and any repeating charges. Requires the RECURRING_BILLING module.

Endpoints

GET/api/v1/recurring-invoices
GET/api/v1/recurring-invoices/{id}
POST/api/v1/recurring-invoices
PUT/api/v1/recurring-invoices/{id}
POST/api/v1/recurring-invoices/{id}/stop
POST/api/v1/recurring-invoices/{id}/resume

Create a recurring invoice

POST/api/v1/recurring-invoices
curl -X POST https://api.katixo.com/api/v1/recurring-invoices \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
  -H "Content-Type: application/json" \
  -d '{
    "contactId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "frequency": "MONTHLY",
    "startDate": "2026-07-01",
    "endDate": "2027-06-30",
    "autoSend": true,
    "lines": [
      {
        "description": "Monthly AMC — POS System",
        "quantity": 1,
        "unitPrice": 5000.00,
        "gstRate": 18.00
      }
    ],
    "notes": "Annual Maintenance Contract — POS hardware and software"
  }'

Request body

FieldTypeRequiredDescription
contactIdUUIDYesCustomer contact to bill.
frequencystringYesBilling frequency: WEEKLY, MONTHLY, QUARTERLY, YEARLY.
startDatedateYesDate of the first invoice.
linesarrayYesLine items (same structure as invoice lines).
endDatedateNoWhen to stop generating invoices. Runs indefinitely if omitted.
autoSendbooleanNoAutomatically send generated invoices. Default: false.

Stop & resume

POST/api/v1/recurring-invoices/{id}/stop
POST/api/v1/recurring-invoices/{id}/resume

Pause a recurring invoice schedule without deleting it. No new invoices are generated while stopped. Resume to continue from where it left off.

The RecurringInvoice object

{
  "id": "f6a7b8c9-d0e1-2345-6789-abcdef012345",
  "contactId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "customerName": "Sharma General Store",
  "frequency": "MONTHLY",
  "startDate": "2026-07-01",
  "endDate": "2027-06-30",
  "nextInvoiceDate": "2026-08-01",
  "status": "ACTIVE",
  "autoSend": true,
  "invoicesGenerated": 1,
  "totalBilled": 5900.00,
  "lines": [
    {
      "description": "Monthly AMC — POS System",
      "quantity": 1,
      "unitPrice": 5000.00,
      "gstRate": 18.00,
      "lineTotal": 5900.00
    }
  ],
  "notes": "Annual Maintenance Contract — POS hardware and software",
  "createdAt": "2026-06-15T10:00:00Z"
}