Skip to main content
Data Mapping transforms Export Item data into the structured fields required by your Accounting System (AS/ERP). This step ensures that all required financial, contextual, and reporting data is correctly transferred.

Prerequisites

Before you begin:

Mapping Order

Mappings must be applied in the following order:
  1. Mandatory datapoints
  2. Invoice datapoints (if applicable)
  3. Optional datapoints
  4. VAT handling

Relevant Export Item Fields

  {
      "companyId": "12abc3d4-e567-890e-1234-abc56e78fabc",
      "accountingEntryId": "59540ed2-0d68-4e36-9e31-58223975d9e9",
      "type": "card_purchase",
      "subType": null,
      "date": "2025-12-10T15:46:34Z",
      "amount": {
        "inSupplierCurrency": {
          "currency": "GBP",
          "value": 6366
        },
        "inWalletCurrency": {
          "currency": "GBP",
          "value": 6366
        }
      },
      "note": "Printer ink",
      "files": [
        {
          "url": "<string>",
          "type": "image/jpeg",
          "size": 13010
        }
      ],
      "supplier": {
        "code": "1340472473",
        "name": "Target",
        "categoryCode": "1000",
        "country": "GB",
        "account": null,
        "taxIdentifier": null
      },
      "user": {
        "id": "6b71f6bd-e83d-4d49-88ee-2b8cda2d57cf",
        "name": "Luke Richardson",
        "code": null
      },
      "team": {
        "id": "747aaf60-56c6-4b46-ad92-f8a0cb59cf8b",
        "code": "5678",
        "name": "Engineering"
      },
      "accountingEntryLines": [
        {
          "accountingEntryLineId": "0c76ea71-aaaa-4ece-bb68-e1166ccaea04",
          "lineAmount": {
            "inSupplierCurrency": {
              "currency": "GBP",
              "value": 6366
            },
            "inWalletCurrency": {
              "currency": "GBP",
              "value": 6366
            }
          },
          "netAmount": {
            "inSupplierCurrency": {
              "currency": "GBP",
              "value": 6366
            },
            "inWalletCurrency": {
              "currency": "GBP",
              "value": 6366
            }
          },
          "account": {
            "id": "7966c3ba-e4de-4574-8604-6cfa48d62cc8",
            "code": "6990000",
            "name": "Printing & Stationary",
            "identifier": "6990000"
          },
          "tax": {
            "id": "997d8526-5872-484d-ba07-c7a07e08e555",
            "code": "0001",
            "type": "inclusive",
            "amount": {
              "inSupplierCurrency": {
                "currency": "GBP",
                "value": 0
              },
              "inWalletCurrency": {
                "currency": "GBP",
                "value": 0
              }
            },
            "rate": 0.00
          },
          "tags": []
        }
      ],
      "additionalInformation": {
        "reconciliationId": "2500001",
        "reconciledEntries": null,
        "attendees": [],
        "invoiceInformation": null
      },
      "bookkeeping": {
        "method": "journal"
      },
      "vendor": {
        "id": "22e1f2c9-1360-4291-ab41-6b23dcea8888",
        "name": "TestVendor",
        "code": "acc1234",
        "externalId": "ext12345",
        "registrationNumber": "reg001234",
        "taxRegistrationNumber": "taxreg1234",
        "country": "UK",
        "defaultCurrency": "GBP"
      },
      "contraAccount": {
        "id": "993d664c-9b7c-4efc-a677-510e69200857",
        "code": "0876000",
        "name": "0876000_ChartAccounts",
        "identifier": "0876000"
      },
      "_links": {
        "web": {
          "exportItem": "https://app.staging.pleo.io/export/export-item/0c76ea71-aaaa-4ece-bb68-e1166ccaea04"
        }
      },
      "servicePeriod": null
    },
   # [other Export Items omitted for brevity]
   # [Pagination omitted for brevity]

Supplier

"supplier": {
  "name": "GOOGLE*ADS8693645259",
  "country": "DK"
}

User & Team

"user": { "name": "John Doe" },
"team": { "name": "Marketing" }

Notes

"note": "Printer ink"

Tags

"tags": [
  { "code": "<string>" }
]

Steps

1. Map Mandatory Datapoints

These fields must always be mapped. Typical mappings:
entry.account = mappedExpenseAccount
entry.amount = accountingEntryLines[].lineAmount.inWalletCurrency.value
entry.currency = accountingEntryLines[].lineAmount.inWalletCurrency.currency
entry.date = date
entry.taxCode = accountingEntryLines[].tax.code
entry.description = buildDescription()
entry.dimensions = tags
entry.reconciliationId = additionalInformation.reconciliationId
Include:
  • Expense account (from Accounts Mapping)
  • Amount (wallet currency)
  • Currency
  • Date
  • Tax code
  • Tags / dimensions
  • Reconciliation data

2. Map Invoice Datapoints (if applicable)

Apply only if:
type == "invoice" OR type == "invoice_payment"
Mappings:
entry.invoiceNumber = additionalInformation.invoiceInformation.invoiceNumber
entry.invoiceDate = additionalInformation.invoiceInformation.invoiceDate
entry.dueDate = additionalInformation.invoiceInformation.dueDate
entry.paymentDate = additionalInformation.invoiceInformation.paymentDate
Currency handling:
  • invoice → supplier currency
  • invoice_payment → wallet currency

3. Map Optional Datapoints

Optional fields enhance reporting. Examples:
entry.netAmount = accountingEntryLines[].netAmount.inWalletCurrency.value
entry.taxAmount = accountingEntryLines[].tax.amount.inWalletCurrency.value
entry.team = team.code
entry.employee = user.code
entry.memo = note

4. Apply VAT Handling Rules

Determine whether to send VAT explicitly.
if accountingSystem.calculatesVAT:
    do not send VAT amount
else:
    send VAT amount from Pleo

5. Build Final Entry Structure

Combine all mapped data into the final structure expected by your Accounting System.
entry = {
    accounts: mappedAccounts,
    amounts: mappedAmounts,
    metadata: mappedFields
}

Results

After completing this step:
  • All required data fields are mapped
  • Optional enhancements are included where supported
  • Entries are complete and ready for posting

What Comes Next?


this how-to is part of: