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

# Accounts Mapping

export const RememberCallout = ({title, children}) => <div className="callout-box callout-remember">
    <div className="callout-row">
      <span className="callout-icon">
        <svg width="22" height="22" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" fill="currentColor"><path d="M229.66,98.34,172.39,155.8c11.46,22.93-1.72,45.86-10.11,57a8,8,0,0,1-12,.83L42.34,105.76A8,8,0,0,1,43,93.85c29.65-23.92,57.4-10,57.4-10l57.27-57.46a8,8,0,0,1,11.31,0L229.66,87A8,8,0,0,1,229.66,98.34Z" opacity="0.2" /><path d="M235.32,81.37,174.63,20.69a16,16,0,0,0-22.63,0L98.37,74.49c-10.66-3.34-35-7.37-60.4,13.14a16,16,0,0,0-1.29,23.78L85,159.71,42.34,202.34a8,8,0,0,0,11.32,11.32L96.29,171l48.29,48.29A16,16,0,0,0,155.9,224c.38,0,.75,0,1.13,0a15.93,15.93,0,0,0,11.64-6.33c19.64-26.1,17.75-47.32,13.19-60L235.33,104A16,16,0,0,0,235.32,81.37ZM224,92.69h0l-57.27,57.46a8,8,0,0,0-1.49,9.22c9.46,18.93-1.8,38.59-9.34,48.62L48,100.08c12.08-9.74,23.64-12.31,32.48-12.31A40.13,40.13,0,0,1,96.81,91a8,8,0,0,0,9.25-1.51L163.32,32,224,92.68Z" /></svg>
      </span>
      <div>
        {title && <div className="callout-title">
            {title}
          </div>}
        <div className="callout-body">
          {children}
        </div>
      </div>
    </div>
  </div>;

export const PlatformAccountsMappingDiagram = () => {
  const [isDark, setIsDark] = useState(false);
  useEffect(() => {
    const check = () => setIsDark(document.documentElement.classList.contains("dark"));
    check();
    const observer = new MutationObserver(check);
    observer.observe(document.documentElement, {
      attributes: true,
      attributeFilter: ["class"]
    });
    return () => observer.disconnect();
  }, []);
  const nodeFill = isDark ? "#212222" : "#EEF4F4";
  const nodeStroke = isDark ? "#848989" : "#212222";
  const nodeTextStyle = isDark ? ",color:#EEF4F4" : ",color:#131414";
  const linkStyle = isDark ? "" : "linkStyle default stroke:#848989,stroke-width:1px;";
  const themeVariables = {
    fontSize: "12px",
    ...isDark ? {} : {
      edgeLabelBackground: "#FAFCFC"
    }
  };
  const diagram = `
%%{init: {"themeVariables": ${JSON.stringify(themeVariables)}}}%%
flowchart TD
    A[Export Item]
    A --> B[Bookkeeping Method resolved]
    B --> C[Accounting structure created &#40;journal entry or invoice/payment objects#41;]
    C --> D[Accounts Mapping assigns GL accounts]
    D --> E[Data Mapping assigns transaction data]
    E --> F[Accounting entry populated with amounts, dates, tax, and dimensions]

    %% Styling for wrapping
    style A white-space:normal,fill:${nodeFill},stroke:${nodeStroke}${nodeTextStyle}
    style B white-space:normal,fill:${nodeFill},stroke:${nodeStroke}${nodeTextStyle}
    style C white-space:normal,fill:${nodeFill},stroke:${nodeStroke}${nodeTextStyle}
    style D white-space:normal,fill:${nodeFill},stroke:${nodeStroke}${nodeTextStyle}
    style E white-space:normal,fill:${nodeFill},stroke:${nodeStroke}${nodeTextStyle}
    style F white-space:normal,fill:${nodeFill},stroke:${nodeStroke}${nodeTextStyle}
${linkStyle}
`;
  return <Mermaid chart={diagram} />;
};

<RememberCallout title="Remember">Accounts mapping determines which General Ledger accounts are affected when exported expenses are recorded in the Accounting System. Correct mapping ensures financial accuracy, reconciliation, and compliance with bookkeeping standards.</RememberCallout>

After the **bookkeeping method** has been determined (for example, Journal Entry or Accounts Payable), exported expenses must be connected to the correct **General Ledger (GL) accounts**.

Accounts mapping defines **where the financial impact of an expense is recorded** in the Accounting System.

## Why Accounts Mapping Exists

All exported expenses follow **double-entry bookkeeping**, meaning every transaction records:

* one or more **debit postings**
* one or more **credit postings**

The bookkeeping method determines *how* an expense is represented (journal entry vs invoice/payment), while **accounts mapping determines which accounts are debited and credited**.

Conceptually:

<PlatformAccountsMappingDiagram />

## What Is Being Mapped?

Accounts mapping connects Pleo data to accounting structures by assigning GL accounts for different financial roles, including:

* Expense categorisation
* Funding source or settlement account
* Vendor liability tracking
* Temporary or balancing accounts

## Required Accounts

The following accounts are typically required to support exports. Exact naming and structure depend on the Accounting System configuration.

### Pleo Wallet Account (user-configurable)

Tracks funds spent using the Pleo wallet or company cards.

Typically represents:

* a bank account, or
* a clearing account used for card transactions.

### Pleo Out-of-Pocket Account (user-configurable)

Tracks expenses initially paid by employees and later reimbursed.

Represents a temporary liability owed to employees until reimbursement occurs.

### Pleo Contra Account (user-configurable)

An intermediate balancing account used when the final accounting destination is not yet known or when funds move between internal sources.

Common examples include:

* wallet loads or unloads
* external reimbursements
* adjustment transactions

### Category (Expense GL Account)

Defines the expense classification.

Each Export Item includes a category selected in Pleo, which maps to an expense GL account such as:

* Travel
* Meals
* Software subscriptions
* Office supplies

This account is typically **debited** when an expense is recorded.

### Accounts Payable Account

Used when **Accounts Payable bookkeeping** is selected.

Tracks vendor liabilities and may be configured as:

* vendor-specific subledger accounts, or
* a single shared Accounts Payable control account.

## Mapping Depends on Bookkeeping Method

Accounts mapping applies differently depending on how the expense is represented in the Accounting System.

### Journal Entry Bookkeeping

Mapping determines:

* which expense account is debited
* which funding or liability account is credited

The result is a direct posting to the general ledger.

### Accounts Payable Bookkeeping

Mapping determines accounts across multiple accounting objects:

* Invoice entries (expense + Accounts Payable liability)
* Payment entries (settlement of liability)
* Credit notes where applicable

Although more accounting records are created, the same mapped accounts ensure consistent financial reporting.

## Expense Type Mapping

Different expense types may require different account behaviour.

For detailed mapping rules by expense type, see:

[Expense Type Mapping](https://docs.google.com/spreadsheets/d/1WnA4QLYKTfeabsSAaR8Jfy2veJpGCrP-jAAFX9JeB3c/edit?gid=942665485#gid=942665485)

## Relationship to the Export Lifecycle

Accounts mapping occurs during **per-item processing**, after:

* Export validation
* Bookkeeping method resolution

and before:

* accounting period assignment
* posting behaviour application
* export item completion

This ensures every exported record enters the Accounting System with valid debit and credit destinations.

***

## What Comes Next?

* [Data Mapping](/docs/current/platform/exports/data-mapping)

***

## Related Reading

* Integration Design – [Accounts Mapping](/docs/current/integration-design/exports/integration-design-exports-accounts-mapping)
* [AS/ERP Processing Workflow Guide](/docs/current/guides/accounting-system-processing-workflow-guide)

***
