Sage 200
Read and write Sage 200 customers, suppliers, products, sales orders, quotes, purchase orders and nominal codes; read stock, ledger transactions and tax codes.
Connect Sage 200 Standard or Professional master data and order processing to commerce, CRM and procurement systems.
Source actions
23
Destination actions
13
Data types
14
Validation status
Implemented · fixture tested.
Implementation is checked against provider-shaped fixtures for every action, authentication failures, rate limits, pagination and duplicate safety. Provider sandbox and authorised account validation are recorded separately when credential-backed runs are completed.
What you can map
customers
- Create customerDestinationProvider duplicate protectionApproval before production
Creates a customer account with main address and contacts.
customers.create - Get customerSource
One customer by id.
customers.get - List customersSourceIncremental
Customers ordered by id, optionally updated since a time.
customers.list - Update customerDestinationProvider duplicate protectionApproval before production
Updates supplied customer fields with PUT.
customers.update
nominal codes
- Create nominal codeDestinationProvider duplicate protectionApproval before production
Creates a nominal (GL) account for a cost centre and department.
nominal_codes.create - Get nominal codeSource
One nominal code by id.
nominal_codes.get - List nominal codesSourceIncremental
Nominal codes ordered by id, optionally updated since a time.
nominal_codes.list - Update nominal codeDestinationProvider duplicate protectionApproval before production
Updates the name, report category or manual journal setting of a nominal code.
nominal_codes.update
nominal transactions
- List nominal ledger transactionsSource
Nominal ledger transactions ordered by id.
nominal_transactions.list
products
- Create productDestinationProvider duplicate protectionApproval before production
Creates a stock item in a product group.
products.create - Get productSource
One product by id.
products.get - List productsSourceIncremental
Products ordered by id, optionally updated since a time.
products.list - Update productDestinationProvider duplicate protectionApproval before production
Updates supplied product fields with PUT.
products.update
purchase orders
- Create purchase orderDestinationNot retried automaticallyApproval before production
Creates a purchase order with lines; authorisation rules in Sage 200 still apply.
purchase_orders.create - Get purchase orderSource
One purchase order by id.
purchase_orders.get - List purchase ordersSourceIncremental
Purchase orders ordered by id, optionally updated since a time.
purchase_orders.list - Update purchase orderDestinationProvider duplicate protectionApproval before production
Updates purchase order header fields with PUT. Lines are not changed.
purchase_orders.update
purchase transactions
- Get posted purchase ledger transactionSource
One posted purchase ledger transaction by id.
purchase_transactions.get - List posted purchase ledger transactionsSourceIncremental
Posted purchase ledger transactions ordered by id, optionally updated since a time.
purchase_transactions.list
sales orders
- Create sales orderDestinationNot retried automaticallyApproval before production
Creates a sales order with standard, free-text, charge or comment lines.
sales_orders.create - Get sales orderSource
One sales order by id.
sales_orders.get - List sales ordersSourceIncremental
Sales orders ordered by id, optionally updated since a time.
sales_orders.list - Update sales orderDestinationProvider duplicate protectionApproval before production
Updates sales order header fields with PUT. Lines are not changed.
sales_orders.update
sales quotes
- Create sales quoteDestinationNot retried automaticallyApproval before production
Creates a sales quote with lines.
sales_quotes.create - Get sales quoteSource
One sales quote by id.
sales_quotes.get - List sales quotesSourceIncremental
Sales quotes ordered by id, optionally updated since a time.
sales_quotes.list
sales transactions
- Get posted sales ledger transactionSource
One posted sales ledger transaction by id.
sales_transactions.get - List posted sales ledger transactionsSourceIncremental
Posted sales ledger transactions ordered by id, optionally updated since a time.
sales_transactions.list
sites
- List sites and companiesSource
Sites and companies the signed-in Sage ID can access, with the X-Site and X-Company values.
sites.list
stock levels
- List stock levels (warehouse holdings)SourceIncremental
Stock levels (warehouse holdings) ordered by id, optionally updated since a time.
stock_levels.list
suppliers
- Create supplierDestinationProvider duplicate protectionApproval before production
Creates a supplier account with main address and contacts.
suppliers.create - Get supplierSource
One supplier by id.
suppliers.get - List suppliersSourceIncremental
Suppliers ordered by id, optionally updated since a time.
suppliers.list - Update supplierDestinationProvider duplicate protectionApproval before production
Updates supplied supplier fields with PUT.
suppliers.update
tax codes
- List tax codesSource
Tax codes ordered by id.
tax_codes.list
warehouses
- List warehousesSource
Warehouses ordered by id.
warehouses.list
Authentication
Sage ID OAuth 2.0 (authorization code with offline access)
Plans and access
Sage 200 Standard (cloud) or Sage 200 Professional with the API enabled. API credentials come from the Sage 200 API Developer Programme. The Sage ID that authorises Nexra must be mapped to a Sage 200 user; that user's company and feature access decide what the API returns.
Test environment
Use a test company on a Sage 200 site; Sage does not provide a public sandbox.
Rate limits
No published per-request limit. $top returns up to 500 records by default and up to 5,000 on releases after February 2019.
Pagination
$top and $skip with $orderby id (up to 500 per page here).
Provider events
The Sage 200 API does not document outbound webhooks. Nexra event triggers are not yet available; flows run on demand or on a schedule.
Before you build a flow
- Sales and purchase invoices, credit notes, receipts, payments, allocations, bank entries and nominal journals post to the ledger immediately, so they are read only or excluded; Sage 200 offers no draft invoice endpoint.
- Deletes, order cancellation, despatch confirmation, stock allocation and stock transfers are not automated.
- Order updates change header fields only; line amendments are not exposed.
- Refresh tokens rotate and expire at the end of the refresh window (1 to 90 days from the first sign-in); the customer must sign in again after that.
- Endpoint coverage follows the Sage 200 Professional reference; Sage 200 Standard exposes the same resources but some fields depend on enabled modules.
Developer reference
- Create the Sage credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Sage 200, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/sage-200 and the Connections API.