Transactions
Track income and expenses with transaction records.
Create Transaction
POST https://api.invoiless.com/v1/transactions
Create a new transaction (income or expense).
Example:
{
"type": "Income",
"amount": 1500.0,
"currency": "USD",
"date": "2024-01-15",
"customer": "customer_id",
"category": "category_id",
"method": "BankTransfer",
"referenceId": "INV-2024-001",
"notes": "Payment for invoice #001",
"taxes": [
{
"name": "VAT",
"type": "Percentage",
"value": 20
}
]
}
Body Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| type | string | Transaction type: Income or Expense | Yes |
| amount | number | Transaction amount (must be > 0) | Yes |
| currency | string | ISO 4217 currency code | No |
| date | date | Transaction date | No |
| customer | string | Customer ID | No |
| category | string | Category ID | No |
| method | string | Payment method: Cash, Cheque, Card, BankTransfer, or Other | No |
| referenceId | string | Reference ID (max 50 characters) | No |
| notes | string | Transaction notes (max 500 characters) | No |
| taxes | array | Transaction taxes (max 3 taxes) | No |
Taxes Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| name | string | Tax name (max 15 characters) | No |
| type | string | Tax type, possible values are Flat or Percentage | No, default is Percentage |
| value | number | Tax value | Yes |
Response HTTP/1.1 201 Created
Returns the created transaction object.
Update Transaction
PUT https://api.invoiless.com/v1/transactions/:id
PATCH https://api.invoiless.com/v1/transactions/:id
Update an existing transaction. See PUT vs PATCH for details on the differences.
Path Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| id | string | Transaction id | Yes |
Body Parameters
Accepts the same parameters as Create Transaction.
Get Transaction
GET https://api.invoiless.com/v1/transactions/:id
Retrieve a specific transaction by ID.
Path Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| id | string | Transaction id | Yes |
Get Transactions
GET https://api.invoiless.com/v1/transactions
Retrieve a paginated list of all transactions.
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 reference ID or notes | No |
Delete Transaction
DELETE https://api.invoiless.com/v1/transactions/:id
Permanently delete a transaction.
Path Parameters
| Name | Type | Description | Required |
|---|---|---|---|
| id | string | Transaction id | Yes |