Vendors
Manage vendor contact, payment, and banking information for expenses.
Create Vendor
POST https://api.invoiless.com/v1/vendors
Create a new vendor with contact and payment information.
Example:
{
"address": {
"company": "Acme Supplies",
"email": "billing@example.com",
"phone": "202-555-0113",
"address": "4320 Ryder Avenue"
}
}
Body Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| address | object | Vendor address | Yes |
| tax | object | Tax identifier with a custom name (e.g. VAT ID, Tax Number, GST Number) | No |
| registration | object | Legal/company registration identifier (e.g. KVK, Handelsregister, SIREN) | No |
| reference | string | Vendor-assigned reference for your account, e.g. the customer/account number printed on their bills (max 100 characters) | No |
| currency | string | ISO 4217 currency code | No |
| paymentTerms | number | Payment terms in days (integer, min 0) | No |
| bank | object | Vendor bank account details | No |
| notes | string | Private notes (max 1000 characters) | No |
| tags | array[string] | Vendor tags (max 10 tags, each max 50 characters) | No |
Address Parameters
Either
firstNameandlastName, orcompany, is required.
| Name | Type | Description | Required |
|---|---|---|---|
| firstName | string | First name (max 100 characters) | No |
| lastName | string | Last name (max 100 characters) | No |
| company | string | Company name (max 100 characters) | No |
string | Email address (lowercase) | No | |
| phone | string | Phone number (max 50 characters) | No |
| address | string | Street address (max 500 characters) | No |
| city | string | City (max 100 characters) | No |
| state | string | State or province (max 100 characters) | No |
| postalCode | string | Postal code (max 20 characters) | No |
| country | string | ISO 3166-1 alpha-2 country code, e.g. US | No |
| legal | string | Any legal details to show on documents (max 100 characters) | No |
If firstName is provided, lastName must also be provided.
Tax / Registration Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| id | string | Identifier value (max 50 characters) | Yes, if name is provided |
| name | string | Identifier name, e.g. VAT ID (max 50 characters) | No |
Bank Parameters
The bank object shape depends on its type. All types share these fields:
| Name | Type | Description | Required |
|---|---|---|---|
| type | string | Bank account type, possible values are iban, us, uk, india, canada, australia, or generic | Yes |
| name | string | Bank name (max 100 characters) | No |
| accountHolder | string | Account holder name (max 100 characters) | No |
Additional fields per type:
| Type | Name | Type | Description |
|---|---|---|---|
iban | iban | string | IBAN (ISO 13616) |
iban | bic | string | SWIFT/BIC (8 or 11 characters) |
us | accountNumber | string | Account number (max 50 characters) |
us | routingNumber | string | ABA routing number (9 digits) |
us | accountType | string | Possible values are checking or savings |
uk | accountNumber | string | Account number (8 digits) |
uk | sortCode | string | Sort code (6 digits, e.g. 12-34-56) |
india | accountNumber | string | Account number (9-18 digits) |
india | ifsc | string | IFSC code (11 characters, e.g. HDFC0001234) |
canada | accountNumber | string | Account number (max 50 characters) |
canada | transitNumber | string | Transit number (5 digits) |
canada | institutionNumber | string | Institution number (3 digits) |
australia | accountNumber | string | Account number (max 50 characters) |
australia | bsb | string | BSB (6 digits, e.g. 123-456) |
generic | accountNumber | string | Account number (max 50 characters) |
generic | swift | string | SWIFT/BIC (8 or 11 characters) |
Update Vendor
PUT https://api.invoiless.com/v1/vendors/:id
PATCH https://api.invoiless.com/v1/vendors/:id
Update an existing vendor. See PUT vs PATCH for details on the differences.
Path Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| id | string | Vendor id | Yes |
Body Parameters
Accepts the same parameters as Create Vendor.
Get Vendor
GET https://api.invoiless.com/v1/vendors/:id
Retrieve a specific vendor by ID.
Path Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| id | string | Vendor id | Yes |
Get Vendors
GET https://api.invoiless.com/v1/vendors
Retrieve a paginated list of all vendors.
Query Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| page | number | Page number | No, default is 1 |
| limit | number | Page limit | No, default is 50 |
| search | string | Search by vendor name, email, phone, or tags | No |
Delete Vendor
DELETE https://api.invoiless.com/v1/vendors/:id
Permanently delete a vendor.
Path Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| id | string | Vendor id | Yes |