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 |
| 902501 | Error when getting invoice draft |
| 902502 | Error when adding invoice draft |
| 902503 | Error when updating invoice draft |
| 902504 | Error when deleting invoice draft |
| 902505 | 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": 3009.477952865596, "articleName": "articleName", "pricelistId": 7714, "endDate": 1765735977169, "rentalAmount": 617.8347226633318, "created": 1765735977169, "dataType": "dataType", "articleId": "articleId", "isInvoiced": false, "rentalCurrency": "rentalCurrency", "dataId": 4526, "price": 2054.559151697227, "isProcessed": false, "dataArticleId": 6937, "currency": "currency", "comment": "comment", "invoiceId": "invoiceId", "id": 2142, "startDate": 1765735977169, "createdById": 1354 }], "ordersCount": 4498, "pages": 593, "pageSize": 1674, "page": 1247 }
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": 701.4904267572508, "articleName": "articleName", "pricelistId": 5104, "endDate": 1765735977182, "rentalAmount": 2476.655604156488, "created": 1765735977182, "dataType": "dataType", "articleId": "articleId", "isInvoiced": false, "rentalCurrency": "rentalCurrency", "dataId": 5230, "price": 8277.18322386467, "isProcessed": false, "dataArticleId": 9004, "currency": "currency", "comment": "comment", "invoiceId": "invoiceId", "id": 4087, "startDate": 1765735977182, "createdById": 3638 }], "ordersCount": 7564, "pages": 1440, "pageSize": 4620, "page": 1839 }
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": 8861.94795452765, "articleName": "articleName", "pricelistId": 404, "endDate": 1765735977183, "rentalAmount": 8865.19177027745, "created": 1765735977183, "dataType": "dataType", "articleId": "articleId", "isInvoiced": true, "rentalCurrency": "rentalCurrency", "dataId": 9024, "price": 6825.778186274457, "isProcessed": false, "dataArticleId": 2368, "currency": "currency", "comment": "comment", "invoiceId": "invoiceId", "id": 7618, "startDate": 1765735977183, "createdById": 5472 }], "articles": [{ "articleName": "articleName", "snId": "snId", "invoicedAmount": 5312.708453120158, "batchSnBestBefore": 8739, "accountName": "accountName", "articleId": "articleId", "priceListId": 5286, "purchasePrice": 5955.287222598169, "batchId": "batchId", "rental": true, "rentalCurrency": "rentalCurrency", "accountId": 3489, "checkoutDate": 203, "price": 2641.132685915285, "comment": "comment", "id": 9488, "projectId": 5338, "checkoutAmount": 4516.444084016865, "events": [{ "date": 1765735977183, "amount": 8702.508964396206, "type": "type" }], "checkinConsumeDate": 1765735977183, "checkinAmount": 9158.62980504502, "consumedAmount": 7007.963940125183 }] }
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 |