Overview
Sage Business Cloud Accounting is a cloud SMB accounting platform with strong presence in the UK, Ireland, South Africa, and Spain. The Automize Sage connector covers core accounting operations – invoices, contacts, payments, products, journals, and reports.
- Regions: Sage has regional sub-domains (UK: api.accounting.sage.com, ZA: api.accounting.sage.com region-routed, IE/ES via the same gateway). The connector handles region routing – pick your country when you authorise.
- Plans: Any Sage Business Cloud Accounting plan with API access. Some endpoints (Payroll integration, Advanced reports) need higher plans.
Setting up the connection
Auth type: OAuth 2.0 (Authorization Code).
- Sign in at developer.sage.com → create an app.
- Set the Callback URL to the one shown in the Automize Sage connector dialog.
- Copy the Client ID and Client Secret.
- In Automize, open Settings → Connectors → Sage → Add connection. Paste credentials, click Connect with Sage, sign in, pick the business to connect.
Scopes required:
full_access
Find your credentials at https://developer.sage.com/accounting/.
Rate limits
Sage enforces ~600 requests per minute per business per app. The connector retries 429 with exponential backoff. Bulk reads should page with items_per_page=200 (the max).
Data model
A Business is the tenant – one Sage business = one Automize connection.
Contact (Customer or Vendor) ─┬─ Sales Invoices ─── Sales Receipts
├─ Purchase Invoices ─── Purchase Payments
└─ Credit Notes
Product / Service
Ledger Account
Journal EntryAvailable operations
20 operations available. Click any row to jump to its detail.
| Operation | Category | What it does |
|---|---|---|
| Create contact | General | Create a new contact in Sage. |
| Create contact payment | General | Record a contact payment in Sage. |
| Create product | General | Create a new product or service in Sage. |
| Create purchase invoice | General | Create a new purchase invoice in Sage. |
| Create sales invoice | General | Create a new sales invoice in Sage. |
| Get contact | General | Get a contact by ID from Sage. |
| Get product | General | Get a product by ID from Sage. |
| Get purchase invoice | General | Get a purchase invoice by ID from Sage. |
| Get sales invoice | General | Get a sales invoice by ID from Sage. |
| List bank accounts | General | List bank accounts in Sage. |
| List contact payments | General | List contact payments in Sage. |
| List contacts | General | List all contacts in Sage. |
| List ledger entries | General | List general ledger entries in Sage. |
| List products | General | List products and services in Sage. |
| List purchase invoices | General | List purchase invoices in Sage. |
| List sales invoices | General | List sales invoices in Sage. |
| List services | General | List services in Sage. |
| List tax rates | General | List tax rates in Sage. |
| Update contact | General | Update an existing contact in Sage. |
| Update sales invoice | General | Update an existing sales invoice in Sage. |
Operations
Create contact
Create a new contact in Sage.
| Parameter | Required | Type | Description |
|---|---|---|---|
Type (CUSTOMER/VENDOR) contact_type_id | Yes | text | |
Name name | Yes | text | |
Email email | No | text | |
Telephone telephone | No | text |
Tips
- name + contact_type (CUSTOMER, VENDOR, BOTH). Pass main_address for billing details.
- Sage warns on potential duplicates but doesn't block – check existing contacts via List first.
Create contact payment
Record a contact payment in Sage.
No input parameters.
Create product
Create a new product or service in Sage.
No input parameters.
Tips
- name + sales_ledger_account_id + sales_unit_price. Set track_stock=true for inventory items.
Create purchase invoice
Create a new purchase invoice in Sage.
No input parameters.
Tips
- contact_id is the supplier. invoice_lines need ledger_account_id pointing at expense accounts.
Create sales invoice
Create a new sales invoice in Sage.
| Parameter | Required | Type | Description |
|---|---|---|---|
Contact ID contact_id | Yes | text | |
Date date | Yes | text | |
Line items (JSON) invoice_lines | Yes | textarea |
Tips
- contact_id + date + due_date + invoice_lines[]. Each line: ledger_account_id + description + quantity + unit_price.
- Set status=OUTSTANDING to finalise immediately; default DRAFT.
Get contact
Get a contact by ID from Sage.
| Parameter | Required | Type | Description |
|---|---|---|---|
Contact ID contact_id | Yes | text |
Tips
- Returns full contact: name, references, addresses, default_sales_ledger_account_id, balance.
Get product
Get a product by ID from Sage.
| Parameter | Required | Type | Description |
|---|---|---|---|
Product ID productId | Yes | text | |
Product Id product_id | Yes | text |
Get purchase invoice
Get a purchase invoice by ID from Sage.
| Parameter | Required | Type | Description |
|---|---|---|---|
Invoice ID invoiceId | Yes | text | |
Invoice Id invoice_id | Yes | text |
Get sales invoice
Get a sales invoice by ID from Sage.
| Parameter | Required | Type | Description |
|---|---|---|---|
Invoice ID invoice_id | Yes | text |
Tips
- Returns full invoice with line items + payments + attachments references.
List bank accounts
List bank accounts in Sage.
No input parameters.
List contact payments
List contact payments in Sage.
No input parameters.
List contacts
List all contacts in Sage.
No input parameters.
Tips
- Filter by contact_type=CUSTOMER or VENDOR. search=<name> for fuzzy lookup.
List ledger entries
List general ledger entries in Sage.
No input parameters.
List products
List products and services in Sage.
No input parameters.
Tips
- Products & Services. Filter by type (INVENTORY, NON_INVENTORY, SERVICE).
List purchase invoices
List purchase invoices in Sage.
No input parameters.
Tips
- Bills you owe vendors. Same filter contract as sales invoices.
List sales invoices
List sales invoices in Sage.
No input parameters.
Tips
- Filter via from_date / to_date and status (DRAFT, OUTSTANDING, PART_PAID, PAID, VOID).
- Paginate via items_per_page (max 200) + page.
List services
List services in Sage.
No input parameters.
List tax rates
List tax rates in Sage.
No input parameters.
Tips
- Tax rates for the business (e.g. VAT 20%, ZAR VAT 15%). Use tax_rate_id on invoice lines.
Update contact
Update an existing contact in Sage.
| Parameter | Required | Type | Description |
|---|---|---|---|
Contact ID contactId | Yes | text | |
Contact Id contact_id | Yes | text |
Tips
- PATCH-style. Send only fields you want to change.
Update sales invoice
Update an existing sales invoice in Sage.
| Parameter | Required | Type | Description |
|---|---|---|---|
Invoice ID invoiceId | Yes | text | |
Invoice Id invoice_id | Yes | text |
FAQ
- Why is my invoice posting in DRAFT – I want it sent.
- Default status is DRAFT. Set status=OUTSTANDING when creating to finalise. Sage Email Invoice (not exposed here) actually emails the customer.
- Multiple businesses – one connection?
- Each Sage Business = one Automize Sage connection. The OAuth flow asks which business to connect.
- Why can't I edit a posted invoice?
- Invoices in OUTSTANDING/PART_PAID/PAID status are locked. Use Credit Notes to amend, or void and re-create if the financial period is still open.
- Sage UK vs Sage ZA – same connector?
- Yes. Region is detected from the authenticated business. The same connector works for any Sage Business Cloud Accounting region.