Sage integration

Cloud accounting (SA/UK): Invoices, Contacts, Products, Payments, Ledger, Reports

Help CentreConnectors

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).

  1. Sign in at developer.sage.com → create an app.
  2. Set the Callback URL to the one shown in the Automize Sage connector dialog.
  3. Copy the Client ID and Client Secret.
  4. 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 Entry

Available operations

20 operations available. Click any row to jump to its detail.

OperationCategoryWhat it does
Create contactGeneralCreate a new contact in Sage.
Create contact paymentGeneralRecord a contact payment in Sage.
Create productGeneralCreate a new product or service in Sage.
Create purchase invoiceGeneralCreate a new purchase invoice in Sage.
Create sales invoiceGeneralCreate a new sales invoice in Sage.
Get contactGeneralGet a contact by ID from Sage.
Get productGeneralGet a product by ID from Sage.
Get purchase invoiceGeneralGet a purchase invoice by ID from Sage.
Get sales invoiceGeneralGet a sales invoice by ID from Sage.
List bank accountsGeneralList bank accounts in Sage.
List contact paymentsGeneralList contact payments in Sage.
List contactsGeneralList all contacts in Sage.
List ledger entriesGeneralList general ledger entries in Sage.
List productsGeneralList products and services in Sage.
List purchase invoicesGeneralList purchase invoices in Sage.
List sales invoicesGeneralList sales invoices in Sage.
List servicesGeneralList services in Sage.
List tax ratesGeneralList tax rates in Sage.
Update contactGeneralUpdate an existing contact in Sage.
Update sales invoiceGeneralUpdate an existing sales invoice in Sage.

Operations

Create contact

Create a new contact in Sage.

ParameterRequiredTypeDescription
Type (CUSTOMER/VENDOR) contact_type_idYestext
Name nameYestext
Email emailNotext
Telephone telephoneNotext

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.

ParameterRequiredTypeDescription
Contact ID contact_idYestext
Date dateYestext
Line items (JSON) invoice_linesYestextarea

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.

ParameterRequiredTypeDescription
Contact ID contact_idYestext

Tips

  • Returns full contact: name, references, addresses, default_sales_ledger_account_id, balance.

Get product

Get a product by ID from Sage.

ParameterRequiredTypeDescription
Product ID productIdYestext
Product Id product_idYestext

Get purchase invoice

Get a purchase invoice by ID from Sage.

ParameterRequiredTypeDescription
Invoice ID invoiceIdYestext
Invoice Id invoice_idYestext

Get sales invoice

Get a sales invoice by ID from Sage.

ParameterRequiredTypeDescription
Invoice ID invoice_idYestext

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.

ParameterRequiredTypeDescription
Contact ID contactIdYestext
Contact Id contact_idYestext

Tips

  • PATCH-style. Send only fields you want to change.

Update sales invoice

Update an existing sales invoice in Sage.

ParameterRequiredTypeDescription
Invoice ID invoiceIdYestext
Invoice Id invoice_idYestext

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.

Related connectors

See it working on your own data

Everything documented here ships with the platform – try the document tools free, or go live in 7 days.