This API enables you to synchronise the list of vendor records, applicable for your business, between the external ERP/accounting system and Pleo. This is crucial as this enables you to tag specific vendors to accounting entries, helping you in assessing the amount of expenses incurred per vendor.
Vendor Management
This is how vendor records are synchronised between Pleo and the ERP/accounting system:
- For importing the vendors from the ERP/accounting system to Pleo — the integration sends a request for each individual record to the
POST Create a New Vendor
endpoint. - Whenever, a new vendor is created in the accounting application, the integration sends a request to the
POST Create a New Vendor
endpoint — this creates a similar record in Pleo.
Note: The vendor is created in
Active
state and is identified by its uniquecode
assigned by the ERP/accounting application.
- If and when any updates are made to a vendor account in the accounting application, the integration sends a request to the
PUT Update a Vendor
endpoint. This ensures that the vendor records in both the accounting system and Pleo are always in sync. - When any vendor is inactivated or deleted in the ERP/accounting system — a request is sent to
POST Archive a Vendor
endpoint; the status is changed toarchive
state in Pleo. - Similarly, when any vendor is unarchived and set to the
active
status in the ERP/accounting system — a request is sent to thePOST Marks a Vendor as active
endpoint. This activates the vendor record in Pleo.
Important: For optimised results, we recommend the integration to send a request to the
POST Fetches Vendors by Search Criteria
endpoint to compare the records existing between the ERP/accounting system and Pleo; for fetching the search results, the integration must send the specific vendorcodes
. Based on the response received, the integration might create, update, archive, or activate vendors in Pleo.
Vendor Creation in Pleo
You can also create a new vendor in Pleo without the record existing in the ERP/accounting system — send a manual request to the POST Create a New Vendor
endpoint. The vendor is created in Draft
state as the corresponding record is not yet present in the client; also, the code
identifier is missing in this stage as it is assigned to each record by the ERP/accounting system. A webhook event v1.vendor.created
is generated and a notification is sent to the integration.
Once the record is created in the ERP system, the integration sends a request to the POST Marks a Vendor as Active
endpoint — this changes the Draft
state to Active
and also assigns a unique code
to the record.
Note: The synchronisation mechanism is run frequently to avoid stale data.
What is a Vendor?
A vendor is an individual or business entity that sells goods or services to customers.
Vendor API Functions
The Vendor API allows you to perform various operations related to vendors, such as creating, retrieving, updating, archiving, and activating vendors. Each vendor is identified by a unique code
that is assigned by the external application. Pleo also assigns an id
to each record for internal identification.
When an accounting entry is linked to a vendor, it helps to bookkeep the accounting entry to the correct vendor in the external accounting system.
Webhook Notification
When any vendor is created in Pleo (the record is not yet existing in the ERP/accounting system), a webhook event v1.vendor.created is triggered. If the integration has subscribed to this event, a notification is sent to the configured endpoint.
For more information on how to configure webhook subscriptions, see Configuring Webhooks During Integration.
Sample Webhook Notification
"Event Headers":
{
"webhook-id":"msg_p5jXN8AQM9LWM0D4loKWxJek",
"webhook-timestamp":1614265330,
"webhook-signature":"v1,g0hM9SsE+OTPJTGt/tmIKtSyZlE3uFJELVlNIOLJ1OE="
}
"Event Body":
{
"data": {
"id": "c27ed4d6-3d3d-458e-8f3f-735fdf32a3bc",
"companyId": "00000000-0000-0000-0000-000000000000",
"name": "Pleo Technologies GmbH",
"country": "DE",
"registrationNumber": "",
"taxRegistrationNumber": "DE36538686",
"code": null,
"state": "DRAFT",
"defaultCurrency": "EUR",
"createdBy": "22aff90a-a53d-4f0c-851f-dd4cc85ac947",
"createdAt": "2025-02-21T10:05:43.530450712Z",
"updatedAt": "2025-02-21T10:05:43.530450712Z",
"deletedAt": null,
},
"eventType": "v1.vendor.created",
"eventId": "13d8550d-dd22-46e9-ae18-c171846ba373"
}
Rate Limits
The APIs have a rate limit of 600 requests per minute.