> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alforse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Accounting

> Mirror invoices, bills, and GL journals to Xero, QuickBooks, or Rillet, and keep exchange rates current.

Alforse synchronizes accounting data with **Xero**, **QuickBooks Online**, or **Rillet**. Integrations require the Business plan (or Partner).

## How the sync works

Paid

Once **Sync** is on, Alforse sends **customers**, **vendors**, **items**, **sales invoices**, **bills**, and automated **GL journals** to the provider. **Alforse is the source of truth**: Alforse changes take precedence, and stable record mappings prevent duplicates. Provider payments synchronize back to Alforse and settle the matching invoice or bill.

NOTE

**Journal mirroring is automatic while sync is on**

While **Sync** is on, Alforse mirrors every automated GL posting to the connected provider. Journals with a `Manual` source do not synchronize.

A provider payment creates an Alforse payment and invoice settlement, then posts to Alforse's general ledger. Rillet also accepts outbound Alforse payments. Xero and QuickBooks support inbound payment synchronization only.

## Connect a ledger

Xero and QuickBooks Online use **OAuth**. Rillet uses a per-company **API key**.

### Authorize the connection

Authorize Xero or QuickBooks through OAuth, or enter the Rillet connection fields below.

### Configure the sync

A new connection starts with **Sync** off, so nothing reaches the ledger while you set it up. Set the
account mapping, dimensions, and posting options (below). If the ledger already has customers and
vendors, run **Import customers & vendors** now — it works while sync is off, and links them so the first
sync updates them instead of creating duplicates.

### Turn on sync

Turn on the **Sync** switch at the top of the integration. It stays locked until every account marked
**Required** on the Account Mapping tab is mapped. Turning it off later pauses the sync again; a reconnect
to the same organization keeps it where it was.

### Seed the ledger

To send records that have no counterpart in the ledger yet, run **Push customers, vendors & items** (Xero and Rillet). Subsequent changes synchronize continuously.

Rillet's connection fields:

FieldType

<details>
  <summary>**API key**required</summary>

  The Rillet API key that authenticates the connection. Stored as a secret.
</details>

<details>
  <summary>**Environment**</summary>

  **Production** (`api.rillet.com`) or **Sandbox** (`sandbox.api.rillet.com`).
</details>

<details>
  <summary>**Subsidiary ID**</summary>

  Optional. The Rillet subsidiary (entity) that Alforse posts into, for multi-entity ledgers.
</details>

<details>
  <summary>**Webhook token**</summary>

  Optional secret. Inbound payment write-back stays off until this is set.
</details>

## Configure the sync

An accounting integration has four tabs beyond the basic connection settings (**Settings**).

FieldType

<details>
  <summary>**Account Mapping**</summary>

  Map each Alforse posting account to a code in the provider's chart of accounts. Posted journals push using the mapped provider account. Use **Suggest with AI** or **Match by code** to fill the map, then resolve anything left unmapped.
</details>

<details>
  <summary>**Dimensions**</summary>

  Map Alforse dimensions to the provider's tracking slots. Xero and QuickBooks expose two slots. Rillet sends every dimension on each line and provisions the matching fields automatically, so the slot editor does not apply to it.
</details>

<details>
  <summary>**Posting**</summary>

  Choose how posted journals reach the ledger (see below).
</details>

<details>
  <summary>**Sync Activity**</summary>

  Watch every sync operation and retry the ones that failed (see below).
</details>

The **Posting** tab controls three things:

FieldType

<details>
  <summary>**Source types**</summary>

  Posted journals with these source types always sync. A per-type **Daily summary** toggle groups a day's journals of that type into one provider entry instead of sending each individually.
</details>

<details>
  <summary>**AR / AP representation**</summary>

  How receivables and payables reach the ledger. Each is either **Documents** (push the invoice or bill itself) or **Off — handled outside the sync**.
</details>

<details>
  <summary>**Books lock date**</summary>

  A manual date before which Alforse will not push new entries, so a closed period stays closed.
</details>

## Watch it run

The **Sync Activity** tab lists each operation's **Status**, **Entity**, **Direction**, **Trigger**, **Attempts**, **Last Attempt**, and **Error**. Filter by status, **Retry** or **Skip** a failed operation, **Re-send** a completed operation, or **Retry all**. **Export CSV** downloads every operation under the current status filter, with the document number, provider ID, and full error. Alforse creates an in-app notification when failures remain after an outbound run.

Weekly reconciliation writes the **Sync Tie-Out** report under **Accounting → Reports → Sync Tie-Out**. Each row compares **Alforse Posted**, **Synced**, and **Provider** balances for one accounting period, account, and integration. The report flags **Internal** and **External Delta** values.

TIP

**Sync Activity is for operators, Tie-Out is for the books**

Use Sync Activity to inspect individual operations. Use Tie-Out to compare ledgers by account and period. Sync Activity links to the integration's tie-out summary.

## Exchange rates

Enable the Exchange Rates integration to refresh currency rates daily (midnight UTC). It has no settings of its own.

NOTE

Rates come from **exchangeratesapi.io** and are converted to each company's base currency.

## Related

**Accounting reference**

How Alforse posts to the ledger — what the sync mirrors.

[Open](/docs/reference/accounting.md)

**Invoices**

The sales and purchase invoices that sync to your ledger.

[Open](/docs/reference/invoices.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.