Invoices & Estimates
Invoices bill a contact for payment; estimates quote work that a contact can accept and turn into an invoice. Both live in your SMBcrm account and are managed through the same API.
Base URL: https://services.smbcrm.com · Version header: v3 ·
Scopes: invoices.readonly, invoices.write, invoices/estimate.readonly, invoices/estimate.write. See Scopes.
Invoices
Section titled “Invoices”altId, altType, limit, and offset are required. Filter with status, contactId, and startAt/endAt.
curl "https://services.smbcrm.com/invoices/?altId=<location_id>&altType=location&limit=20&offset=0" \ -H "Authorization: Bearer <token>" \ -H "Version: v3"{ "invoices": [ { "_id": "<invoice_id>", "status": "sent", "name": "July retainer", "invoiceNumber": 1042, "currency": "USD", "total": 500, "amountDue": 500, "issueDate": "2026-07-08", "dueDate": "2026-07-22" } ], "total": 1}Invoice status is one of draft, sent, payment_processing, paid, void, or partially_paid.
curl "https://services.smbcrm.com/invoices/<invoice_id>?altId=<location_id>&altType=location" \ -H "Authorization: Bearer <token>" \ -H "Version: v3"curl -X POST https://services.smbcrm.com/invoices/ \ -H "Authorization: Bearer <token>" \ -H "Version: v3" \ -H "Content-Type: application/json" \ -d '{ "altId": "<location_id>", "altType": "location", "name": "July retainer", "currency": "USD", "contactDetails": { "id": "<contact_id>", "name": "Jordan Lee", "email": "[email protected]" }, "invoiceItems": [ { "name": "Consulting", "currency": "USD", "amount": 500, "qty": 1 } ], "issueDate": "2026-07-08", "dueDate": "2026-07-22" }'action selects how it’s delivered: email, sms, sms_and_email, or send_manually.
curl -X POST https://services.smbcrm.com/invoices/<invoice_id>/send \ -H "Authorization: Bearer <token>" \ -H "Version: v3" \ -H "Content-Type: application/json" \ -d '{ "altId": "<location_id>", "altType": "location", "userId": "<user_id>", "action": "email", "liveMode": true }'Estimates
Section titled “Estimates”altId, altType, limit, and offset are required. Filter with status (all, draft, sent, accepted, declined, invoiced, viewed) and contactId.
curl "https://services.smbcrm.com/invoices/estimate/list?altId=<location_id>&altType=location&limit=20&offset=0" \ -H "Authorization: Bearer <token>" \ -H "Version: v3"{ "estimates": [ { "_id": "<estimate_id>", "name": "Website build", "total": 4000, "currency": "USD" } ], "total": 1}curl -X POST https://services.smbcrm.com/invoices/estimate \ -H "Authorization: Bearer <token>" \ -H "Version: v3" \ -H "Content-Type: application/json" \ -d '{ "altId": "<location_id>", "altType": "location", "name": "Website build", "currency": "USD", "contactDetails": { "id": "<contact_id>", "name": "Jordan Lee", "phoneNo": "+15125550142", "email": "[email protected]" }, "items": [ { "name": "Design & build", "currency": "USD", "amount": 4000, "qty": 1 } ], "discount": { "value": 0, "type": "percentage" } }'Related
Section titled “Related”- Payments overview — all payment resources.
- Products & Prices — the catalog you bill from.
- Contacts — the customer an invoice bills.
