Pleo Export Items (v2) API
The Export Items (v2) API from Pleo — 1 operation(s) for export items (v2).
The Export Items (v2) API from Pleo — 1 operation(s) for export items (v2).
openapi: 3.0.1
info:
title: App Marketplace accounting-entries Export Items (v2) API
description: API for Pleo App Marketplace
termsOfService: https://pleo.io/terms/
contact:
email: partner-ecosystem-team@pleo.io
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
version: 39.4.0
servers:
- url: https://external.pleo.io
description: Production server
- url: https://external.staging.pleo.io
description: Staging server
security:
- bearerAuth: []
- basicAuth: []
tags:
- name: Export Items (v2)
paths:
/v2/export-items:
get:
tags:
- Export Items (v2)
summary: Get Export Items
description: 'An export item = an accounting entry that has been transformed into an exportable entry.
The required accounting and bookkeeping information is aggregated from an accounting entry to become an export item. Use this endpoint to retrieve a list of export items that have been selected for export. Please note that you can retrieve list of export items only from `pending` and `in_progress` export jobs.'
operationId: getExportItemsV2
parameters:
- name: job_id
in: query
description: The Export Job ID in which the accounting entries have been included for export.
required: false
style: form
explode: true
schema:
type: string
format: uuid
- name: before
in: query
description: Lower bound of the page of data to return (cannot be used together with [after] or [offset]).
required: false
style: form
explode: true
schema:
pattern: ^[A-Z2-7=~]+$
type: string
- name: after
in: query
description: Upper bound of the page of data to return (cannot be used together with [before] or [offset]).
required: false
style: form
explode: true
schema:
pattern: ^[A-Z2-7=~]+$
type: string
- name: offset
in: query
description: Offset of the page of data to return (cannot be used together with [before] or [after]).
required: false
style: form
explode: true
schema:
minimum: 0
type: integer
format: int64
- name: limit
in: query
description: The maximum amount of items to return.
required: false
style: form
explode: true
schema:
minimum: 0
type: integer
format: int32
- name: sorting_keys
in: query
description: The keys to sort the results by.
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: sorting_order
in: query
description: The order to sort the results by. Must be the same length as [sortingKeys]; one order per key.
required: false
style: form
explode: true
schema:
type: array
items:
$ref: '#/components/schemas/PageOrder'
responses:
'200':
description: Export Items retrieved successfully.
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/CursorPaginatedResponseExportItemV2'
'422':
description: Export Job has finished. Only Export Items from running jobs can be retrieved.
content:
application/json;charset=UTF-8:
schema:
$ref: '#/components/schemas/ExceptionInfo'
example:
type: EXPORT_JOB_STATUS_UNPROCESSABLE
message: Export Job is finished and can no longer be processed.
components:
schemas:
CursorPaginatedResponseExportItemV2:
required:
- data
- pagination
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ExportItemV2'
pagination:
$ref: '#/components/schemas/CursorPageInfo'
ExceptionInfo:
required:
- type
type: object
properties:
message:
type: string
type:
type: string
SupplierBankAccount:
required:
- bankName
- country
type: object
properties:
accountNumber:
type: string
description: Bank account number.
nullable: true
bankCode:
type: string
description: Bank code.
nullable: true
bankName:
type: string
description: Name of the bank.
bic:
type: string
description: Branch information.
nullable: true
country:
maxLength: 2
minLength: 2
type: string
description: Country the bank is located in. This is an ISO 3166-1 alpha-2 country code.
example: DK
enum:
- UNDEFINED
- AC
- AD
- AE
- AF
- AG
- AI
- AL
- AM
- AN
- AO
- AQ
- AR
- AS
- AT
- AU
- AW
- AX
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BL
- BM
- BN
- BO
- BQ
- BR
- BS
- BT
- BU
- BV
- BW
- BY
- BZ
- CA
- CC
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CP
- CR
- CS
- CU
- CV
- CW
- CX
- CY
- CZ
- DE
- DG
- DJ
- DK
- DM
- DO
- DZ
- EA
- EC
- EE
- EG
- EH
- ER
- ES
- ET
- EU
- EZ
- FI
- FJ
- FK
- FM
- FO
- FR
- FX
- GA
- GB
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GS
- GT
- GU
- GW
- GY
- HK
- HM
- HN
- HR
- HT
- HU
- IC
- ID
- IE
- IL
- IM
- IN
- IO
- IQ
- IR
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KP
- KR
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- LY
- MA
- MC
- MD
- ME
- MF
- MG
- MH
- MK
- ML
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NF
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NT
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PN
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SD
- SE
- SF
- SG
- SH
- SI
- SJ
- SK
- SL
- SM
- SN
- SO
- SR
- SS
- ST
- SU
- SV
- SX
- SY
- SZ
- TA
- TC
- TD
- TF
- TG
- TH
- TJ
- TK
- TL
- TM
- TN
- TO
- TP
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- UK
- UM
- US
- UY
- UZ
- VA
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- XI
- XU
- XK
- YE
- YT
- YU
- ZA
- ZM
- ZR
- ZW
iban:
type: string
description: Unique international bank account number.
nullable: true
description: Bank account information of the supplier.
nullable: true
TagV2:
required:
- code
- groupCode
- id
type: object
properties:
code:
type: string
description: This is the unique identifier of the tag allocated to the export item.
groupCode:
type: string
description: This is the unique identifier of the tag group (a tag group is a collection of tags).
id:
type: string
description: This is the Pleo internal identifier of the tag.
format: uuid
example: 00000000-0000-0000-0000-000000000000
description: Tags are cost centres allocated to an export item.
nullable: true
AccountV2:
required:
- id
- name
type: object
properties:
code:
type: string
description: The account code or number.
nullable: true
id:
type: string
description: This is the Pleo internal identifier of the account.
format: uuid
example: 00000000-0000-0000-0000-000000000000
identifier:
type: string
description: The internal account identifier in the accounting system.
nullable: true
name:
type: string
description: This is the name of the account as set on the Pleo UI.
example: Meals and Entertainment
description: This is the specific General Ledger (GL) account allocated to the export item - the account code, the identifier, or both are mentioned, if any GL account is allocated.
nullable: true
VendorV2:
required:
- defaultCurrency
- id
- name
type: object
properties:
code:
type: string
description: Unique identifier assigned to the vendor in the target ERP/accounting system for aiding users in identifying the correct record.
country:
$ref: '#/components/schemas/CountryCode'
defaultCurrency:
maxLength: 3
minLength: 3
type: string
description: Default currency in which the vendor’s financial operations, such as purchases, payments, or invoices, are primarily conducted. (ISO 4217 currency code (3 letters))
example: DKK
externalId:
type: string
description: Unique external identifier of the vendor, assigned by the target ERP/accounting system, used by the client for identification. Can be the same as code if no other identifier is available.
id:
type: string
description: Pleo's internal identifier for the Vendor
format: uuid
example: 123e4567-e89b-12d3-a456-426614174000
name:
type: string
description: The name field represents the official name of the Vendor as it is recorded in the target ERP/accounting system. This name is used to uniquely identify the vendor within the accounting workflow and is visible to the Pleo bookkeeper.
example: Pleo
registrationNumber:
type: string
description: Unique identification of a registered vendor in a country
taxRegistrationNumber:
type: string
description: VAT/GST/TaxId number of the Vendor
description: The vendor associated with the accounting entry.
ExportItemLineV2:
required:
- accountingEntryLineId
- lineAmount
- netAmount
type: object
properties:
account:
$ref: '#/components/schemas/AccountV2'
accountingEntryLineId:
type: string
description: This is the ID of the specific line.
format: uuid
example: 00000000-0000-0000-0000-000000000000
lineAmount:
$ref: '#/components/schemas/ExportItemAmount'
netAmount:
$ref: '#/components/schemas/ExportItemAmount'
tags:
type: array
description: Tags are cost centres allocated to an export item.
nullable: true
items:
$ref: '#/components/schemas/TagV2'
tax:
$ref: '#/components/schemas/TaxV2'
description: An accounting entry is represented with either a single line or multiple lines that explain the details. So, if the accounting entry is split into multiple lines, each line has a unique ID.
CountryCode:
type: string
description: Country of registration of the vendor (ISO 3166-1 alpha-2 country code (2 letters))
example: DK
enum:
- UNDEFINED
- AC
- AD
- AE
- AF
- AG
- AI
- AL
- AM
- AN
- AO
- AQ
- AR
- AS
- AT
- AU
- AW
- AX
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BL
- BM
- BN
- BO
- BQ
- BR
- BS
- BT
- BU
- BV
- BW
- BY
- BZ
- CA
- CC
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CP
- CR
- CS
- CU
- CV
- CW
- CX
- CY
- CZ
- DE
- DG
- DJ
- DK
- DM
- DO
- DZ
- EA
- EC
- EE
- EG
- EH
- ER
- ES
- ET
- EU
- EZ
- FI
- FJ
- FK
- FM
- FO
- FR
- FX
- GA
- GB
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GS
- GT
- GU
- GW
- GY
- HK
- HM
- HN
- HR
- HT
- HU
- IC
- ID
- IE
- IL
- IM
- IN
- IO
- IQ
- IR
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KP
- KR
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- LY
- MA
- MC
- MD
- ME
- MF
- MG
- MH
- MK
- ML
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NF
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NT
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PN
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SD
- SE
- SF
- SG
- SH
- SI
- SJ
- SK
- SL
- SM
- SN
- SO
- SR
- SS
- ST
- SU
- SV
- SX
- SY
- SZ
- TA
- TC
- TD
- TF
- TG
- TH
- TJ
- TK
- TL
- TM
- TN
- TO
- TP
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- UK
- UM
- US
- UY
- UZ
- VA
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- XI
- XU
- XK
- YE
- YT
- YU
- ZA
- ZM
- ZR
- ZW
ExportItemUserV2:
required:
- id
- name
type: object
properties:
code:
type: string
description: This would usually represent the employee code.
nullable: true
id:
type: string
description: This is the Pleo internal identifier of the user.
format: uuid
nullable: true
example: 00000000-0000-0000-0000-000000000000
name:
type: string
description: Full name of the user.
example: John Doe
description: This applies to the person that initiated the spend. In most cases this would be the employee.
nullable: true
CursorPageCurrentRequestInfo:
required:
- parameters
type: object
properties:
after:
type: string
before:
type: string
limit:
type: integer
format: int32
offset:
type: integer
format: int64
parameters:
type: object
additionalProperties:
type: array
items:
type: string
sortingKeys:
type: array
items:
type: string
sortingOrder:
type: array
items:
$ref: '#/components/schemas/PageOrder'
ExportItemV2:
required:
- _links
- accountingEntryId
- accountingEntryLines
- additionalInformation
- amount
- companyId
- date
- type
type: object
properties:
_links:
$ref: '#/components/schemas/LinksResponse'
accountingEntryId:
type: string
description: This is the Pleo internal identifier of the export item (identifier of the expense).
format: uuid
example: 00000000-0000-0000-0000-000000000000
accountingEntryLines:
type: array
description: An accounting entry is represented with either a single line or multiple lines that explain the details. So, if the accounting entry is split into multiple lines, each line has a unique ID.
items:
$ref: '#/components/schemas/ExportItemLineV2'
additionalInformation:
$ref: '#/components/schemas/ExportItemAdditionalInformationV2'
amount:
$ref: '#/components/schemas/ExportItemAmount'
bookkeeping:
$ref: '#/components/schemas/BookkeepingV2'
companyId:
type: string
description: Pleo company identifier this export item belongs to.
format: uuid
example: 00000000-0000-0000-0000-000000000000
date:
pattern: YYYY-MM-DDTHH:mi:ssZ
type: string
description: The date when the export item was book kept.
format: date-time
files:
type: array
description: Files that have been attached to this accounting entry.
nullable: true
items:
$ref: '#/components/schemas/ExportItemFile'
note:
type: string
description: Additional comments potentially describing the accounting entry.
nullable: true
servicePeriod:
$ref: '#/components/schemas/ServicePeriodV2'
subType:
type: string
description: Optional subtype for the export item, providing additional categorisation within the main type.
nullable: true
supplier:
$ref: '#/components/schemas/SupplierV2'
team:
$ref: '#/components/schemas/TeamV2'
teamCode:
type: string
description: Team code is an identifier assigned to an expense to categorize it or associate it with a specific team.
nullable: true
type:
type: string
description: This is the Pleo internal identifier assigned to the export item, based on the type of expense it is. For example, a specific identifier is assigned to a card_purchase accounting entry.
enum:
- card_purchase
- card_invoice
- out_of_pocket
- mileage
- per_diem
- external_reimbursement
- direct_reimbursement
- invoice
- invoice_payment
- chargeback
- refund
- cashback
- atm_withdrawal
- wallet_topup
- wallet_unload
- personal_spend
- fee
user:
$ref: '#/components/schemas/ExportItemUserV2'
vendor:
$ref: '#/components/schemas/VendorV2'
TeamV2:
required:
- id
- name
type: object
properties:
code:
type: string
description: Team code, usually the unique identifier of the team in the accounting system.
nullable: true
id:
type: string
description: This is the Pleo internal identifier of the team.
format: uuid
example: 00000000-0000-0000-0000-000000000000
name:
type: string
description: This is the name of the team.
example: Marketing
description: Teams are assigned to an export item for categorisation or association with a specific team.
nullable: true
LinksResponse:
type: object
properties:
api:
type: object
additionalProperties:
type: string
mobile:
type: object
additionalProperties:
type: string
web:
type: object
additionalProperties:
type: string
description: Contains links relevant to the export item.
example:
web:
exportItem: https://example.com
mobile:
exportItem: https://example.com
api:
exportItem: https://example.com
ExportItemFile:
required:
- size
- type
- url
type: object
properties:
size:
type: integer
description: Size of the file in bytes.
format: int32
example: 2084
type:
type: string
description: Type of file, usually represented similar to mime type.
example: application/pdf
url:
type: string
description: URL to retrieve the file attachment from. This URL is active for a limited time (24 Hours) from the time the export item is fetched.
example: https://file.url
description: Files that have been attached to this accounting entry.
nullable: true
InvoiceInformationV2:
required:
- invoiceDate
- invoiceNumber
- status
type: object
properties:
dueDate:
pattern: YYYY-MM-DD
type: string
description: Date the payment is due.
format: date-time
nullable: true
invoiceDate:
pattern: YYYY-MM-DD
type: string
description: Date the invoice was issued.
format: date-time
invoiceNumber:
type: string
description: The invoice number.
paymentDate:
pattern: YYYY-MM-DD
type: string
description: Date the invoice was paid if the status is paid.
format: date-time
nullable: true
status:
type: string
description: The invoice status.
enum:
- pending_approval
- parsed
- preparing
- prepared
- ready
- rejected_by_approver
- marked_as_paid
- scheduled
- payment_in_progress
- paid
- voided_by_user
- rejected_by_user
- failed_payment
supplierBankAccount:
$ref: '#/components/schemas/SupplierBankAccount'
description: For an invoice, additional information related to the invoice is specified in this attribute.
nullable: true
CursorPageInfo:
required:
- currentRequestPagination
- hasNextPage
- hasPreviousPage
type: object
properties:
currentRequestPagination:
$ref: '#/components/schemas/CursorPageCurrentRequestInfo'
endCursor:
type: string
hasNextPage:
type: boolean
hasPreviousPage:
type: boolean
startCursor:
type: string
total:
type: integer
format: int64
BookkeepingV2:
required:
- method
type: object
properties:
method:
$ref: '#/components/schemas/BookkeepingMethodV2'
description: Bookkeeping related configurations for an accounting entry.
nullable: true
BookkeepingMethodV2:
type: string
description: Specifies the type of bookkeeping system used for recording the accounting entry.
enum:
- none
- journal
- accounts_payable
ExportItemAmount:
required:
- inSupplierCurrency
- inWalletCurrency
type: object
properties:
inSupplierCurrency:
$ref: '#/components/schemas/MoneyModel'
inWalletCurrency:
$ref: '#/components/schemas/MoneyModel'
description: Export item amount.
ServicePeriodV2:
required:
- from
- to
type: object
properties:
from:
pattern: yyyy-MM-dd'T'HH:mm:ss'Z'
type: string
description: The start of the service period in ISO 8601 datetime format.
format: date-time
example: '2025-01-01T00:00:00Z'
to:
pattern: yyyy-MM-dd'T'HH:mm:ss'Z'
type: string
description: The end of the service period in ISO 8601 datetime format.
format: date-time
example: '2025-01-31T00:00:00Z'
description: The period during which a service was provided, goods were delivered, or an expense was incurred.
nullable: true
SupplierV2:
type: object
properties:
account:
type: string
description: Supplier account code in the accounting system.
nullable: true
categoryCode:
type: string
description: This is the category code that describes the merchant/supplier's activity.
nullable: true
example: '5999'
code:
type: string
description: Identifier of the supplier in the accounting system.
nullable: true
country:
maxLength: 2
minLength: 2
type: string
description: The 2-letter country code the merchant or supplier operates in.
nullable: true
example: DK
enum:
- UNDEFINED
- AC
- AD
- AE
- AF
- AG
- AI
- AL
- AM
- AN
- AO
- AQ
- AR
- AS
- AT
- AU
- AW
- AX
- AZ
- BA
- BB
- BD
- BE
- BF
- BG
- BH
- BI
- BJ
- BL
- BM
- BN
- BO
- BQ
- BR
- BS
- BT
- BU
- BV
- BW
- BY
- BZ
- CA
- CC
- CD
- CF
- CG
- CH
- CI
- CK
- CL
- CM
- CN
- CO
- CP
- CR
- CS
- CU
- CV
- CW
- CX
- CY
- CZ
- DE
- DG
- DJ
- DK
- DM
- DO
- DZ
- EA
- EC
- EE
- EG
- EH
- ER
- ES
- ET
- EU
- EZ
- FI
- FJ
- FK
- FM
- FO
- FR
- FX
- GA
- GB
- GD
- GE
- GF
- GG
- GH
- GI
- GL
- GM
- GN
- GP
- GQ
- GR
- GS
- GT
- GU
- GW
- GY
- HK
- HM
- HN
- HR
- HT
- HU
- IC
- ID
- IE
- IL
- IM
- IN
- IO
- IQ
- IR
- IS
- IT
- JE
- JM
- JO
- JP
- KE
- KG
- KH
- KI
- KM
- KN
- KP
- KR
- KW
- KY
- KZ
- LA
- LB
- LC
- LI
- LK
- LR
- LS
- LT
- LU
- LV
- LY
- MA
- MC
- MD
- ME
- MF
- MG
- MH
- MK
- ML
- MM
- MN
- MO
- MP
- MQ
- MR
- MS
- MT
- MU
- MV
- MW
- MX
- MY
- MZ
- NA
- NC
- NE
- NF
- NG
- NI
- NL
- 'NO'
- NP
- NR
- NT
- NU
- NZ
- OM
- PA
- PE
- PF
- PG
- PH
- PK
- PL
- PM
- PN
- PR
- PS
- PT
- PW
- PY
- QA
- RE
- RO
- RS
- RU
- RW
- SA
- SB
- SC
- SD
- SE
- SF
- SG
- SH
- SI
- SJ
- SK
- SL
- SM
- SN
- SO
- SR
- SS
- ST
- SU
- SV
- SX
- SY
- SZ
- TA
- TC
- TD
- TF
- TG
- TH
- TJ
- TK
- TL
- TM
- TN
- TO
- TP
- TR
- TT
- TV
- TW
- TZ
- UA
- UG
- UK
- UM
- US
- UY
- UZ
- VA
- VC
- VE
- VG
- VI
- VN
- VU
- WF
- WS
- XI
- XU
- XK
- YE
- YT
- YU
- ZA
- ZM
- ZR
- ZW
name:
type: string
description: Name of the supplier or merchant.
nullable: true
example: GOOGLE*ADS8693645259
taxIdentifier:
type: string
description: This is the tax identification of the supplier in their country of operation.
nullable: true
description: The supplier or merchant involved.
nullable: true
ExportItemAdditionalInformationV2:
required:
- reconciliationId
type: object
properties:
attendees:
type: array
description: Indicates attendance of participants at the time of the spend. For example, if an employee took clients to dinner, this attribute indicates who were present at the dinner.
nullable: true
items:
type: string
description: Indicates attendance of participants at the time of the spend. For example, if an employee took clients to dinner, this attribute indicates who were present at the dinner.
nullable: true
invoiceInformation:
$ref: '#/components/schem
# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pleo/refs/heads/main/openapi/pleo-export-items-v2-api-openapi.yml