Skip to main content
Use the @bijection/connectors/sage-accounting entrypoint to declare Sage Business Cloud Accounting resources.

Availability

This page describes the pinned source package. Published availability is unestablished for this artifact. Source build and package availability.

Resources and modes

Declare a resource in application code, then bind deployment-specific settings and credentials. See typed resources, connections and source inspection.

Sales invoices

pull: updated_or_created_since pages, VOID kept present, idempotency_id creates

The following example matches configuration standard.
The function references identify application policy queries. Implement those policies in your application; the references alone grant no authority.

Configuration: standard

Case: sage-accounting/salesInvoices/pull/standard. Connection and resource configuration are declared by this exact case. Credential kind: sage-accounting. Keep credential material in the private credential inventory.
Native admission analysis is available for this exact declaration. Collection: salesInvoices
Commands
Recorded checks Hosted qualification: unestablished for this catalog configuration. Installed connections report their own identity, authority and current status.

Configuration: readOnly

Case: sage-accounting/salesInvoices/pull/readOnly. Connection and resource configuration are declared by this exact case. Credential kind: sage-accounting. Keep credential material in the private credential inventory.
Native admission analysis is available for this exact declaration. Collection: salesInvoices
Recorded checks Hosted qualification: unestablished for this catalog configuration. Installed connections report their own identity, authority and current status.

Contacts

pull: updated_or_created_since pages, idempotency_id updates

The following example matches configuration standard.
The function references identify application policy queries. Implement those policies in your application; the references alone grant no authority.

Configuration: standard

Case: sage-accounting/contacts/pull/standard. Connection and resource configuration are declared by this exact case. Credential kind: sage-accounting. Keep credential material in the private credential inventory.
Native admission analysis is available for this exact declaration. Collection: contacts
Commands
Recorded checks Hosted qualification: unestablished for this catalog configuration. Installed connections report their own identity, authority and current status.

Provider guidance

Compiled declaration examples and configuration details are published in the connector reference. The connection holds a sage-accounting credential (sageAccounting.credential), an OAuth bearer token for https://api.accounting.sage.com/v3.1. A token reaches every business its user belongs to; setup businessId selects one, and every request sends it as X-Business. Identity is the business id from GET /businesses/{businessId}. salesInvoices.pull reads sales_invoices (header fields and totals, no lines); contacts.pull reads contacts (customers and vendors, no balances). Both page with items_per_page and page, updated_at ascending, attributes=all. A pass ends only when $next is null: past the end Sage answers its last page again, so a response whose $page differs from the page asked for is refused. The first pass walks everything; each finished pass carries the latest updated_at it read (sync.carry) and the next sends updated_or_created_since (inclusive) five minutes before it. Every 96th pass walks everything again, because a record edited mid-pass shifts page offsets. The version is updated_at, opaque. Sage spells its envelope and links with $ ($items, $next, $path), which no value field may carry, so every JSON answer is retained as a projection of its declared root fields. Amounts are exact decimal text beside currency (currency.id): Sage’s string digits are kept, and a JSON number is accepted only where it is exact at two decimal places. No deletion is published. A voided invoice (status VOID) stays present. Sage lists removals under deleted_since, but that answer’s shape is not documented well enough to read; removed records stay published until that is settled. Writes carry idempotency_id (the operation id as 32 lowercase hex characters) inside the resource body, which Sage honours for seven days, so delivery is idempotent with a stated seven-day retention and a lost answer is settled by resending. salesInvoices create POSTs { sales_invoice } and is deduplicated, naming the created id. contacts update PUTs { contact } with the given fields. Sage has no lock or ETag, so both are unconditional: a competing writer inside Sage is not fenced. A 429 (no Retry-After) is a transient failure retried under the engine’s own back-off; no budget is declared. Sage has no webhooks. Pages default to 25 invoices and 50 contacts to stay inside the 512 KiB response bound. Nothing here has run against Sage Accounting or been qualified.

Provider references

Provider references and prerequisites are maintained in the connector guidance above. No separate provider-documentation review date is recorded.

Source and evidence

Canonical connector source, native analysis and check receipts. Connector artifact: 905888ea276a2a28e36981a79e8142b2547ea451c3e63162cb6915ad4a7d1305. The resource declaration examples above are compiled and compared with exact catalog declarations. Recorded checks apply only to their source, declaration and runtime identities. Configure a connection and inspect its status to establish deployment-specific readiness.