> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.tabs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.tabs.com/_mcp/server.

# Connecting Sage Intacct

The Tabs and Sage Intacct integration lets Tabs sync invoicing, customer, and accounting data with Sage Intacct.

Once connected, Tabs can:

* Sync customers between systems
* Push invoices and credit memos to Sage Intacct as Order Entry documents
* Import products, chart of accounts, classes, departments, locations, and projects from Sage Intacct
* Sync payments both ways
* Push journal entries during month-end close workflows

Tabs pulls data from Sage Intacct on a scheduled basis and pushes transactional data as activity occurs in Tabs.

## Before you start

You need:

* Admin access in Tabs
* Sage Intacct **Administrator** access (or equivalent) to enable Web Services, create a Web Services user, and edit Order Entry and Accounts Receivable configuration
* Your Sage **Company ID**
* The Sage **entity** this Tabs instance should connect to, if the company is multi-entity
* Sales Invoice and Credit Memo transaction definitions in the Order Entry module
* [Close Management](/close-management) enabled in Tabs if you plan to sync journal entries to Sage Intacct

Create items in Sage Intacct before using them in Tabs. Tabs imports items; it does not create them.

One Tabs instance maps to one Sage entity. The entity cannot be changed after you save it.

## Step 1: Enable Web Services

In Sage Intacct:

1. Go to **Company → Admin → Subscriptions**
2. Subscribe to **Web Services**. Ignore the warning about additional charges.
3. Go to **Company → Company Info**, click **Edit**, then open the **Security** tab
4. Under **Web Services authorizations**, add the Tabs Sender ID: `tabsplatformmpp`

## Step 2: Create a role and Web Services user

### Create a role

1. In Sage Intacct, go to **Company → Roles** and click **Add**
2. Enter a name and save
3. Grant permissions for **Company**, **Accounts Receivable**, **Cash Management**, **General Ledger**, and **Order Entry**
4. Save

### Create the Web Services user

1. Go to **Company → Web Services users** and click **New**
2. Set:
   * **User ID** — the ID you will enter in Tabs (for example, `tabs`)
   * **Last name** and **First name**
   * **Email address** — `sage-integrations+[merchant]@tabs.inc`, replacing `[merchant]` with your company name
   * **User type** — Business User
   * **Admin privileges** — Full
3. On **Roles information**, assign the role from the previous step
4. Save. Ignore any warning about a charge for creating the user.

### Authorize the client application

1. Go to **Company → Company Info**, click **Edit**, then open the **Security** tab
2. Under **Authorized Client Applications**, click **Add**
3. Enter:
   * **Client ID:** `54960878527263d8e380.app.sage.com`
   * **Web Services User ID:** the user you just created (this field is case-sensitive — enter it exactly)

If connect later fails with "Web Services user is not authorized to use OAuth client", return here and associate the Web Services user with the authorized client application.

Tabs does not ask for the Web Services password in the dashboard. The password is configured server-side. If connect fails, double-check Company ID and User ID for typos and that the Web Services user is authorized in Sage.

## Step 3: Enable customer auto-numbering

Tabs does not send an explicit customer ID when creating a customer in Sage Intacct. It relies on Sage to auto-generate the next customer number. If auto-numbering is off, every customer created from Tabs fails.

In Sage Intacct:

1. Go to **Company → Setup → Settings → Document sequences**
2. Add or edit a **numeric** sequence for customer records
3. Go to **Accounts Receivable → Setup → Configuration**
4. Under **Document sequencing**, assign that sequence to **Customers**
5. Save

See Sage Intacct's documentation: [Document sequences for auto-numbering IDs](https://www.intacct.com/ia/docs/en_US/help_action/Company/Document_numbering/document-sequences-for-ids.htm).

Do this before you create customers in Tabs. If customer creation already failed, save the sequence, then retry the failed record from [ERP sync errors](https://app.tabsplatform.com/merchant/erp-sync-errors) or the customer profile.

## Step 4: Connect Sage Intacct in Tabs

1. Go to [Integrations](https://app.tabsplatform.com/merchant/integrations/connect) in Tabs
2. Select the **Sage Intacct** tile and click **Connect**
3. On [Sage Intacct setup](https://app.tabsplatform.com/merchant/integrations/sage-intacct), in **Connect Your Account**:
   * Enter your Sage **Company ID**
   * Enter your Sage Web Services **User ID**
4. Click **Connect to Sage Intacct**

You should see **"Connected successfully!"** and the page reloads to the Sage Intacct detail view. The tile on the Integrations page then shows **Manage** instead of **Connect**.

If the connect fails, you will see a red toast with the Sage error. Double-check Company ID and User ID, and that the Web Services user is authorized (Steps 1–2).

## Step 5: Set your Sage entity

This step appears when your Sage company has more than one entity.

1. On [Sage Intacct setup](https://app.tabsplatform.com/merchant/integrations/sage-intacct), scroll to **Entity mapping**
2. In the **Entity** dropdown, search for and select the entity Tabs should sync to
3. Click **Save**
4. Confirm the dialog: you are selecting a Sage entity that **cannot be changed after saving**

Tabs supports multi-entity Sage configurations. One Tabs instance maps to one Sage entity. Cross-entity transactions are not supported.

## Step 6: Configure Sales Invoice and Credit Memo templates

Tabs pushes invoices and credit memos through the Order Entry module. Configure the parent **Sales Order** template and the child **Sales Invoice** and **Credit Memo** templates before you send transactions.

Tabs addresses these documents by their exact Order Entry transaction definition ID, and it expects `Sales Invoice` and `Credit Memo`. Case and spacing both count, so a catalog using `Sales invoice` or `Sales credit memo` fails every send with Sage error `REST-1033` before Tabs validates the payload. Check your definition IDs before sending your first transaction.

Do not enable **Advanced Workflows** or duplicate a transaction definition to work around a name mismatch. Enabling Advanced Workflows is irreversible, turns on Order Entry, Purchasing, and Inventory together, and deactivates your existing transaction definitions.

### Sales Invoice

1. In Sage Intacct, go to **Order Entry → Setup → Transaction Definitions**
2. Open the **Sales Invoice** definition
3. Confirm it is configured as a child of the Sales Order template
4. Go to **Posting Configuration → Transaction posting AR account mapping**
5. Configure the account that should be credited when items in each GL group are invoiced

### Credit Memo

1. In the same **Transaction Definitions** list, open the **Credit Memo** definition
2. Confirm it is configured as a child of the Sales Order template
3. Go to **Posting Configuration → Transaction posting AR account mapping**
4. Configure the account that should be debited when items in each GL group are included in credit memos

### Allow price-based conversion

Sage prices an Order Entry line either by quantity times unit price, or as a flat total with the quantity fixed at 1. Tabs uses quantity pricing by default, but when a rounded unit price cannot reconstruct the exact line total (a repeating decimal, for example) it falls back to the flat total so the Sage line matches Tabs to the cent.

That fallback overrides the item's own default conversion type, which Sage permits only when both of these are turned on under **Order Entry → Setup → Configuration**, in the **Enable functionality** section:

* **Convert transactions by price**
* **Enable override on transaction conversion type**

If either is off, Sage rejects the invoice with `SO-0355` ("Price was specified as the conversion type"). Nothing needs to change in Tabs. On a line that falls back, the Sage line carries a quantity of 1 and the full line total as the price, so the contracted quantity does not appear on that line.

Draft invoices do not sync. Invoices sync only after they are sent. Tabs remains responsible for invoice delivery and numbering. Credit memos created in Sage Intacct do not sync back to Tabs — create and apply them in Tabs instead.

## Step 7: Apply GLs and dimensions to sales tax subtotals

If you send taxed invoices, Sage must copy location and department from product lines onto the tax subtotal **and** keep tax posted to your sales tax liability account.

Tabs does not currently send location or department on the tax subtotal. Until Order Entry is configured as below, Sage may fill the tax subtotal with the parent entity instead of the line-item dimensions, and Sage will reject the invoice when location is required.

Before any of that applies, the Tax subtotal has to exist. Both the **Sales Invoice** and **Credit Memo** transaction definitions need subtotals enabled with a Tax subtotal configured as an amount. Without it, Sage accepts the push and silently drops the tax, and Tabs then reports the transaction as a totals mismatch because the amount Sage returns is missing tax.

Do not check **Apportioned** on the Tax subtotal row. That greys out the GL account: Sage stops posting tax to the sales tax liability account and folds it into the product lines. Leave **Apportioned** off so tax stays on Accrued Sales/Use Tax (or your equivalent).

Do not rely on a single Location or Department default on the Tax row of the Sales Invoice definition. Those fields appear only when you edit the definition inside the entity Tabs is connected to, and they apply one coding to every invoice — which fails when items are coded differently.

### Turn on line-item dimensions in subtotals

1. At the **top-level** company in Sage Intacct, go to **Order Entry → Setup → Configuration**
2. Turn on **Use line-item dimensions in the subtotals**
3. Save
4. Switch into the **entity Tabs is connected to** (not the top-level company)
5. Go to **Order Entry → Setup → Configuration**
6. Turn on **Distribute subtotals at the entity level**
7. Save

See Sage Intacct's release notes: [View dimension distributions in subtotal lines](https://www.intacct.com/ia/docs/en_US/releasenotes/2025/2025_Release_1/OrderEntry/2025-R1-OE-dimensions-in-subtotal-lines.htm).

### Leave the Tax subtotal as-is

On the Sales Invoice transaction definition, keep the Tax subtotal at:

* **Apportioned** — off
* **Is tax** — on
* **GL account** — your sales tax liability account
* **Value type** — Amount

Then retry a taxed invoice in Tabs.

This Order Entry setting is company-wide for that entity, not tax-only. Other Order Entry subtotals (discounts, freight) pick it up too.

Sage splits subtotals by **line amount**, not by tax amount, so mixed taxed and untaxed lines can smear tax dimensions. One tax credit can become several splits — one per location and department combination.

Product lines in Tabs still need location and department dimensions. The Order Entry setting copies those values onto the tax subtotal; it does not invent them.

## Step 8: Sync data from Sage

Tabs does not auto-pull on connect. Trigger the first sync manually.

1. Go to [Integrations](https://app.tabsplatform.com/merchant/integrations/connect)
2. On the **Sage Intacct** tile, click **Sync**. Alternatively, click **Manage** and click **Sync** on the detail page.

Within a few minutes, the tile shows a fresh **Last synced** timestamp. See [What syncs](/erp-account-mapping#what-syncs) for what data moves between Sage Intacct and Tabs.

Company legal name and CC emails are Tabs-only and do not push to Sage Intacct.

## Step 9: Validate the integration

Validate the following before going live.

### Customer sync

* Create or update a customer in Tabs (name, billing address, and primary email populated)
* Confirm the customer appears in Sage Intacct under **Accounts Receivable → Customers**

If creation fails, customer auto-numbering is still off. Complete Step 3 and retry.

A contact and an address are a pair in Sage, so Tabs sends them together. If the customer has a primary contact but no default billing or shipping address, the customer still reaches Sage with its name and currency, but the contact does not, and Tabs files a sync error asking you to set a default billing address. Setting one pushes the contact and clears the error automatically. This is the only Tabs flow that requires a default address.

### Invoice sync

* Send a test invoice from Tabs
* Confirm it appears in Sage Intacct as an Order Entry Sales Invoice
* Confirm the customer received the invoice email from Tabs only (Sage Intacct should not send a duplicate)

### Taxed invoice sync

* Send an invoice that includes sales tax, with location and department on the product lines
* Confirm the tax subtotal posts to your sales tax liability account and inherits the product-line dimensions

If Sage rejects the invoice for a missing location on tax, complete Step 7 and retry.

### Credit memo sync

* Create and apply a credit memo in Tabs
* Confirm it syncs to Sage Intacct

Sage Intacct does not support unapplying a credit memo once it is applied. Apply credit memos carefully.

Apply Tabs-created credit memos in Tabs, not in Sage Intacct. A credit memo applied in Sage comes back to Tabs as a payment on the invoice and leaves the Tabs credit memo open. See [Applying a credit memo in your ERP instead of in Tabs](/erp-account-mapping#applying-a-credit-memo-in-your-erp-instead-of-in-tabs).

### Payment sync

* Record a test payment in Tabs
* Confirm the payment appears in Sage Intacct, applied to the matching AR invoice

### Journal entry sync

* Run a month-end close workflow in Tabs
* Confirm journal entries appear correctly in Sage Intacct (batches of up to 2,500 entries)

See [Close Management](/close-management) for the month-end close workflow.

If you experience issues connecting or validating the integration, contact Tabs Support.

## Related resources

* [ERP & Account Mapping](/erp-account-mapping) — sync behavior, integration items, and account mapping
* [Set up tax](/tax) — tax providers and item tax codes
* [Close Management](/close-management) — revenue journal entries
* [Integration Overview](/integration-overview) — integration landscape and setup models