Invoices API
General:
Basics:
Base-URL: https://capi.lagerkoll.com/v1/invoices/
Parameters in the url should all be encoded and all data sent should be UTF-8
MAX number of requests per minute is set to 200.
When the limit is hit an error with code 429 is returned, with the header "Retry-After" containing the number of seconds you have to wait for your next request.
When the limit is hit an error with code 429 is returned, with the header "Retry-After" containing the number of seconds you have to wait for your next request.
Headers:
There are 2 ways to be authenticated when using this API. in both ways you add headers to the request.
1) Use an API-key together with store-id. This would be used when communicating machine to machine and no real person is involved. The API-key is available from where you activated the API. The store-id is also available in the same place.
2) Use a user_id and user_token together with a store-id. You get these values from the login-request. The values are connected to a person and are gained when an actual login to the system has been made.
1) Use an API-key together with store-id. This would be used when communicating machine to machine and no real person is involved. The API-key is available from where you activated the API. The store-id is also available in the same place.
2) Use a user_id and user_token together with a store-id. You get these values from the login-request. The values are connected to a person and are gained when an actual login to the system has been made.
store: <<STORE>> user_id: <<USER_ID>> user_token: <<USER_TOKEN>> api_key: <<API_KEY>> Accept: application/json Content-Type: application/json
Errors:
| Code | Description |
|---|---|
| 900001 | Credentials don't match |
| 900101 | Common error |
| 900429 | Too many requests |
| 901801 | Error when getting invoice draft |
| 901802 | Error when adding invoice draft |
| 901803 | Error when updating invoice draft |
| 901804 | Error when deleting invoice draft |
| 901805 | Error when invoicing draft |
{
"errorCode" : 900101,
"errorMessage" : "Something went wrong on the server",
"errorField" : null,
"errorData" : null
}
Invoices API:
Invoice drafts
Get invoice drafts
GETUrl: /drafts
Headers:
Accept: application/json or application/xml
Get a list of invoice drafts
Valid parameters:
| Parameter | Description | Default value | Allowed values |
|---|---|---|---|
| query | |||
| type | ALL | ALL, PROJECT, CUSTOMER_ORDER | |
| return_invoiced_rows | true | ||
| page | 0 | ||
| limit | 100 | ||
| sort_column | created | type, article_id, article_name, user, created | |
| sort_order | desc | asc,desc |
Body:
Successfull response:
{ "invoiceDrafts": [{ "createdByName": "createdByName", "amount": 9348.222539891398, "articleName": "articleName", "pricelistId": 4684, "endDate": 1761269339828, "rentalAmount": 9483.566927463158, "created": 1761269339828, "dataType": "dataType", "articleId": "articleId", "isInvoiced": false, "rentalCurrency": "rentalCurrency", "dataId": 8265, "price": 1597.9501786658877, "isProcessed": false, "dataArticleId": 6980, "currency": "currency", "comment": "comment", "invoiceId": "invoiceId", "id": 2343, "startDate": 1761269339828, "createdById": 7039 }], "ordersCount": 9708, "pages": 4112, "pageSize": 2505, "page": 9298 }
Create invoice draft
POSTUrl: /drafts/customer_order/{order_id}
Headers:
Accept: application/json or application/xml
Content-type: application/json or application/xml
Content-type: application/json or application/xml
Create invoice drafts for articles in customer order
Body:
Successfull response:
{ "invoiceDrafts": [{ "createdByName": "createdByName", "amount": 6795.808290642419, "articleName": "articleName", "pricelistId": 8285, "endDate": 1761269339829, "rentalAmount": 2505.7358653732763, "created": 1761269339829, "dataType": "dataType", "articleId": "articleId", "isInvoiced": true, "rentalCurrency": "rentalCurrency", "dataId": 9203, "price": 5466.476967424454, "isProcessed": true, "dataArticleId": 9035, "currency": "currency", "comment": "comment", "invoiceId": "invoiceId", "id": 5154, "startDate": 1761269339829, "createdById": 3959 }], "ordersCount": 3723, "pages": 9427, "pageSize": 2266, "page": 5176 }
Invoice drafts
PUTUrl: /drafts/invoice
Headers:
Accept: application/json or application/xml
Content-type: application/json or application/xml
Content-type: application/json or application/xml
Send existing invoice drafts to external integrations and sets the draft to invoiced
Body:
{ "type": "type", "invoiceDraftIds": [{}] }
Successfull response:
{ "invoiceDrafts": [{ "createdByName": "createdByName", "amount": 2116.240656845595, "articleName": "articleName", "pricelistId": 6889, "endDate": 1761269339830, "rentalAmount": 6655.707104194326, "created": 1761269339830, "dataType": "dataType", "articleId": "articleId", "isInvoiced": false, "rentalCurrency": "rentalCurrency", "dataId": 2042, "price": 9760.896211362218, "isProcessed": false, "dataArticleId": 3432, "currency": "currency", "comment": "comment", "invoiceId": "invoiceId", "id": 4570, "startDate": 1761269339830, "createdById": 6739 }], "articles": [{ "articleName": "articleName", "snId": "snId", "invoicedAmount": 140.23876106385336, "batchSnBestBefore": 351, "accountName": "accountName", "articleId": "articleId", "priceListId": 9883, "purchasePrice": 2128.220911040889, "batchId": "batchId", "rental": true, "rentalCurrency": "rentalCurrency", "accountId": 9580, "checkoutDate": 3912, "price": 1105.811499058672, "comment": "comment", "id": 5814, "projectId": 3506, "checkoutAmount": 1499.7672996060885, "events": [{ "date": 1761269339830, "amount": 7464.894084455659, "type": "type" }], "checkinConsumeDate": 1761269339830, "checkinAmount": 6791.311242339612, "consumedAmount": 7703.988878220055 }] }
Classes:
InvoiceDraftDto
| Field | Type | Description | Default | Mandatory | Accepted values | Example values | Access |
|---|---|---|---|---|---|---|---|
| id | long | R | |||||
| dataType | String | R | |||||
| dataId | Long | R | |||||
| dataArticleId | Long | R | |||||
| articleId | String | R | |||||
| articleName | String | R | |||||
| amount | Double | R | |||||
| price | Double | R | |||||
| pricelistId | long | R | |||||
| currency | String | R | |||||
| rentalCurrency | String | R | |||||
| startDate | Date | R | |||||
| endDate | Date | R | |||||
| rentalAmount | Double | R | |||||
| comment | String | R | |||||
| isInvoiced | boolean | Indicates if row has been marked as invoiced | R | ||||
| isProcessed | boolean | Indicates if row has been completely processed as invoiced | R | ||||
| invoiceId | String | If row has been invoiced, this is id of the created invoice | R | ||||
| createdById | Long | R | |||||
| createdByName | String | R | |||||
| created | Date | R |
InvoiceDraftIdsRequestDto
| Field | Type | Description | Default | Mandatory | Accepted values | Example values | Access |
|---|---|---|---|---|---|---|---|
| invoiceDraftIds | List | R,W | |||||
| type | String | invoice, cash, card, ag | R |
InvoiceDraftsResponseDto
| Field | Type | Description | Default | Mandatory | Accepted values | Example values | Access |
|---|---|---|---|---|---|---|---|
| page | int | R | |||||
| pages | int | R | |||||
| pageSize | int | R | |||||
| ordersCount | int | R | |||||
| invoiceDrafts | List | R |
InvoiceProjectArticlesResponseDto
| Field | Type | Description | Default | Mandatory | Accepted values | Example values | Access |
|---|---|---|---|---|---|---|---|
| articles | List | R | |||||
| invoiceDrafts | List | R |
ProjectArticleDto
| Field | Type | Description | Default | Mandatory | Accepted values | Example values | Access |
|---|---|---|---|---|---|---|---|
| id | long | R,W | |||||
| projectId | long | R,W | |||||
| articleId | String | R,W | |||||
| articleName | String | R,W | |||||
| batchId | String | R,W | |||||
| snId | String | R,W | |||||
| batchSnBestBefore | Long | R,W | |||||
| checkoutAmount | Double | R,W | |||||
| checkinAmount | Double | R,W | |||||
| consumedAmount | Double | R,W | |||||
| invoicedAmount | Double | R,W | |||||
| priceListId | long | R,W | |||||
| rental | boolean | R,W | |||||
| price | double | R,W | |||||
| rentalCurrency | String | R,W | |||||
| comment | String | R,W | |||||
| purchasePrice | Double | R,W | |||||
| events | List | R,W | |||||
| accountId | long | R,W | |||||
| accountName | String | R,W | |||||
| checkoutDate | Long | R,W | |||||
| checkinConsumeDate | Date | R,W |
ProjectArticleEventDto
| Field | Type | Description | Default | Mandatory | Accepted values | Example values | Access |
|---|---|---|---|---|---|---|---|
| type | String | R,W | |||||
| amount | double | R,W | |||||
| date | Date | R,W |