Jortt API
Version 1.0.0
Introduction
Welcome to the Jortt API. This API is meant for applications that want to connect to the Jortt application.
This API is designed around the REST principles.
OAuth 2.0 is used for authentication and authorization.
The Jortt API supports Open API version 2.0 (formerly known as Swagger) for describing the API interface. Check openapi.tools for handy tooling (such a generating client libraries).
You can also download the API specification.
Test with Postman app
The Run in Postman button imports and opens the Jortt collection of API endpoints directly in your Postman app. Ready to create your first customer and invoice via the API.
To get an Access token, edit the Jortt API collection, go to the Authorization tab and use the Get New Access Token button.
Connecting
Connecting your application with the Jortt API requires you to register your application as a client in our authorization server. We support the following OAuth 2.0 grant types:
- Authorization code (for third party apps, for example a webshop)
- Client credentials (for your own app)
After successful registration you will receive the necessary credentials (client ID and secret) to initiate the OAuth 2.0 flow to gain access.
When retrieving the initial access_token you need to pass the client_id and client_secret in the
Authorization header.
Authorization code grant type
The authorization_code grant type should be used by third party applications (for example a webshop) that can be used
by any Jortt administration. If you are developing an application just for your own administration, you must use the
client credentials grant type.
The following links describe the authorization_code grant type in detail:
For the authorization_code grant type, you don't necessarily need access to a Jortt account (although it may be handy
for testing). You can always sign up for a free Jortt account.
In order to use the authorization_code grant type, please send an e-mail to
support@jortt.nl to register your application and provide the following
information:
- Application name
- Redirect URL
- Required scopes
Getting a Jortt adminstration's (read: user's) consent
Your application first needs to decide which permissions it is requesting, then send the user to a browser to get their permission. To begin the authorization flow, the application constructs a URL like the following and open a browser to that URL.
curl https://app.jortt.nl/oauth-provider/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REDIRECT_URI&response_type=code&scope=YOUR_SCOPES&state=RANDOM_STRING
When the user visits this URL, it will present them with a prompt asking if they would like to authorize your application's request.
If the user approves the request, Jortt will redirect the browser back to the redirect_uri specified by your
application, adding a code to the query string along with the provided state parameter.
Obtaining an access token
For example:
curl -X POST -u "YOUR_CLIENT_ID:YOUR_CLIENT_SECRET" -d "grant_type=authorization_code&code=YOUR_AUTHORIZATION_CODE&redirect_uri=YOUR_REDIRECT_URI" https://app.jortt.nl/oauth-provider/oauth/token
Would respond with:
{
"access_token": "YOUR_ACCESS_TOKEN",
"token_type": "Bearer",
"expires_in": 7200,
"refresh_token": "YOUR_REFRESH_TOKEN",
"scope": "YOUR_SCOPES",
"created_at": 1587717832
}
Refreshing a token
For example:
curl -X POST -u "YOUR_CLIENT_ID:YOUR_CLIENT_SECRET" -d "grant_type=refresh_token&refresh_token=YOUR_REFRESH_TOKEN" https://app.jortt.nl/oauth-provider/oauth/token
Would respond with:
{
"access_token": "YOUR_NEW_ACCESS_TOKEN",
"token_type": "Bearer",
"expires_in": 7200,
"refresh_token": "YOUR_NEW_REFRESH_TOKEN",
"scope": "YOUR_SCOPES",
"created_at": 1587717832
}
Client credentials grant type
The client_credentials grant type should be used by applications that you've built solely for your own administration
(the application is bound to the administration that created it). If you are developing an application that should be
accessible for all Jortt administrations (for example a webshop), you must use the
authorization code grant type.
The following links describe the client_credentials grant type in detail:
You will need to have access to a Jortt account, and register your application.
Obtaining an access token
For example:
curl -X POST -u "YOUR_CLIENT_ID:YOUR_CLIENT_SECRET" -d "grant_type=client_credentials&scope=YOUR_SCOPES" https://app.jortt.nl/oauth-provider/oauth/token
Would respond with:
{
"access_token": "YOUR_ACCESS_TOKEN",
"token_type": "Bearer",
"expires_in": 7200,
"scope": "YOUR_SCOPES",
"created_at": 1588331418
}
Making requests
Whenever you make an HTTP request to the Jortt API, the response will contain a
JSON object with (at least) either a data key (a success response) or
an error key (an error response).
Please check the documentation of endpoints for the details of responses.
The access_token must be provided as an HTTP header: Authorization: Bearer YOUR_ACCESS_TOKEN.
Success response
An HTTP response with status code 200 OK or 201 Created indicates the request was successful.
Request example
curl -X GET https://api.jortt.nl/customers/c4075eb6-2028-457e-817f-a6a8d4703fbb -H "Authorization: Bearer czZCaGRSa3F0MzpnWDFmQmF0M2JW"
Response example
HTTP/1.1 200 OK
Content-Type: application/json
{
"data": [
{
"id": "c4075eb6-2028-457e-817f-a6a8d4703fbb",
... more properties
}
]
}
Error response
An HTTP response with status code 4xx or 5xx indicates there was an error while processing the request.
The response body will contain extra information about the error.
Request example
curl -X POST https://api.jortt.nl/customers -H "Authorization: Bearer czZCaGRSa3F0MzpnWDFmQmF0M2JW"
Response example
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
{
"error": {
"code": 422,
"key": "invalid_params",
"message": "The parameters are invalid (either missing, not of the correct type or incorrect format).",
"details": [
{
"param": "customer_id",
"key": "is_missing",
"message": "is missing"
}
]
}
}
Errors
The following table describes the errors found in responses.
| Code | Key | Description |
|---|---|---|
401 |
access_token.invalid |
The access_token is either missing or invalid. |
401 |
access_token.expired |
The access_token has expired. Use refresh_token to get a new access_token. |
401 |
access_token.revoked |
The access_token has been revoked. |
401 |
scopes.insufficient |
Insufficient permissions (read: missing scopes) to access resource. Your application probably needs more scopes. |
401 |
organization.non_existing |
The corresponding organization for your access token does not exist. |
401 |
organization.requires_mkb_plan |
The corresponding organization for your access token does not have a jortt MKB or jortt Plus plan. |
401 |
user.non_existing |
The corresponding user for your access token does not exist. |
401 |
user.invalid_credentials |
The corresponding user for your credentials does not exist. |
401 |
two_factor_code.invalid |
Invalid code supplied. |
401 |
two_factor_code.missing_secret |
Two-step verification code |
404 |
endpoint.not_found |
Invalid or non existing endpoint. |
404 |
resource.not_found |
Requested resource cannot be found. |
405 |
resource.method_not_allowed |
The method is not allowed on this resource. |
409 |
resource.conflict |
A conflict occurred while processing the request. This can happen when two processes are trying to modify the same resource simultaneously. |
422 |
params.invalid |
The parameters are invalid (either missing, not of the correct type or incorrect format). |
422 |
params.invalid_format |
The parameters could not be parsed (as specified by the Content-Type header). Please either specify the correct Content-Type or fix the parameters formatting. |
422 |
params.invalid_encoding |
The parameters contain invalid UTF-8 characters and could not be parsed. |
422 |
operation.invalid |
The operation could not be executed on the resource. |
422 |
operation.year_closed |
The operation could not be executed because it affects a closed financial year: %{closed_year}. To execute the operation, please open the financial year in your jortt administration first. |
429 |
request.throttled |
The request has been throttled, please try again later. |
500 |
server.internal_error |
Internal server error. Sorry, we screwed up :-( Please try again later. |
503 |
server.maintenance |
API is temporarily offline for maintenance. Please try again later. |
503 |
integration.outage |
An integration has an outage. Please try again later. |
Rate limiting
In order to ensure fair performance of our API we have rate limits in place. This limit is set to 10 requests per second.
Pagination
Fetching all objects of a resource can be convenient. At the same time, returning too many objects at once can be unpractical from a performance perspective.
Doing so might be too much work for the Jortt API to generate, or for your system to process.
For this reason in the case of a request that should return a list of objects, the Jortt API only returns a subset of the requested set of objects. In other words, the Jortt API chops the result of a certain API method call into pages you are able to programmatically scroll through.
The maximum number of objects returned per page is 100.
In those cases, a successful response body will contain a data key and a _links key with extra information to be able to paginate. links
For example:
curl -X GET https://api.jortt.nl/customers?query=bob -H "Authorization: Bearer czZCaGRSa3F0MzpnWDFmQmF0M2JW"
Would respond with:
HTTP/1.1 200 OK
Content-Type: application/json
{
"data": [
{
"id": "c4075eb6-2028-457e-817f-a6a8d4703fbb",
... more properties
}
{
"id": "d453034d-6a33-44b3-8d5f-f962beeeb956",
... more properties
}
... more objects
]
"_links": {
"self": {
"href": "https://api.jortt.nl/customers?query=bob?page=1",
"type": "application/json"
},
"previous": null,
"next": {
"href": "https://api.jortt.nl/customers?query=bob?page=2",
"type": "application/json"
},
"documentation": {
"href": "https://developer.jortt.nl/#pagination",
"type": "application/json"
},
}
}
https://api.jortt.nl
application/json
10 requests / second
Max 100 per page
Response format
Successful responses wrap the result in a data key. Errors use an error key. Paginated responses include a _links key.
{
"data": { ... },
"_links": {
"self": { "href": "https://api.jortt.nl/v1/customers?page=2" },
"next": { "href": "https://api.jortt.nl/v1/customers?page=3" },
"prev": { "href": "https://api.jortt.nl/v1/customers?page=1" }
}
}
Authentication
All API requests require a Bearer token in the Authorization header.
Authorization: Bearer YOUR_ACCESS_TOKEN
OAuth 2.0 grant types
For third-party applications acting on behalf of a user.
| Authorization URL | https://app.jortt.nl/oauth-provider/oauth/authorize |
|---|---|
| Token URL | https://app.jortt.nl/oauth-provider/oauth/token |
For your own applications connecting directly to your Jortt account.
| Token URL | https://app.jortt.nl/oauth-provider/oauth/token |
|---|
Available scopes
| Scope | Description |
|---|---|
customers:read | Read customer data |
customers:write | Create and update customers |
invoices:read | Read invoice data |
invoices:write | Create and update invoices |
estimates:read | Read estimate data |
estimates:write | Create and update estimates |
expenses:read | Read expense data |
expenses:write | Create and update expenses |
organizations:read | Read organization details |
organizations:write | Update organization details |
reports:read | Read financial reports |
payroll:read | Read payroll data |
payroll:write | Create payroll postings |
inbox:write | Upload receipts to inbox |
financing:read | Read financing data |
v3 latest
Customers
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Customer vat percentages |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a list of vats valid for the Customer |
id |
string | Resource identifier (UUID) |
vats |
array[object] | list of valid vats |
value |
number | A string representing vat percentage as a decimal |
category |
string | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
curl -X GET "https://api.jortt.nl/v3/customers/{customer_id}/vat-percentages" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"vats": [
{
"value": "0.21",
"category": "exempt"
}
]
}
}
If the query is null (e.g GET /customers), it will retrieve all Customers in alphabetical order of customer_name.
Otherwise if a query is passed (e.g GET /customers?query=foo), it will search and list only the Customers
matching the query, ordered alphabetically on `customer_name``.
| Name | Type | In | Description |
|---|---|---|---|
query |
string | query | Search query (at least 3 characters) |
page |
integer | query | Page of the response (minimum 1) |
| Status | Description |
|---|---|
| 200 | Customers |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Customers |
id |
string | Resource identifier (UUID) |
is_private |
boolean | Whether this Customer is a private person (true) or a company (false) |
customer_name |
string | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
address_street |
string | Street and house number of the address of a Customer (required when is_private is false) |
address_postal_code |
string | Postal code of the address of a Customer (required when is_private is false) |
address_city |
string | City of the address of a Customer (required when is_private is false) |
address_country_code |
string | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
address_country_name |
string | Country name of a Customer (applicable when is_private is false, defaults to NL) |
address_extra_information |
string | Extra line of Customer address information |
shift_vat |
boolean | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
vat_number |
string | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
coc_number |
string | The Chamber of Commerce number (KvK-nummer) of a Customer (applicable when is_private is false) |
initials |
string | Initials of a Customer (applicable when is_private is true) |
first_name |
string | First name of a Customer (applicable when is_private is true) |
last_name |
string | Last name of a Customer (applicable when is_private is true) |
date_of_birth |
string | Date of birth of a Customer (applicable when is_private is true) |
citizen_service_number |
string | Citizen service number (BSN-nummer) of a Customer (applicable when is_private is true) |
attn |
string | To the attention of |
phonenumber |
string | A Customer's phone number |
website |
string | A Customer's website |
email |
string | E-mail address to send the Invoice to |
cc_emails |
array[string] | An array of e-mail addresses to CC when the Invoice is sent |
email_salutation |
string | Salutation used in the e-mail (template) when sending an Invoice |
additional_information |
string | Extra Customer information |
payment_term |
integer | Payment term for Invoices (in days, defaults to 30) |
invoice_language |
string | The language in which the Invoice will be translated |
payment_method_invoice |
string | How the Invoice can be paid. Determines the payment instructions printed on the Invoice. Choose from:
The default is |
reference |
string | Custom reference (for example the ID of a customer in an external CRM) |
mollie_direct_debit_status |
string | The status of a mollie direct debit request. Options are:
|
mollie_customer_id |
string | Unique ID of the customer in Mollie |
mollie_mandate_id |
string | Unique ID of the mandate of a customer in Mollie |
default_ledger_account_id |
string | Resource identifier (UUID) of the ledger account to be set as default for a customer, which will automatically be applied to their invoices. |
archived |
boolean | Whether or not the item has been archived. |
default_label_id |
string | Resource identifier (UUID) of the label to be set as default for a customer, which will automatically be applied to their invoices & estimates. |
default_discount_description |
string | Description a default discount to apply to any invoices or estimates created for this customer |
default_discount_percentage |
integer | The default discount to apply expressed as a percentage |
peppol_scheme_code |
integer | Prefix describing the scheme of the peppol identifier. Used when sending invoices via Peppol |
peppol_identifier |
integer | Code used to identify a Peppol legal entity. Used when sending invoices via Peppol |
_links |
object | Links to help navigate through the lists of objects. |
previous |
object | A URL object representing the previous set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
next |
object | A URL object representing the next set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
self |
object | A URL object representing the current set of objects. |
href |
string | The URL. |
type |
string | The content type of the URL. |
documentation |
object | A URL object to the pagination documentation of the api. |
href |
string | The URL. |
type |
string | The content type of the URL. |
curl -X GET "https://api.jortt.nl/v3/customers" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?query=<value>&page=<value>
{
"data": [
{
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"is_private": true,
"customer_name": "Jortt",
"address_street": "Rozengracht 75a",
"address_postal_code": "1012 AB",
"address_city": "Amsterdam",
"address_country_code": "NL",
"address_country_name": "Nederland",
"address_extra_information": "2nd floor",
"shift_vat": false,
"vat_number": "NL000099998B57",
"coc_number": "41202536",
"initials": "FL",
"first_name": "Jane",
"last_name": "Doe",
"date_of_birth": "1985-04-29",
"citizen_service_number": "123456789",
"attn": "Finance Department",
"phonenumber": "+31658798654",
"website": "www.example.com",
"email": "example@email.com",
"cc_emails": [
"example@email.com",
"example2@email.com"
],
"email_salutation": "Geachte mevrouw,",
"additional_information": "this is extra info",
"payment_term": 30,
"invoice_language": "nl",
"payment_method_invoice": "pay_later",
"reference": "BX123-123",
"mollie_direct_debit_status": "mollie_direct_debit_requested",
"mollie_customer_id": "cst_kEn1PlbGa",
"mollie_mandate_id": "mdt_h3gAaD5zP",
"default_ledger_account_id": "61a5b600-16bc-013d-3d2d-42742b204134",
"archived": false,
"default_label_id": "57aab2d0-16b8-013d-3d2c-42742b204134",
"default_discount_description": "this is a description example",
"default_discount_percentage": 21,
"peppol_scheme_code": "KVK",
"peppol_identifier": "12345677"
}
],
"_links": {
"previous": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"next": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"self": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"documentation": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
}
}
}
is_private to true) or
a company (set is_private to false).
The required attributes are different for a private person than a company. See parameters documentation below for details.
| Name | Type | In | Description |
|---|---|---|---|
CreateCustomerrequired |
object | body | |
is_privaterequired |
boolean | body | Whether this Customer is a private person (true) or a company (false) |
customer_namerequired |
string | body | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
address_street |
string | body | Street and house number of the address of a Customer (required when is_private is false) |
address_postal_code |
string | body | Postal code of the address of a Customer (required when is_private is false) |
address_city |
string | body | City of the address of a Customer (required when is_private is false) |
address_country_code |
string | body | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
address_extra_information |
string | body | Extra line of Customer address information |
shift_vat |
boolean | body | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
vat_number |
string | body | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
coc_number |
string | body | The Chamber of Commerce number (KvK-nummer) of a Customer (applicable when is_private is false) |
salutation |
string | body | The way a Customer is addressed (applicable when is_private is true) |
initials |
string | body | Initials of a Customer (applicable when is_private is true) |
first_name |
string | body | First name of a Customer (applicable when is_private is true) |
last_name |
string | body | Last name of a Customer (applicable when is_private is true) |
date_of_birth |
string | body | Date of birth of a Customer (applicable when is_private is true) |
citizen_service_number |
string | body | Citizen service number (BSN-nummer) of a Customer (applicable when is_private is true) |
attn |
string | body | To the attention of |
phonenumber |
string | body | A Customer's phone number |
website |
string | body | A Customer's website |
email |
string | body | E-mail address to send the Invoice to |
cc_emails |
array[string] | body | An array of e-mail addresses to CC when the Invoice is sent |
email_salutation |
string | body | Salutation used in the e-mail (template) when sending an Invoice |
additional_information |
string | body | Extra Customer information |
payment_term |
integer | body | Payment term for Invoices (in days, defaults to 30) |
invoice_language |
string | body | The language in which the Invoice will be translated |
payment_method_invoice |
string | body | How the Invoice can be paid. Determines the payment instructions printed on the Invoice. Choose from:
The default is |
reference |
string | body | Custom reference (for example the ID of a customer in an external CRM) |
default_label_id |
string | body | Resource identifier (UUID) of the label to be set as default for a customer, which will automatically be applied to their invoices & estimates. |
default_ledger_account_id |
string | body | Resource identifier (UUID) of the ledger account to be set as default for a customer, which will automatically be applied to their invoices. |
default_discount_description |
string | body | Description a default discount to apply to any invoices or estimates created for this customer |
default_discount_percentage |
integer | body | The default discount to apply expressed as a percentage |
peppol_scheme_code |
integer | body | Prefix describing the scheme of the peppol identifier. Used when sending invoices via Peppol |
peppol_identifier |
integer | body | Code used to identify a Peppol legal entity. Used when sending invoices via Peppol |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
id |
string | The identifier of the created resource |
curl -X POST "https://api.jortt.nl/v3/customers" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"is_private": true,
"customer_name": "Jortt",
"address_street": "Rozengracht 75a",
"address_postal_code": "1012 AB",
"address_city": "Amsterdam",
"address_country_code": "NL",
"address_extra_information": "2nd floor",
"shift_vat": false,
"vat_number": "NL000099998B57",
"coc_number": "41202536",
"salutation": "madam",
"initials": "FL",
"first_name": "Jane",
"last_name": "Doe",
"date_of_birth": "1985-04-29",
"citizen_service_number": "123456789",
"attn": "Finance Department",
"phonenumber": "+31658798654",
"website": "www.example.com",
"email": "example@email.com",
"cc_emails": [
"example@email.com",
"example2@email.com"
],
"email_salutation": "Geachte mevrouw,",
"additional_information": "this is extra info",
"payment_term": 30,
"invoice_language": "nl",
"payment_method_invoice": "pay_later",
"reference": "BX123-123",
"default_label_id": "57aab2d0-16b8-013d-3d2c-42742b204134",
"default_ledger_account_id": "61a5b600-16bc-013d-3d2d-42742b204134",
"default_discount_description": "this is a description example",
"default_discount_percentage": 21,
"peppol_scheme_code": "KVK",
"peppol_identifier": "12345677"
}'
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
}
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Customer |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a single Customer |
id |
string | Resource identifier (UUID) |
is_private |
boolean | Whether this Customer is a private person (true) or a company (false) |
customer_name |
string | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
address_street |
string | Street and house number of the address of a Customer (required when is_private is false) |
address_postal_code |
string | Postal code of the address of a Customer (required when is_private is false) |
address_city |
string | City of the address of a Customer (required when is_private is false) |
address_country_code |
string | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
address_country_name |
string | Country name of a Customer (applicable when is_private is false, defaults to NL) |
address_extra_information |
string | Extra line of Customer address information |
shift_vat |
boolean | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
vat_number |
string | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
coc_number |
string | The Chamber of Commerce number (KvK-nummer) of a Customer (applicable when is_private is false) |
initials |
string | Initials of a Customer (applicable when is_private is true) |
first_name |
string | First name of a Customer (applicable when is_private is true) |
last_name |
string | Last name of a Customer (applicable when is_private is true) |
date_of_birth |
string | Date of birth of a Customer (applicable when is_private is true) |
citizen_service_number |
string | Citizen service number (BSN-nummer) of a Customer (applicable when is_private is true) |
attn |
string | To the attention of |
phonenumber |
string | A Customer's phone number |
website |
string | A Customer's website |
email |
string | E-mail address to send the Invoice to |
cc_emails |
array[string] | An array of e-mail addresses to CC when the Invoice is sent |
email_salutation |
string | Salutation used in the e-mail (template) when sending an Invoice |
additional_information |
string | Extra Customer information |
payment_term |
integer | Payment term for Invoices (in days, defaults to 30) |
invoice_language |
string | The language in which the Invoice will be translated |
payment_method_invoice |
string | How the Invoice can be paid. Determines the payment instructions printed on the Invoice. Choose from:
The default is |
reference |
string | Custom reference (for example the ID of a customer in an external CRM) |
mollie_direct_debit_status |
string | The status of a mollie direct debit request. Options are:
|
mollie_customer_id |
string | Unique ID of the customer in Mollie |
mollie_mandate_id |
string | Unique ID of the mandate of a customer in Mollie |
default_ledger_account_id |
string | Resource identifier (UUID) of the ledger account to be set as default for a customer, which will automatically be applied to their invoices. |
archived |
boolean | Whether or not the item has been archived. |
default_label_id |
string | Resource identifier (UUID) of the label to be set as default for a customer, which will automatically be applied to their invoices & estimates. |
default_discount_description |
string | Description a default discount to apply to any invoices or estimates created for this customer |
default_discount_percentage |
integer | The default discount to apply expressed as a percentage |
peppol_scheme_code |
integer | Prefix describing the scheme of the peppol identifier. Used when sending invoices via Peppol |
peppol_identifier |
integer | Code used to identify a Peppol legal entity. Used when sending invoices via Peppol |
_links |
object | Links to help navigate through the objects details. |
extra_details |
object | A URL object representing the details of the object. |
href |
string | The URL. |
type |
string | The content type of the URL. |
curl -X GET "https://api.jortt.nl/v3/customers/{customer_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"is_private": true,
"customer_name": "Jortt",
"address_street": "Rozengracht 75a",
"address_postal_code": "1012 AB",
"address_city": "Amsterdam",
"address_country_code": "NL",
"address_country_name": "Nederland",
"address_extra_information": "2nd floor",
"shift_vat": false,
"vat_number": "NL000099998B57",
"coc_number": "41202536",
"initials": "FL",
"first_name": "Jane",
"last_name": "Doe",
"date_of_birth": "1985-04-29",
"citizen_service_number": "123456789",
"attn": "Finance Department",
"phonenumber": "+31658798654",
"website": "www.example.com",
"email": "example@email.com",
"cc_emails": [
"example@email.com",
"example2@email.com"
],
"email_salutation": "Geachte mevrouw,",
"additional_information": "this is extra info",
"payment_term": 30,
"invoice_language": "nl",
"payment_method_invoice": "pay_later",
"reference": "BX123-123",
"mollie_direct_debit_status": "mollie_direct_debit_requested",
"mollie_customer_id": "cst_kEn1PlbGa",
"mollie_mandate_id": "mdt_h3gAaD5zP",
"default_ledger_account_id": "61a5b600-16bc-013d-3d2d-42742b204134",
"archived": false,
"default_label_id": "57aab2d0-16b8-013d-3d2c-42742b204134",
"default_discount_description": "this is a description example",
"default_discount_percentage": 21,
"peppol_scheme_code": "KVK",
"peppol_identifier": "12345677"
},
"_links": {
"extra_details": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
}
}
}
is_private to true) or
a company (set is_private to false).
The required attributes are different for a private person than a company. See parameters documentation below for details.
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
integer | path | |
UpdateCustomerrequired |
object | body | |
is_privaterequired |
boolean | body | Whether this Customer is a private person (true) or a company (false) |
customer_namerequired |
string | body | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
address_street |
string | body | Street and house number of the address of a Customer (required when is_private is false) |
address_postal_code |
string | body | Postal code of the address of a Customer (required when is_private is false) |
address_city |
string | body | City of the address of a Customer (required when is_private is false) |
address_country_code |
string | body | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
address_extra_information |
string | body | Extra line of Customer address information |
shift_vat |
boolean | body | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
vat_number |
string | body | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
coc_number |
string | body | The Chamber of Commerce number (KvK-nummer) of a Customer (applicable when is_private is false) |
salutation |
string | body | The way a Customer is addressed (applicable when is_private is true) |
initials |
string | body | Initials of a Customer (applicable when is_private is true) |
first_name |
string | body | First name of a Customer (applicable when is_private is true) |
last_name |
string | body | Last name of a Customer (applicable when is_private is true) |
date_of_birth |
string | body | Date of birth of a Customer (applicable when is_private is true) |
citizen_service_number |
string | body | Citizen service number (BSN-nummer) of a Customer (applicable when is_private is true) |
attn |
string | body | To the attention of |
phonenumber |
string | body | A Customer's phone number |
website |
string | body | A Customer's website |
email |
string | body | E-mail address to send the Invoice to |
cc_emails |
array[string] | body | An array of e-mail addresses to CC when the Invoice is sent |
email_salutation |
string | body | Salutation used in the e-mail (template) when sending an Invoice |
additional_information |
string | body | Extra Customer information |
payment_term |
integer | body | Payment term for Invoices (in days, defaults to 30) |
invoice_language |
string | body | The language in which the Invoice will be translated |
payment_method_invoice |
string | body | How the Invoice can be paid. Determines the payment instructions printed on the Invoice. Choose from:
The default is |
reference |
string | body | Custom reference (for example the ID of a customer in an external CRM) |
default_label_id |
string | body | Resource identifier (UUID) of the label to be set as default for a customer, which will automatically be applied to their invoices & estimates. |
default_ledger_account_id |
string | body | Resource identifier (UUID) of the ledger account to be set as default for a customer, which will automatically be applied to their invoices. |
default_discount_description |
string | body | Description a default discount to apply to any invoices or estimates created for this customer |
default_discount_percentage |
integer | body | The default discount to apply expressed as a percentage |
peppol_scheme_code |
integer | body | Prefix describing the scheme of the peppol identifier. Used when sending invoices via Peppol |
peppol_identifier |
integer | body | Code used to identify a Peppol legal entity. Used when sending invoices via Peppol |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X PUT "https://api.jortt.nl/v3/customers/{customer_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"is_private": true,
"customer_name": "Jortt",
"address_street": "Rozengracht 75a",
"address_postal_code": "1012 AB",
"address_city": "Amsterdam",
"address_country_code": "NL",
"address_extra_information": "2nd floor",
"shift_vat": false,
"vat_number": "NL000099998B57",
"coc_number": "41202536",
"salutation": "madam",
"initials": "FL",
"first_name": "Jane",
"last_name": "Doe",
"date_of_birth": "1985-04-29",
"citizen_service_number": "123456789",
"attn": "Finance Department",
"phonenumber": "+31658798654",
"website": "www.example.com",
"email": "example@email.com",
"cc_emails": [
"example@email.com",
"example2@email.com"
],
"email_salutation": "Geachte mevrouw,",
"additional_information": "this is extra info",
"payment_term": 30,
"invoice_language": "nl",
"payment_method_invoice": "pay_later",
"reference": "BX123-123",
"default_label_id": "57aab2d0-16b8-013d-3d2c-42742b204134",
"default_ledger_account_id": "61a5b600-16bc-013d-3d2d-42742b204134",
"default_discount_description": "this is a description example",
"default_discount_percentage": 21,
"peppol_scheme_code": "KVK",
"peppol_identifier": "12345677"
}'
This call will delete a customer. Then the Customer deleted attribute will be true.
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X DELETE "https://api.jortt.nl/v3/customers/{customer_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | CustomerDetails |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a single Customer's details |
id |
string | Resource identifier (UUID) |
total_revenue |
object | Hash of the amount and invoice count of the total revenue for the customer |
total_due |
object | Hash of the amount and invoice count of the total due for the customer |
total_late |
object | Hash of the amount and invoice count of the total late for the customer |
curl -X GET "https://api.jortt.nl/v3/customers/{customer_id}/extra_details" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"total_revenue": {
"amount": 123.21,
"count": 2
},
"total_due": {
"amount": 123.21,
"count": 2
},
"total_late": {
"amount": 123.21,
"count": 2
}
}
}
This call will send an e-mail to the customer with a request for an authorization payment,
typically 1 or 2 cents, in order to be able to direct debit the customer. Only when the customer
pays the authorization payment the direct debit for this customer is enabled.
If so the Customer mollie_direct_debit_status will be mollie_direct_debit_accepted
and it will have a mollie_mandate_id.
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
integer | path |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X POST "https://api.jortt.nl/v3/customers/{customer_id}/direct_debit_mandate" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
string | path | Resource identifier (UUID) |
SetCustomerArchivedrequired |
object | body | |
archivedrequired |
boolean | body | Whether or not the item has been archived. |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X PUT "https://api.jortt.nl/v3/customers/{customer_id}/set_archived" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"archived": false
}'
Invoices
When the optional send_method is not provided, the Invoice will be created as a Draft.
When the optional send_method parameter is provided, the Invoice will also be scheduled for sending.
By polling the GET /invoices/{id} endpoint you can check if the Invoice has
been sent (the returned Invoice's invoice_status attribute is then set to sent otherwise it will
be draft).
V3 Differences:
- This endpoint creates invoices with
vat_calculation_methodset toinvoice_level_vat. - Supports all send methods including
peppol,email, andself. - Note:
peppolsend method is only available in v3. Use v3 if you need to send invoices via peppol.
| Name | Type | In | Description |
|---|---|---|---|
CreateInvoiceV3required |
object | body | |
customer_id |
string | body | Resource identifier (UUID) |
invoice_date |
string | body | Date of the Invoice (determines the VAT period) |
tradename_id |
string | body | The ID of the Tradename used for this Invoice. It should a resource identifier (UUID). If not set the default Organization will be used. |
label_ids |
array[string] | body | An array of label ids for example['e508ba44-f8a9-4aa9-b4e8-8d071a3454c4', 'c2ea9b6d-dc5f-4af0-b1ec-46daa4d7a37b'] |
delivery_period |
string | body | Determines the profit and loss period start date of this Invoice. If delivery_period_end is not present the period is one month. Required if delivery_period_end is present. |
delivery_period_end |
string | body | Determines the profit and loss period end date of this Invoice |
payment_term |
integer | body | Optional payment term for the Invoice. Defaults to the following first present value:
|
net_amounts |
boolean | body | Whether or not VAT is included in the amount_per_unit in the line item (this is typically used when
invoicing a private person rather than a company) |
send_method |
string | body | How the Invoice should be sent |
introduction |
string | body | Comments printed on the Invoice (above the line items) |
remarks |
string | body | Remarks printed on the Invoice (under the line items) |
payment_method |
string | body | How the Invoice can be paid. Determines the payment instructions printed on the Invoice. Choose from:
The default is |
line_items |
array[object] | body | The line items of an Invoice |
descriptionrequired |
string | body | Description of the line item |
quantityrequired |
object | body | |
amountrequired |
string | body | |
currencyrequired |
string | body | |
amountrequired |
object | body | |
amountrequired |
string | body | |
currencyrequired |
string | body | |
vatrequired |
object | body | |
valuerequired |
number | body | A string representing vat percentage as a decimal |
categoryrequired |
string | body | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
ledger_account_id |
string | body | Resource identifier (UUID) of the Ledger Account for this line_item. Null for estimate line items |
discounts |
array[object] | body | Discounts applied to the invoice |
description |
string | body | Description of the discount |
percentagerequired |
integer | body | The discount to apply expressed as a percentage |
reference |
string | body | Custom reference (for example an order ID) |
sold_via_platform |
boolean | body | Whether or not an Invoice is marked as having goods that are sold via a platform such as Amazon |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
id |
string | The identifier of the created resource |
curl -X POST "https://api.jortt.nl/v3/invoices" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"customer_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"invoice_date": "2020-02-23",
"tradename_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"label_ids": [
"<label_ids>"
],
"delivery_period": "2020-02-01",
"delivery_period_end": "2020-02-01",
"payment_term": 14,
"net_amounts": false,
"send_method": "email",
"introduction": "example",
"remarks": "example",
"payment_method": "pay_later",
"line_items": [
{
"description": "this is a description example",
"quantity": {
"amount": "<amount>",
"currency": "<currency>"
},
"amount": {
"amount": "<amount>",
"currency": "<currency>"
},
"vat": {
"value": "0.21",
"category": "exempt"
},
"ledger_account_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
],
"discounts": [
{
"description": "this is a description example",
"percentage": 21
}
],
"reference": "123",
"sold_via_platform": false
}'
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
}
| Status | Description |
|---|---|
| 200 | Peppol scheme catalog |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a hash of peppol scheme options by country code |
curl -X GET "https://api.jortt.nl/v3/invoices/peppol-scheme-catalog" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {}
}
query is null (e.g GET /invoices), it will retrieve all Invoices ordered by created_at.
Otherwise if a query is passed (e.g GET /invoices?query=foo), it will search and list only the Invoices
matching the query, ordered by created_at.
If the invoice_status is null (e.g GET /invoices), it will retrieve all Invoices ordered by created_at.
Otherwise if a invoice_status is passed (e.g GET /invoices?invoice_status=draft), it will search and list only the Invoices
matching the invoice_status with status draft, ordered by created_at.| Name | Type | In | Description |
|---|---|---|---|
query |
string | query | Search query (at least 3 characters) |
invoice_status |
string | query | invoice_status options [sent draft unpaid late paid] |
page |
integer | query | Page of the response (minimum 1) |
| Status | Description |
|---|---|
| 200 | Invoices |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Invoices |
id |
string | Resource identifier (UUID) |
invoice_status |
string | The status of an Invoice |
customer_id |
string | Resource identifier (UUID) |
tradename_id |
string | The ID of the Tradename used for this Invoice. It should a resource identifier (UUID). If not set the default Organization will be used. |
invoice_number |
string | The generated unique Invoice number for this Invoice (only set when an Invoice is sent) |
invoice_date |
string | Date of the Invoice (determines the VAT period) |
invoice_due_date |
string | When the Invoice should be paid |
invoice_delivery_period |
string | Determines the profit and loss period start date of this Invoice. If delivery_period_end is not present the period is one month. Required if delivery_period_end is present. |
invoice_delivery_period_end |
string | Determines the profit and loss period end date of this Invoice |
invoice_date_sent |
string | When the Invoice was sent |
invoice_total |
object | A hash representing a monetary amount, contains a string for amount and currency.Total amount of the Invoice excluding VAT |
amount |
string | |
currency |
string | |
invoice_total_incl_vat |
object | A hash representing a monetary amount, contains a string for amount and currency.Total amount of the Invoice including VAT |
amount |
string | |
currency |
string | |
invoice_due_amount |
object | A hash representing a monetary amount, contains a string for amount and currency.Total amount due including VAT |
amount |
string | |
currency |
string | |
send_method |
string | How the Invoice should be sent |
net_amounts |
boolean | Whether or not VAT is included in the amount_per_unit in the line item (this is typically used when
invoicing a private person rather than a company) |
invoice_marked_free_of_vat |
boolean | Whether or not an Invoice is marked as having no VAT |
credited_invoice_id |
string | Resource identifier (UUID) of the credited Invoice |
remarks |
string | Remarks printed on the Invoice (under the line items) |
introduction |
string | Comments printed on the Invoice (above the line items) |
number_of_reminders_sent |
integer | Number of reminders sent to the Customer |
last_reminded_at |
string | When the last reminder was sent to the Customer |
payment_method |
string | How the Invoice can be paid. Determines the payment instructions printed on the Invoice. Choose from:
The default is |
customer_company_name |
string | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
customer_attn |
string | To the attention of |
customer_address_street |
string | Street and house number of the address of a Customer (required when is_private is false) |
customer_address_city |
string | City of the address of a Customer (required when is_private is false) |
customer_address_postal_code |
string | Postal code of the address of a Customer (required when is_private is false) |
customer_address_country_code |
string | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
customer_address_country_name |
string | Country name of a Customer (applicable when is_private is false, defaults to NL) |
customer_address_extra_information |
string | Extra line of Customer address information |
customer_vat_shifted |
boolean | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
customer_vat_number |
string | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
customer_in_eu |
boolean | Whether or not the Customer is in the EU (at the time of sending the Invoice) |
customer_reference |
string | Custom reference (for example the ID of a customer in an external CRM) |
customer_is_private |
boolean | Whether this Customer is a private person (true) or a company (false) |
customer_mail_to |
string | E-mail address to send the Invoice to |
customer_mail_cc_addresses |
array[string] | An array of e-mail addresses to CC when the Invoice is sent |
language |
string | The language in which the Invoice will be translated |
line_items |
array[object] | line items of the invoice |
description |
string | Description of the line item |
vat |
object | A hash representing a vat category, contains a category string and a percentage integer. |
value |
number | A string representing vat percentage as a decimal |
category |
string | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
quantity |
object | A numeric string representing a quantity. The number of units being sold. |
amount |
string | |
currency |
string | |
amount |
object | A hash representing a monetary amount, contains a string for amount and currency.The amount per unit being sold. |
amount |
string | |
currency |
string | |
total_amount_ex_vat |
object | A hash representing a monetary amount, contains a string for amount and currency.The total amount for the line item excluding vat. |
amount |
string | |
currency |
string | |
ledger_account_id |
string | Resource identifier (UUID) of the Ledger Account for this line_item. Null for estimate line items |
discounts |
array[object] | discounts applied to the invoice |
description |
string | Description of the discount |
percentage |
integer | The discount to apply expressed as a percentage |
reference |
string | Custom reference (for example an order ID) |
created_at |
string | When the Invoice was created |
credit_invoice_ids |
string | The ids of the invoices this Invoice is credited by |
peppol_status |
string | A string reflecting the Peppol status of the invoice. Null if not sent via Peppol. |
_links |
object | Links to help navigate through the lists of objects. |
previous |
object | A URL object representing the previous set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
next |
object | A URL object representing the next set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
self |
object | A URL object representing the current set of objects. |
href |
string | The URL. |
type |
string | The content type of the URL. |
documentation |
object | A URL object to the pagination documentation of the api. |
href |
string | The URL. |
type |
string | The content type of the URL. |
curl -X GET "https://api.jortt.nl/v3/invoices" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?query=<value>&invoice_status=<value>&page=<value>
{
"data": [
{
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"invoice_status": "draft",
"customer_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"tradename_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"invoice_number": "202001-002",
"invoice_date": "2020-02-23",
"invoice_due_date": "2020-03-22",
"invoice_delivery_period": "2020-02-01",
"invoice_delivery_period_end": "2020-02-01",
"invoice_date_sent": "2020-02-23",
"invoice_total": {
"amount": "22.00",
"currency": "EUR"
},
"invoice_total_incl_vat": {
"amount": "22.00",
"currency": "EUR"
},
"invoice_due_amount": {
"amount": "22.00",
"currency": "EUR"
},
"send_method": "email",
"net_amounts": false,
"invoice_marked_free_of_vat": false,
"credited_invoice_id": "4c23005c-ccd3-4294-bde6-24c726aa8810",
"remarks": "example",
"introduction": "example",
"number_of_reminders_sent": 0,
"last_reminded_at": "2026-05-13",
"payment_method": "pay_later",
"customer_company_name": "Jortt",
"customer_attn": "Finance Department",
"customer_address_street": "Rozengracht 75a",
"customer_address_city": "Amsterdam",
"customer_address_postal_code": "1012 AB",
"customer_address_country_code": "NL",
"customer_address_country_name": "Nederland",
"customer_address_extra_information": "2nd floor",
"customer_vat_shifted": false,
"customer_vat_number": "NL000099998B57",
"customer_in_eu": true,
"customer_reference": "BX123-123",
"customer_is_private": true,
"customer_mail_to": "example@email.com",
"customer_mail_cc_addresses": [
"example@email.com",
"example2@email.com"
],
"language": "nl",
"line_items": [
{
"description": "this is a description example",
"vat": {
"value": "0.21",
"category": null
},
"quantity": "22.1",
"amount": {
"amount": "22.00",
"currency": "EUR"
},
"total_amount_ex_vat": {
"amount": "22.00",
"currency": "EUR"
},
"ledger_account_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
],
"discounts": [
{
"description": "this is a description example",
"percentage": 21
}
],
"reference": "123",
"created_at": "2020-02-23T00:00:00.000+01:00",
"credit_invoice_ids": [
"e508ba44-f8a9-4aa9-b4e8-8d071a3454c4",
"c2ea9b6d-dc5f-4af0-b1ec-46daa4d7a37b"
],
"peppol_status": "<peppol_status>"
}
],
"_links": {
"previous": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"next": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"self": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"documentation": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
}
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Invoice |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a single Invoice |
id |
string | Resource identifier (UUID) |
invoice_status |
string | The status of an Invoice |
customer_id |
string | Resource identifier (UUID) |
tradename_id |
string | The ID of the Tradename used for this Invoice. It should a resource identifier (UUID). If not set the default Organization will be used. |
invoice_number |
string | The generated unique Invoice number for this Invoice (only set when an Invoice is sent) |
invoice_date |
string | Date of the Invoice (determines the VAT period) |
invoice_due_date |
string | When the Invoice should be paid |
invoice_delivery_period |
string | Determines the profit and loss period start date of this Invoice. If delivery_period_end is not present the period is one month. Required if delivery_period_end is present. |
invoice_delivery_period_end |
string | Determines the profit and loss period end date of this Invoice |
invoice_date_sent |
string | When the Invoice was sent |
invoice_total |
object | A hash representing a monetary amount, contains a string for amount and currency.Total amount of the Invoice excluding VAT |
amount |
string | |
currency |
string | |
invoice_total_incl_vat |
object | A hash representing a monetary amount, contains a string for amount and currency.Total amount of the Invoice including VAT |
amount |
string | |
currency |
string | |
invoice_due_amount |
object | A hash representing a monetary amount, contains a string for amount and currency.Total amount due including VAT |
amount |
string | |
currency |
string | |
send_method |
string | How the Invoice should be sent |
net_amounts |
boolean | Whether or not VAT is included in the amount_per_unit in the line item (this is typically used when
invoicing a private person rather than a company) |
invoice_marked_free_of_vat |
boolean | Whether or not an Invoice is marked as having no VAT |
credited_invoice_id |
string | Resource identifier (UUID) of the credited Invoice |
remarks |
string | Remarks printed on the Invoice (under the line items) |
introduction |
string | Comments printed on the Invoice (above the line items) |
number_of_reminders_sent |
integer | Number of reminders sent to the Customer |
last_reminded_at |
string | When the last reminder was sent to the Customer |
payment_method |
string | How the Invoice can be paid. Determines the payment instructions printed on the Invoice. Choose from:
The default is |
customer_company_name |
string | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
customer_attn |
string | To the attention of |
customer_address_street |
string | Street and house number of the address of a Customer (required when is_private is false) |
customer_address_city |
string | City of the address of a Customer (required when is_private is false) |
customer_address_postal_code |
string | Postal code of the address of a Customer (required when is_private is false) |
customer_address_country_code |
string | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
customer_address_country_name |
string | Country name of a Customer (applicable when is_private is false, defaults to NL) |
customer_address_extra_information |
string | Extra line of Customer address information |
customer_vat_shifted |
boolean | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
customer_vat_number |
string | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
customer_in_eu |
boolean | Whether or not the Customer is in the EU (at the time of sending the Invoice) |
customer_reference |
string | Custom reference (for example the ID of a customer in an external CRM) |
customer_is_private |
boolean | Whether this Customer is a private person (true) or a company (false) |
customer_mail_to |
string | E-mail address to send the Invoice to |
customer_mail_cc_addresses |
array[string] | An array of e-mail addresses to CC when the Invoice is sent |
language |
string | The language in which the Invoice will be translated |
line_items |
array[object] | line items of the invoice |
description |
string | Description of the line item |
vat |
object | A hash representing a vat category, contains a category string and a percentage integer. |
value |
number | A string representing vat percentage as a decimal |
category |
string | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
quantity |
object | A numeric string representing a quantity. The number of units being sold. |
amount |
string | |
currency |
string | |
amount |
object | A hash representing a monetary amount, contains a string for amount and currency.The amount per unit being sold. |
amount |
string | |
currency |
string | |
total_amount_ex_vat |
object | A hash representing a monetary amount, contains a string for amount and currency.The total amount for the line item excluding vat. |
amount |
string | |
currency |
string | |
ledger_account_id |
string | Resource identifier (UUID) of the Ledger Account for this line_item. Null for estimate line items |
discounts |
array[object] | discounts applied to the invoice |
description |
string | Description of the discount |
percentage |
integer | The discount to apply expressed as a percentage |
reference |
string | Custom reference (for example an order ID) |
created_at |
string | When the Invoice was created |
credit_invoice_ids |
string | The ids of the invoices this Invoice is credited by |
peppol_status |
string | A string reflecting the Peppol status of the invoice. Null if not sent via Peppol. |
possible_actions |
array[string] | A list of strings indicating actions that can be taken with the associated invoice |
curl -X GET "https://api.jortt.nl/v3/invoices/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"invoice_status": "draft",
"customer_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"tradename_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"invoice_number": "202001-002",
"invoice_date": "2020-02-23",
"invoice_due_date": "2020-03-22",
"invoice_delivery_period": "2020-02-01",
"invoice_delivery_period_end": "2020-02-01",
"invoice_date_sent": "2020-02-23",
"invoice_total": {
"amount": "22.00",
"currency": "EUR"
},
"invoice_total_incl_vat": {
"amount": "22.00",
"currency": "EUR"
},
"invoice_due_amount": {
"amount": "22.00",
"currency": "EUR"
},
"send_method": "email",
"net_amounts": false,
"invoice_marked_free_of_vat": false,
"credited_invoice_id": "4c23005c-ccd3-4294-bde6-24c726aa8810",
"remarks": "example",
"introduction": "example",
"number_of_reminders_sent": 0,
"last_reminded_at": "2026-05-13",
"payment_method": "pay_later",
"customer_company_name": "Jortt",
"customer_attn": "Finance Department",
"customer_address_street": "Rozengracht 75a",
"customer_address_city": "Amsterdam",
"customer_address_postal_code": "1012 AB",
"customer_address_country_code": "NL",
"customer_address_country_name": "Nederland",
"customer_address_extra_information": "2nd floor",
"customer_vat_shifted": false,
"customer_vat_number": "NL000099998B57",
"customer_in_eu": true,
"customer_reference": "BX123-123",
"customer_is_private": true,
"customer_mail_to": "example@email.com",
"customer_mail_cc_addresses": [
"example@email.com",
"example2@email.com"
],
"language": "nl",
"line_items": [
{
"description": "this is a description example",
"vat": {
"value": "0.21",
"category": null
},
"quantity": "22.1",
"amount": {
"amount": "22.00",
"currency": "EUR"
},
"total_amount_ex_vat": {
"amount": "22.00",
"currency": "EUR"
},
"ledger_account_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
],
"discounts": [
{
"description": "this is a description example",
"percentage": 21
}
],
"reference": "123",
"created_at": "2020-02-23T00:00:00.000+01:00",
"credit_invoice_ids": [
"e508ba44-f8a9-4aa9-b4e8-8d071a3454c4",
"c2ea9b6d-dc5f-4af0-b1ec-46daa4d7a37b"
],
"peppol_status": "<peppol_status>"
},
"possible_actions": [
"<possible_actions>"
]
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
EditInvoiceV2required |
object | body | |
customer_id |
string | body | Resource identifier (UUID) |
invoice_date |
string | body | Date of the Invoice (determines the VAT period) |
tradename_id |
string | body | The ID of the Tradename used for this Invoice. It should a resource identifier (UUID). If not set the default Organization will be used. |
label_ids |
array[string] | body | An array of label ids for example['e508ba44-f8a9-4aa9-b4e8-8d071a3454c4', 'c2ea9b6d-dc5f-4af0-b1ec-46daa4d7a37b'] |
delivery_period |
string | body | Determines the profit and loss period start date of this Invoice. If delivery_period_end is not present the period is one month. Required if delivery_period_end is present. |
delivery_period_end |
string | body | Determines the profit and loss period end date of this Invoice |
payment_term |
integer | body | Optional payment term for the Invoice. Defaults to the following first present value:
|
net_amounts |
boolean | body | Whether or not VAT is included in the amount_per_unit in the line item (this is typically used when
invoicing a private person rather than a company) |
send_method |
string | body | How the Invoice should be sent |
introduction |
string | body | Comments printed on the Invoice (above the line items) |
remarks |
string | body | Remarks printed on the Invoice (under the line items) |
payment_method |
string | body | How the Invoice can be paid. Determines the payment instructions printed on the Invoice. Choose from:
The default is |
line_items |
array[object] | body | The line items of an Invoice |
description |
string | body | Description of the line item |
quantity |
object | body | |
amountrequired |
string | body | |
currencyrequired |
string | body | |
amount |
object | body | |
amountrequired |
string | body | |
currencyrequired |
string | body | |
vat |
object | body | |
valuerequired |
number | body | A string representing vat percentage as a decimal |
categoryrequired |
string | body | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
ledger_account_id |
string | body | Resource identifier (UUID) of the Ledger Account for this line_item. Null for estimate line items |
discounts |
array[object] | body | Discounts applied to the invoice |
description |
string | body | Description of the discount |
percentagerequired |
integer | body | The discount to apply expressed as a percentage |
reference |
string | body | Custom reference (for example an order ID) |
| Status | Description |
|---|---|
| 200 | No Content |
curl -X PUT "https://api.jortt.nl/v3/invoices/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"customer_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"invoice_date": "2020-02-23",
"tradename_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"label_ids": [
"<label_ids>"
],
"delivery_period": "2020-02-01",
"delivery_period_end": "2020-02-01",
"payment_term": 14,
"net_amounts": false,
"send_method": "email",
"introduction": "example",
"remarks": "example",
"payment_method": "pay_later",
"line_items": [
{
"description": "this is a description example",
"quantity": {
"amount": "<amount>",
"currency": "<currency>"
},
"amount": {
"amount": "<amount>",
"currency": "<currency>"
},
"vat": {
"value": "0.21",
"category": "exempt"
},
"ledger_account_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
],
"discounts": [
{
"description": "this is a description example",
"percentage": 21
}
],
"reference": "123"
}'
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
queryrequired |
string | query | Query string to search for suggestions with |
| Status | Description |
|---|---|
| 200 | Invoice Line Item Suggestions |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a summary of line items for the given project |
description |
string | Description of the line item |
vat |
object | A hash representing a vat category, contains a category string and a percentage integer. |
value |
number | A string representing vat percentage as a decimal |
category |
string | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
quantity |
object | A numeric string representing a quantity. The number of units being sold. |
amount |
string | |
currency |
string | |
amount |
object | A hash representing a monetary amount, contains a string for amount and currency.The price for each unit being sold. |
amount |
string | |
currency |
string | |
ledger_account_id |
string | Resource identifier (UUID) of the Ledger Account for this line_item. Null for estimate line items |
curl -X GET "https://api.jortt.nl/v3/invoices/{id}/line_item_suggestions" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?query=<value>
{
"data": [
{
"description": "this is a description example",
"vat": {
"value": "0.21",
"category": null
},
"quantity": "22.1",
"amount": {
"amount": "22.00",
"currency": "EUR"
},
"ledger_account_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
]
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X DELETE "https://api.jortt.nl/v3/invoices/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
integer | path | |
SetLabelsrequired |
array[object] | body |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X PUT "https://api.jortt.nl/v3/invoices/{id}/set_labels" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '[
{
"label_ids": [
"<label_ids>"
]
}
]'
send_method is not provided, the Invoice will be created as a Draft.
When the optional send_method parameter is provided, the Invoice will also be scheduled for sending.
By polling the GET /invoices/{id} endpoint you can check if the Invoice been sent (the returned Invoice's invoice_status attribute is then set to sent otherwise it will be draft).
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) of the invoice you want to credit |
CreateCreditInvoicerequired |
object | body | |
send_method |
string | body | How the Invoice should be sent |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
id |
string | The identifier of the created resource |
curl -X POST "https://api.jortt.nl/v3/invoices/{id}/credit" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"send_method": "email"
}'
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
}
Note: The returned URL expires after 10 minutes.
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | URL to download invoice PDF created |
| Name | Type | Description |
|---|---|---|
data |
object | |
download_location |
string | The link where you can download the invoice PDF in a data object. |
curl -X GET "https://api.jortt.nl/v3/invoices/{id}/download" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"download_location": "https://files.jortt.nl/storage/042e407f-78d6-4dea-9ca9-5eca3097c220?type=attachment&filename=1.pdf"
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Next possible invoice number |
| Name | Type | Description |
|---|---|---|
data |
object | |
next_possible_invoice_number |
string | The next possible invoice number. |
curl -X GET "https://api.jortt.nl/v3/invoices/{id}/next_possible_invoice_number" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"next_possible_invoice_number": "202401-001"
}
}
Sends an invoice by the method indicated in the params.
If email is selected additional parameters must be provided as indicated.
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
SendInvoicerequired |
object | body | |
send_methodrequired |
string | body | How the Invoice should be sent |
email_address_customer |
string | body | The email address to send the invoice too. Required if sending by email. |
mail_subject |
string | body | Subject of the email that will be sent with the invoice. Required if sending by email. |
mail_body |
string | body | Body of the email that will be sent with the invoice. Required if sending by email. |
send_copy_to_me |
boolean | body | If true a copy of the invoice email will be sent to the users registered email. |
cc_addresses |
array[string] | body | Extra email addresses to CC when sending the invoice by email. |
attachment_ids |
array[string] | body | The attachments to send with the email |
attachment_mime_types |
array[string] | body | The MIME types of the attachments to send with the email |
peppol_scheme_code |
string | body | The Code that described the given Peppol identifier. Required if sending by Peppol. |
peppol_identifier |
string | body | The Peppol identifier of the recipient. Required if sending by Peppol. |
| Status | Description |
|---|---|
| 200 | No Content |
curl -X POST "https://api.jortt.nl/v3/invoices/{id}/send" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"send_method": "email",
"email_address_customer": "<email_address_customer>",
"mail_subject": "<mail_subject>",
"mail_body": "<mail_body>",
"send_copy_to_me": false,
"cc_addresses": [
"<cc_addresses>"
],
"attachment_ids": [
"<attachment_ids>"
],
"attachment_mime_types": [
"<attachment_mime_types>"
],
"peppol_scheme_code": "<peppol_scheme_code>",
"peppol_identifier": "<peppol_identifier>"
}'
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Invoice |
| Name | Type | Description |
|---|---|---|
data |
object | |
default_mail_subject |
string | Default email subject for this invoice |
default_mail_body |
string | Default email body for this invoice. |
supported_attachment_types |
string | The MIME type of the attachment |
default_attachments |
array[object] | Response object containing a list of attachments |
id |
string | The id of the attachment |
name |
string | The name of the attachment |
mime_type |
string | The MIME type of the attachment |
curl -X GET "https://api.jortt.nl/v3/invoices/{id}/send_settings" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"default_mail_subject": "<default_mail_subject>",
"default_mail_body": "<default_mail_body>",
"supported_attachment_types": "image/jpeg",
"default_attachments": [
{
"id": "531b4c45-1e15-420a-a5ff-bac58cf00b68",
"name": "image.jpeg",
"mime_type": "image/jpeg"
}
]
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
id |
string | The identifier of the created resource |
curl -X POST "https://api.jortt.nl/v3/invoices/{id}/copy" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
}
Estimates
query is null (e.g GET /estimates), it will retrieve all Estimates ordered by created_at.
Otherwise if a query is passed (e.g GET /estimates?query=foo), it will search and list only the Estimates
matching the query, ordered by created_at.
Optionally filter by estimate_status (lifecycle status): draft, sent, expired, invoiced.
Optionally filter by acceptance_status: accepted, rejected, signed.| Name | Type | In | Description |
|---|---|---|---|
page |
integer | query | |
query |
string | query | |
estimate_status |
string | query | |
acceptance_status |
string | query |
| Status | Description |
|---|---|
| 200 | Estimates |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Estimates |
id |
string | Resource identifier (UUID) |
estimate_status |
string | The lifecycle status of the Estimate. Possible values: draft, sent, expired, invoiced. |
acceptance_status |
string | The acceptance status of the Estimate. Possible values: pending, accepted, rejected, signed, or null. |
customer_id |
string | Resource identifier (UUID) |
tradename_id |
string | The ID of the Tradename used for this Invoice. It should a resource identifier (UUID). If not set the default Organization will be used. |
estimate_number |
string | The number assigned to the Estimate. |
valid_until |
string | The date until which the Estimate is valid. |
total |
object | A hash representing a monetary amount, contains a string for amount and currency.Total amount of the Estimate excluding VAT |
amount |
string | |
currency |
string | |
total_incl_vat |
object | A hash representing a monetary amount, contains a string for amount and currency.Total amount of the Estimate including VAT |
amount |
string | |
currency |
string | |
net_amounts |
boolean | Whether or not VAT is included in the amount_per_unit in the line item (this is typically used when
invoicing a private person rather than a company) |
introduction |
string | Comments printed on the Invoice (above the line items) |
remarks |
string | Remarks printed on the Invoice (under the line items) |
reference |
string | Custom reference (for example an order ID) |
customer_company_name |
string | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
customer_attn |
string | To the attention of |
customer_address_street |
string | Street and house number of the address of a Customer (required when is_private is false) |
customer_address_city |
string | City of the address of a Customer (required when is_private is false) |
customer_address_postal_code |
string | Postal code of the address of a Customer (required when is_private is false) |
customer_address_country_code |
string | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
customer_address_country_name |
string | Country name of a Customer (applicable when is_private is false, defaults to NL) |
customer_address_extra_information |
string | Extra line of Customer address information |
customer_vat_shifted |
boolean | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
customer_vat_number |
string | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
language |
string | The language in which the Invoice will be translated |
line_items |
array[object] | line items of the estimate |
description |
string | Description of the line item |
vat |
object | A hash representing a vat category, contains a category string and a percentage integer. |
value |
number | A string representing vat percentage as a decimal |
category |
string | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
quantity |
object | A numeric string representing a quantity. The number of units being sold. |
amount |
string | |
currency |
string | |
amount |
object | A hash representing a monetary amount, contains a string for amount and currency.The amount per unit being sold. |
amount |
string | |
currency |
string | |
total_amount_ex_vat |
object | A hash representing a monetary amount, contains a string for amount and currency.The total amount for the line item excluding vat. |
amount |
string | |
currency |
string | |
discounts |
array[object] | discounts applied to the estimate |
description |
string | Description of the discount |
percentage |
integer | The discount to apply expressed as a percentage |
sent_or_modified_on |
string | The date the Estimate was last sent or modified. |
_links |
object | Links to help navigate through the lists of objects. |
previous |
object | A URL object representing the previous set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
next |
object | A URL object representing the next set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
self |
object | A URL object representing the current set of objects. |
href |
string | The URL. |
type |
string | The content type of the URL. |
documentation |
object | A URL object to the pagination documentation of the api. |
href |
string | The URL. |
type |
string | The content type of the URL. |
curl -X GET "https://api.jortt.nl/v3/estimates" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?page=<value>&query=<value>&estimate_status=<value>
{
"data": [
{
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"estimate_status": "<estimate_status>",
"acceptance_status": "<acceptance_status>",
"customer_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"tradename_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"estimate_number": "<estimate_number>",
"valid_until": "<valid_until>",
"total": {
"amount": "22.00",
"currency": "EUR"
},
"total_incl_vat": {
"amount": "22.00",
"currency": "EUR"
},
"net_amounts": false,
"introduction": "example",
"remarks": "example",
"reference": "123",
"customer_company_name": "Jortt",
"customer_attn": "Finance Department",
"customer_address_street": "Rozengracht 75a",
"customer_address_city": "Amsterdam",
"customer_address_postal_code": "1012 AB",
"customer_address_country_code": "NL",
"customer_address_country_name": "Nederland",
"customer_address_extra_information": "2nd floor",
"customer_vat_shifted": false,
"customer_vat_number": "NL000099998B57",
"language": "nl",
"line_items": [
{
"description": "this is a description example",
"vat": {
"value": "0.21",
"category": null
},
"quantity": "22.1",
"amount": {
"amount": "22.00",
"currency": "EUR"
},
"total_amount_ex_vat": {
"amount": "22.00",
"currency": "EUR"
}
}
],
"discounts": [
{
"description": "this is a description example",
"percentage": 21
}
],
"sent_or_modified_on": "<sent_or_modified_on>"
}
],
"_links": {
"previous": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"next": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"self": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"documentation": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
}
}
}
send_method is not provided, the Estimate will be created as a Draft.
When the optional send_method parameter is provided, the Estimate will also be scheduled for sending.
When sending by email, you can optionally provide email_address_customer to override the customer's
default email address.
By polling the GET /estimates/{id} endpoint you can check if the Estimate has
been sent (the returned Estimate's estimate_status attribute is then set to sent otherwise it will
be draft).
| Name | Type | In | Description |
|---|---|---|---|
CreateEstimateV2required |
object | body | |
customer_id |
string | body | Resource identifier (UUID) |
tradename_id |
string | body | The ID of the Tradename used for this Invoice. It should a resource identifier (UUID). If not set the default Organization will be used. |
valid_until |
string | body | The date until which the Estimate is valid. |
net_amounts |
boolean | body | Whether or not VAT is included in the amount_per_unit in the line item (this is typically used when
invoicing a private person rather than a company) |
send_method |
string | body | How the Invoice should be sent |
email_address_customer |
string | body | The email address to send the estimate to. Overrides the customer's default email. Only used when send_method is email. |
introduction |
string | body | Comments printed on the Invoice (above the line items) |
remarks |
string | body | Remarks printed on the Invoice (under the line items) |
reference |
string | body | Custom reference (for example an order ID) |
line_items |
array[object] | body | The line items of an Invoice |
descriptionrequired |
string | body | Description of the line item |
quantityrequired |
object | body | |
amountrequired |
string | body | |
currencyrequired |
string | body | |
amountrequired |
object | body | |
amountrequired |
string | body | |
currencyrequired |
string | body | |
vatrequired |
object | body | |
valuerequired |
number | body | A string representing vat percentage as a decimal |
categoryrequired |
string | body | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
discounts |
array[object] | body | Discounts applied to the invoice |
description |
string | body | Description of the discount |
percentagerequired |
integer | body | The discount to apply expressed as a percentage |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
id |
string | The identifier of the created resource |
curl -X POST "https://api.jortt.nl/v3/estimates" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"customer_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"tradename_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"valid_until": "<valid_until>",
"net_amounts": false,
"send_method": "email",
"email_address_customer": "<email_address_customer>",
"introduction": "example",
"remarks": "example",
"reference": "123",
"line_items": [
{
"description": "this is a description example",
"quantity": {
"amount": "<amount>",
"currency": "<currency>"
},
"amount": {
"amount": "<amount>",
"currency": "<currency>"
},
"vat": {
"value": "0.21",
"category": "exempt"
}
}
],
"discounts": [
{
"description": "this is a description example",
"percentage": 21
}
]
}'
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Estimate |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a single Estimate |
id |
string | Resource identifier (UUID) |
estimate_status |
string | The lifecycle status of the Estimate. Possible values: draft, sent, expired, invoiced. |
acceptance_status |
string | The acceptance status of the Estimate. Possible values: pending, accepted, rejected, signed, or null. |
customer_id |
string | Resource identifier (UUID) |
tradename_id |
string | The ID of the Tradename used for this Invoice. It should a resource identifier (UUID). If not set the default Organization will be used. |
estimate_number |
string | The number assigned to the Estimate. |
valid_until |
string | The date until which the Estimate is valid. |
total |
object | A hash representing a monetary amount, contains a string for amount and currency.Total amount of the Estimate excluding VAT |
amount |
string | |
currency |
string | |
total_incl_vat |
object | A hash representing a monetary amount, contains a string for amount and currency.Total amount of the Estimate including VAT |
amount |
string | |
currency |
string | |
net_amounts |
boolean | Whether or not VAT is included in the amount_per_unit in the line item (this is typically used when
invoicing a private person rather than a company) |
introduction |
string | Comments printed on the Invoice (above the line items) |
remarks |
string | Remarks printed on the Invoice (under the line items) |
reference |
string | Custom reference (for example an order ID) |
customer_company_name |
string | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
customer_attn |
string | To the attention of |
customer_address_street |
string | Street and house number of the address of a Customer (required when is_private is false) |
customer_address_city |
string | City of the address of a Customer (required when is_private is false) |
customer_address_postal_code |
string | Postal code of the address of a Customer (required when is_private is false) |
customer_address_country_code |
string | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
customer_address_country_name |
string | Country name of a Customer (applicable when is_private is false, defaults to NL) |
customer_address_extra_information |
string | Extra line of Customer address information |
customer_vat_shifted |
boolean | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
customer_vat_number |
string | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
language |
string | The language in which the Invoice will be translated |
line_items |
array[object] | line items of the estimate |
description |
string | Description of the line item |
vat |
object | A hash representing a vat category, contains a category string and a percentage integer. |
value |
number | A string representing vat percentage as a decimal |
category |
string | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
quantity |
object | A numeric string representing a quantity. The number of units being sold. |
amount |
string | |
currency |
string | |
amount |
object | A hash representing a monetary amount, contains a string for amount and currency.The amount per unit being sold. |
amount |
string | |
currency |
string | |
total_amount_ex_vat |
object | A hash representing a monetary amount, contains a string for amount and currency.The total amount for the line item excluding vat. |
amount |
string | |
currency |
string | |
discounts |
array[object] | discounts applied to the estimate |
description |
string | Description of the discount |
percentage |
integer | The discount to apply expressed as a percentage |
sent_or_modified_on |
string | The date the Estimate was last sent or modified. |
possible_actions |
array[string] | A list of strings indicating actions that can be taken with the associated estimate |
curl -X GET "https://api.jortt.nl/v3/estimates/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"estimate_status": "<estimate_status>",
"acceptance_status": "<acceptance_status>",
"customer_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"tradename_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"estimate_number": "<estimate_number>",
"valid_until": "<valid_until>",
"total": {
"amount": "22.00",
"currency": "EUR"
},
"total_incl_vat": {
"amount": "22.00",
"currency": "EUR"
},
"net_amounts": false,
"introduction": "example",
"remarks": "example",
"reference": "123",
"customer_company_name": "Jortt",
"customer_attn": "Finance Department",
"customer_address_street": "Rozengracht 75a",
"customer_address_city": "Amsterdam",
"customer_address_postal_code": "1012 AB",
"customer_address_country_code": "NL",
"customer_address_country_name": "Nederland",
"customer_address_extra_information": "2nd floor",
"customer_vat_shifted": false,
"customer_vat_number": "NL000099998B57",
"language": "nl",
"line_items": [
{
"description": "this is a description example",
"vat": {
"value": "0.21",
"category": null
},
"quantity": "22.1",
"amount": {
"amount": "22.00",
"currency": "EUR"
},
"total_amount_ex_vat": {
"amount": "22.00",
"currency": "EUR"
}
}
],
"discounts": [
{
"description": "this is a description example",
"percentage": 21
}
],
"sent_or_modified_on": "<sent_or_modified_on>"
},
"possible_actions": [
"<possible_actions>"
]
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
EditEstimateV2required |
object | body | |
customer_id |
string | body | Resource identifier (UUID) |
tradename_id |
string | body | The ID of the Tradename used for this Invoice. It should a resource identifier (UUID). If not set the default Organization will be used. |
valid_until |
string | body | The date until which the Estimate is valid. |
net_amounts |
boolean | body | Whether or not VAT is included in the amount_per_unit in the line item (this is typically used when
invoicing a private person rather than a company) |
introduction |
string | body | Comments printed on the Invoice (above the line items) |
remarks |
string | body | Remarks printed on the Invoice (under the line items) |
reference |
string | body | Custom reference (for example an order ID) |
line_items |
array[object] | body | The line items of an Invoice |
description |
string | body | Description of the line item |
quantity |
object | body | |
amountrequired |
string | body | |
currencyrequired |
string | body | |
amount |
object | body | |
amountrequired |
string | body | |
currencyrequired |
string | body | |
vat |
object | body | |
valuerequired |
number | body | A string representing vat percentage as a decimal |
categoryrequired |
string | body | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
discounts |
array[object] | body | Discounts applied to the invoice |
description |
string | body | Description of the discount |
percentagerequired |
integer | body | The discount to apply expressed as a percentage |
| Status | Description |
|---|---|
| 200 | No Content |
curl -X PUT "https://api.jortt.nl/v3/estimates/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"customer_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"tradename_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"valid_until": "<valid_until>",
"net_amounts": false,
"introduction": "example",
"remarks": "example",
"reference": "123",
"line_items": [
{
"description": "this is a description example",
"quantity": {
"amount": "<amount>",
"currency": "<currency>"
},
"amount": {
"amount": "<amount>",
"currency": "<currency>"
},
"vat": {
"value": "0.21",
"category": "exempt"
}
}
],
"discounts": [
{
"description": "this is a description example",
"percentage": 21
}
]
}'
The send_method parameter determines how the estimate is delivered:
email: Sends the estimate via email to the customer's email address.self: Marks the estimate as sent (for manual delivery / printing).
When sending by email, you can optionally provide email_address_customer to override the
customer's default email address.
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
SendEstimateV2required |
object | body | |
send_methodrequired |
string | body | How the Invoice should be sent |
email_address_customer |
string | body | The email address to send the estimate to. Overrides the customer's default email. Only used when send_method is email. |
| Status | Description |
|---|---|
| 200 | Sent |
curl -X POST "https://api.jortt.nl/v3/estimates/{id}/send" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"send_method": "email",
"email_address_customer": "<email_address_customer>"
}'
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Estimate send settings |
| Name | Type | Description |
|---|---|---|
data |
object | |
default_mail_subject |
string | Default email subject for this estimate |
default_mail_body |
string | Default email body for this estimate. |
supported_attachment_types |
array[string] | Supported attachment MIME types |
default_attachments |
array[object] | Response object containing a list of attachments |
id |
string | The id of the attachment |
name |
string | The name of the attachment |
mime_type |
string | The MIME type of the attachment |
curl -X GET "https://api.jortt.nl/v3/estimates/{id}/send_settings" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"default_mail_subject": "<default_mail_subject>",
"default_mail_body": "<default_mail_body>",
"supported_attachment_types": [
"<supported_attachment_types>"
],
"default_attachments": [
{
"id": "531b4c45-1e15-420a-a5ff-bac58cf00b68",
"name": "image.jpeg",
"mime_type": "image/jpeg"
}
]
}
}
Expenses
Use vat_date_from and vat_date_till to filter by VAT date range.
Use delivery_date_from and delivery_date_till to filter by delivery period.
Use expense_type to filter by type (cost, income, or balance).
| Name | Type | In | Description |
|---|---|---|---|
page |
integer | query | Page number (starting at 1) |
vat_date_from |
string | query | Filter expenses with vat_date on or after this date |
vat_date_till |
string | query | Filter expenses with vat_date on or before this date |
delivery_date_from |
string | query | Filter expenses with delivery_period on or after this date |
delivery_date_till |
string | query | Filter expenses with delivery_period on or before this date |
expense_type |
string | query | Filter by expense type |
| Status | Description |
|---|---|
| 200 | OK |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Expenses |
id |
string | The identifier of the expense |
expense_number |
string | The expense number |
description |
string | Description of the expense |
expense_type |
string | Type of expense |
ledger_account_id |
string | Ledger account identifier |
ledger_account_name |
string | The display name of the ledger account |
vat_date |
string | VAT date |
delivery_period |
string | Delivery period start date |
delivery_period_end |
string | Delivery period end date |
vat_type |
string | VAT type |
approved_at |
string | Timestamp when the expense was approved |
total_amount_incl_vat |
object | A hash representing a monetary amount, contains a string for amount and currency.Total amount including VAT |
amount |
string | |
currency |
string | |
grand_total_vat_amount |
object | A hash representing a monetary amount, contains a string for amount and currency.Total VAT amount |
amount |
string | |
currency |
string | |
vat_line_items |
array[object] | VAT line items |
vat |
object | A hash representing a vat category, contains a category string and a percentage integer. |
value |
number | A string representing vat percentage as a decimal |
category |
string | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
vat_amount |
object | A hash representing a monetary amount, contains a string for amount and currency.VAT amount |
amount |
string | |
currency |
string | |
_links |
object | Links to help navigate through the lists of objects. |
previous |
object | A URL object representing the previous set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
next |
object | A URL object representing the next set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
self |
object | A URL object representing the current set of objects. |
href |
string | The URL. |
type |
string | The content type of the URL. |
documentation |
object | A URL object to the pagination documentation of the api. |
href |
string | The URL. |
type |
string | The content type of the URL. |
curl -X GET "https://api.jortt.nl/v3/expenses" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?page=<value>&vat_date_from=<value>&vat_date_till=<value>
{
"data": [
{
"id": "<id>",
"expense_number": "<expense_number>",
"description": "<description>",
"expense_type": "<expense_type>",
"ledger_account_id": "<ledger_account_id>",
"ledger_account_name": "<ledger_account_name>",
"vat_date": "<vat_date>",
"delivery_period": "<delivery_period>",
"delivery_period_end": "<delivery_period_end>",
"vat_type": "<vat_type>",
"approved_at": "<approved_at>",
"total_amount_incl_vat": {
"amount": "22.00",
"currency": "EUR"
},
"grand_total_vat_amount": {
"amount": "22.00",
"currency": "EUR"
},
"vat_line_items": [
{
"vat": {
"value": "0.21",
"category": null
},
"vat_amount": {
"amount": "22.00",
"currency": "EUR"
}
}
]
}
],
"_links": {
"previous": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"next": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"self": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"documentation": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
}
}
}
The expense_type field accepts cost, income, or balance.
Note: bedrijfsmiddel type is not supported via this API.
The delivery_period is required for cost and income expense types.
| Name | Type | In | Description |
|---|---|---|---|
CreateExpenserequired |
object | body | |
approved |
boolean | body | Whether the expense is approved |
descriptionrequired |
string | body | Description of the expense |
ledger_account_idrequired |
string | body | Ledger account identifier |
expense_typerequired |
string | body | Type of expense. One of: cost, income, balance |
vat_daterequired |
string | body | VAT date of the expense |
delivery_periodrequired |
string | body | Delivery period start date (required for cost and income) |
delivery_period_end |
string | body | Delivery period end date |
vat_typerequired |
string | body | VAT type of the expense |
raw_total_amountrequired |
object | body | |
amountrequired |
string | body | |
currencyrequired |
string | body | |
vat_line_items |
array[object] | body | VAT line items |
vat |
object | body | |
valuerequired |
number | body | A string representing vat percentage as a decimal |
categoryrequired |
string | body | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
vat_amountrequired |
object | body | |
amountrequired |
string | body | |
currencyrequired |
string | body |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
id |
string | The identifier of the created resource |
curl -X POST "https://api.jortt.nl/v3/expenses" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"approved": false,
"description": "<description>",
"ledger_account_id": "<ledger_account_id>",
"expense_type": "<expense_type>",
"vat_date": "<vat_date>",
"delivery_period": "<delivery_period>",
"delivery_period_end": "<delivery_period_end>",
"vat_type": "<vat_type>",
"raw_total_amount": {
"amount": "<amount>",
"currency": "<currency>"
},
"vat_line_items": [
{
"vat": {
"value": "0.21",
"category": "exempt"
},
"vat_amount": {
"amount": "<amount>",
"currency": "<currency>"
}
}
]
}'
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
}
id.| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | OK |
| 404 | Not Found |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a single Expense |
id |
string | The identifier of the expense |
expense_number |
string | The expense number |
description |
string | Description of the expense |
expense_type |
string | Type of expense |
ledger_account_id |
string | Ledger account identifier |
ledger_account_name |
string | The display name of the ledger account |
vat_date |
string | VAT date |
delivery_period |
string | Delivery period start date |
delivery_period_end |
string | Delivery period end date |
vat_type |
string | VAT type |
approved_at |
string | Timestamp when the expense was approved |
total_amount_incl_vat |
object | A hash representing a monetary amount, contains a string for amount and currency.Total amount including VAT |
amount |
string | |
currency |
string | |
grand_total_vat_amount |
object | A hash representing a monetary amount, contains a string for amount and currency.Total VAT amount |
amount |
string | |
currency |
string | |
vat_line_items |
array[object] | VAT line items |
vat |
object | A hash representing a vat category, contains a category string and a percentage integer. |
value |
number | A string representing vat percentage as a decimal |
category |
string | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
vat_amount |
object | A hash representing a monetary amount, contains a string for amount and currency.VAT amount |
amount |
string | |
currency |
string |
curl -X GET "https://api.jortt.nl/v3/expenses/id/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"id": "<id>",
"expense_number": "<expense_number>",
"description": "<description>",
"expense_type": "<expense_type>",
"ledger_account_id": "<ledger_account_id>",
"ledger_account_name": "<ledger_account_name>",
"vat_date": "<vat_date>",
"delivery_period": "<delivery_period>",
"delivery_period_end": "<delivery_period_end>",
"vat_type": "<vat_type>",
"approved_at": "<approved_at>",
"total_amount_incl_vat": {
"amount": "22.00",
"currency": "EUR"
},
"grand_total_vat_amount": {
"amount": "22.00",
"currency": "EUR"
},
"vat_line_items": [
{
"vat": {
"value": "0.21",
"category": null
},
"vat_amount": {
"amount": "22.00",
"currency": "EUR"
}
}
]
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
UpdateExpenserequired |
object | body | |
approved |
boolean | body | Whether the expense is approved |
descriptionrequired |
string | body | Description of the expense |
ledger_account_idrequired |
string | body | Ledger account identifier |
expense_typerequired |
string | body | Type of expense. One of: cost, income, balance |
vat_daterequired |
string | body | VAT date of the expense |
delivery_periodrequired |
string | body | Delivery period start date (required for cost and income) |
delivery_period_end |
string | body | Delivery period end date |
vat_typerequired |
string | body | VAT type of the expense |
raw_total_amountrequired |
object | body | |
amountrequired |
string | body | |
currencyrequired |
string | body | |
vat_line_items |
array[object] | body | VAT line items |
vat |
object | body | |
valuerequired |
number | body | A string representing vat percentage as a decimal |
categoryrequired |
string | body | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
vat_amountrequired |
object | body | |
amountrequired |
string | body | |
currencyrequired |
string | body |
| Status | Description |
|---|---|
| 200 | OK |
| 404 | Not Found |
curl -X POST "https://api.jortt.nl/v3/expenses/id/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"approved": false,
"description": "<description>",
"ledger_account_id": "<ledger_account_id>",
"expense_type": "<expense_type>",
"vat_date": "<vat_date>",
"delivery_period": "<delivery_period>",
"delivery_period_end": "<delivery_period_end>",
"vat_type": "<vat_type>",
"raw_total_amount": {
"amount": "<amount>",
"currency": "<currency>"
},
"vat_line_items": [
{
"vat": {
"value": "0.21",
"category": "exempt"
},
"vat_amount": {
"amount": "<amount>",
"currency": "<currency>"
}
}
]
}'
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Expense identifier (UUID) |
AttachReceiptToExpenserequired |
object | body | |
receipt_idrequired |
string | body | Receipt identifier (UUID) |
| Status | Description |
|---|---|
| 200 | OK |
| 404 | Not Found |
| 422 | Unprocessable Entity |
curl -X POST "https://api.jortt.nl/v3/expenses/id/{id}/receipt" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"receipt_id": "<receipt_id>"
}'
Projects
| Name | Type | In | Description |
|---|---|---|---|
page |
integer | query | Page of the response (minimum 1) |
| Status | Description |
|---|---|
| 200 | Projects |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Projects |
organization_id |
string | Resource identifier (UUID) |
aggregate_id |
string | Resource identifier (UUID) |
name |
string | The name of the project. |
reference |
string | Custom reference (for example an order ID) |
customer_id |
string | Resource identifier (UUID) |
description |
string | A string describing the project. |
created_at |
string | When the item was created |
updated_at |
string | When the item was updated |
archived |
boolean | Whether or not the item has been archived. |
is_internal |
boolean | Whether or not the project is an internal project. Internal projects are not attributed to customer. |
customer_record |
object | |
id |
string | Resource identifier (UUID) |
is_private |
boolean | Whether this Customer is a private person (true) or a company (false) |
customer_name |
string | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
address_street |
string | Street and house number of the address of a Customer (required when is_private is false) |
address_postal_code |
string | Postal code of the address of a Customer (required when is_private is false) |
address_city |
string | City of the address of a Customer (required when is_private is false) |
address_country_code |
string | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
address_country_name |
string | Country name of a Customer (applicable when is_private is false, defaults to NL) |
address_extra_information |
string | Extra line of Customer address information |
shift_vat |
boolean | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
vat_number |
string | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
coc_number |
string | The Chamber of Commerce number (KvK-nummer) of a Customer (applicable when is_private is false) |
initials |
string | Initials of a Customer (applicable when is_private is true) |
first_name |
string | First name of a Customer (applicable when is_private is true) |
last_name |
string | Last name of a Customer (applicable when is_private is true) |
date_of_birth |
string | Date of birth of a Customer (applicable when is_private is true) |
citizen_service_number |
string | Citizen service number (BSN-nummer) of a Customer (applicable when is_private is true) |
attn |
string | To the attention of |
phonenumber |
string | A Customer's phone number |
website |
string | A Customer's website |
email |
string | E-mail address to send the Invoice to |
cc_emails |
array[string] | An array of e-mail addresses to CC when the Invoice is sent |
email_salutation |
string | Salutation used in the e-mail (template) when sending an Invoice |
additional_information |
string | Extra Customer information |
payment_term |
integer | Payment term for Invoices (in days, defaults to 30) |
invoice_language |
string | The language in which the Invoice will be translated |
payment_method_invoice |
string | How the Invoice can be paid. Determines the payment instructions printed on the Invoice. Choose from:
The default is |
reference |
string | Custom reference (for example the ID of a customer in an external CRM) |
mollie_direct_debit_status |
string | The status of a mollie direct debit request. Options are:
|
mollie_customer_id |
string | Unique ID of the customer in Mollie |
mollie_mandate_id |
string | Unique ID of the mandate of a customer in Mollie |
default_ledger_account_id |
string | Resource identifier (UUID) of the ledger account to be set as default for a customer, which will automatically be applied to their invoices. |
archived |
boolean | Whether or not the item has been archived. |
default_label_id |
string | Resource identifier (UUID) of the label to be set as default for a customer, which will automatically be applied to their invoices & estimates. |
default_discount_description |
string | Description a default discount to apply to any invoices or estimates created for this customer |
default_discount_percentage |
integer | The default discount to apply expressed as a percentage |
peppol_scheme_code |
integer | Prefix describing the scheme of the peppol identifier. Used when sending invoices via Peppol |
peppol_identifier |
integer | Code used to identify a Peppol legal entity. Used when sending invoices via Peppol |
default_registration_description |
string | A string that can be used to prefill project registrations. |
default_hourly_rate |
object | An amount that can be used to prefill project registrations. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
minutes_this_month |
integer | The time logged to this project this month in minutes. |
total_minutes |
integer | The total time logged to this project in minutes. |
total_value |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
_links |
object | Links to help navigate through the lists of objects. |
previous |
object | A URL object representing the previous set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
next |
object | A URL object representing the next set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
self |
object | A URL object representing the current set of objects. |
href |
string | The URL. |
type |
string | The content type of the URL. |
documentation |
object | A URL object to the pagination documentation of the api. |
href |
string | The URL. |
type |
string | The content type of the URL. |
curl -X GET "https://api.jortt.nl/v3/projects" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?page=<value>
{
"data": [
{
"organization_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"aggregate_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"name": "Jortt Logo Design",
"reference": "123",
"customer_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"description": "This project is fun",
"created_at": "2020-02-23T00:00:00.000+01:00",
"updated_at": "2020-02-23T00:00:00.000+01:00",
"archived": false,
"is_internal": false,
"customer_record": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"is_private": true,
"customer_name": "Jortt",
"address_street": "Rozengracht 75a",
"address_postal_code": "1012 AB",
"address_city": "Amsterdam",
"address_country_code": "NL",
"address_country_name": "Nederland",
"address_extra_information": "2nd floor",
"shift_vat": false,
"vat_number": "NL000099998B57",
"coc_number": "41202536",
"initials": "FL",
"first_name": "Jane",
"last_name": "Doe",
"date_of_birth": "1985-04-29",
"citizen_service_number": "123456789",
"attn": "Finance Department",
"phonenumber": "+31658798654",
"website": "www.example.com",
"email": "example@email.com",
"cc_emails": [
"example@email.com",
"example2@email.com"
],
"email_salutation": "Geachte mevrouw,",
"additional_information": "this is extra info",
"payment_term": 30,
"invoice_language": "nl",
"payment_method_invoice": "pay_later",
"reference": "BX123-123",
"mollie_direct_debit_status": "mollie_direct_debit_requested",
"mollie_customer_id": "cst_kEn1PlbGa",
"mollie_mandate_id": "mdt_h3gAaD5zP",
"default_ledger_account_id": "61a5b600-16bc-013d-3d2d-42742b204134",
"archived": false,
"default_label_id": "57aab2d0-16b8-013d-3d2c-42742b204134",
"default_discount_description": "this is a description example",
"default_discount_percentage": 21,
"peppol_scheme_code": "KVK",
"peppol_identifier": "12345677"
},
"default_registration_description": "This project is fun",
"default_hourly_rate": {
"value": "10.10",
"currency": "EUR"
},
"minutes_this_month": 20,
"total_minutes": 200,
"total_value": {
"value": "365.00",
"currency": "EUR"
}
}
],
"_links": {
"previous": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"next": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"self": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"documentation": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
}
}
}
| Name | Type | In | Description |
|---|---|---|---|
CreateProjectrequired |
object | body | |
namerequired |
string | body | The name of the project. |
description |
string | body | A string describing the project. |
reference |
string | body | Custom reference (for example an order ID) |
is_internal |
boolean | body | Whether or not the project is an internal project. Internal projects are not attributed to customer. |
default_registration_description |
string | body | A string that can be used to prefill project registrations. |
default_hourly_rate |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
customer_id |
string | body | Resource identifier (UUID) for the project customer. Required if is_internal is false. |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
id |
string | The identifier of the created resource |
curl -X POST "https://api.jortt.nl/v3/projects" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Jortt Logo Design",
"description": "This project is fun",
"reference": "123",
"is_internal": false,
"default_registration_description": "This project is fun",
"default_hourly_rate": {
"value": "365.00",
"currency": "EUR"
},
"customer_id": "500fda8f-2c95-46b7-983b-f12df4f75b21"
}'
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the owning Project |
| Status | Description |
|---|---|
| 200 | Project |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a single Invoice |
organization_id |
string | Resource identifier (UUID) |
aggregate_id |
string | Resource identifier (UUID) |
name |
string | The name of the project. |
reference |
string | Custom reference (for example an order ID) |
customer_id |
string | Resource identifier (UUID) |
description |
string | A string describing the project. |
created_at |
string | When the item was created |
updated_at |
string | When the item was updated |
archived |
boolean | Whether or not the item has been archived. |
is_internal |
boolean | Whether or not the project is an internal project. Internal projects are not attributed to customer. |
customer_record |
object | |
id |
string | Resource identifier (UUID) |
is_private |
boolean | Whether this Customer is a private person (true) or a company (false) |
customer_name |
string | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
address_street |
string | Street and house number of the address of a Customer (required when is_private is false) |
address_postal_code |
string | Postal code of the address of a Customer (required when is_private is false) |
address_city |
string | City of the address of a Customer (required when is_private is false) |
address_country_code |
string | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
address_country_name |
string | Country name of a Customer (applicable when is_private is false, defaults to NL) |
address_extra_information |
string | Extra line of Customer address information |
shift_vat |
boolean | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
vat_number |
string | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
coc_number |
string | The Chamber of Commerce number (KvK-nummer) of a Customer (applicable when is_private is false) |
initials |
string | Initials of a Customer (applicable when is_private is true) |
first_name |
string | First name of a Customer (applicable when is_private is true) |
last_name |
string | Last name of a Customer (applicable when is_private is true) |
date_of_birth |
string | Date of birth of a Customer (applicable when is_private is true) |
citizen_service_number |
string | Citizen service number (BSN-nummer) of a Customer (applicable when is_private is true) |
attn |
string | To the attention of |
phonenumber |
string | A Customer's phone number |
website |
string | A Customer's website |
email |
string | E-mail address to send the Invoice to |
cc_emails |
array[string] | An array of e-mail addresses to CC when the Invoice is sent |
email_salutation |
string | Salutation used in the e-mail (template) when sending an Invoice |
additional_information |
string | Extra Customer information |
payment_term |
integer | Payment term for Invoices (in days, defaults to 30) |
invoice_language |
string | The language in which the Invoice will be translated |
payment_method_invoice |
string | How the Invoice can be paid. Determines the payment instructions printed on the Invoice. Choose from:
The default is |
reference |
string | Custom reference (for example the ID of a customer in an external CRM) |
mollie_direct_debit_status |
string | The status of a mollie direct debit request. Options are:
|
mollie_customer_id |
string | Unique ID of the customer in Mollie |
mollie_mandate_id |
string | Unique ID of the mandate of a customer in Mollie |
default_ledger_account_id |
string | Resource identifier (UUID) of the ledger account to be set as default for a customer, which will automatically be applied to their invoices. |
archived |
boolean | Whether or not the item has been archived. |
default_label_id |
string | Resource identifier (UUID) of the label to be set as default for a customer, which will automatically be applied to their invoices & estimates. |
default_discount_description |
string | Description a default discount to apply to any invoices or estimates created for this customer |
default_discount_percentage |
integer | The default discount to apply expressed as a percentage |
peppol_scheme_code |
integer | Prefix describing the scheme of the peppol identifier. Used when sending invoices via Peppol |
peppol_identifier |
integer | Code used to identify a Peppol legal entity. Used when sending invoices via Peppol |
default_registration_description |
string | A string that can be used to prefill project registrations. |
default_hourly_rate |
object | An amount that can be used to prefill project registrations. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
minutes_this_month |
integer | The time logged to this project this month in minutes. |
total_minutes |
integer | The total time logged to this project in minutes. |
total_value |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
curl -X GET "https://api.jortt.nl/v3/projects/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"organization_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"aggregate_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"name": "Jortt Logo Design",
"reference": "123",
"customer_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"description": "This project is fun",
"created_at": "2020-02-23T00:00:00.000+01:00",
"updated_at": "2020-02-23T00:00:00.000+01:00",
"archived": false,
"is_internal": false,
"customer_record": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"is_private": true,
"customer_name": "Jortt",
"address_street": "Rozengracht 75a",
"address_postal_code": "1012 AB",
"address_city": "Amsterdam",
"address_country_code": "NL",
"address_country_name": "Nederland",
"address_extra_information": "2nd floor",
"shift_vat": false,
"vat_number": "NL000099998B57",
"coc_number": "41202536",
"initials": "FL",
"first_name": "Jane",
"last_name": "Doe",
"date_of_birth": "1985-04-29",
"citizen_service_number": "123456789",
"attn": "Finance Department",
"phonenumber": "+31658798654",
"website": "www.example.com",
"email": "example@email.com",
"cc_emails": [
"example@email.com",
"example2@email.com"
],
"email_salutation": "Geachte mevrouw,",
"additional_information": "this is extra info",
"payment_term": 30,
"invoice_language": "nl",
"payment_method_invoice": "pay_later",
"reference": "BX123-123",
"mollie_direct_debit_status": "mollie_direct_debit_requested",
"mollie_customer_id": "cst_kEn1PlbGa",
"mollie_mandate_id": "mdt_h3gAaD5zP",
"default_ledger_account_id": "61a5b600-16bc-013d-3d2d-42742b204134",
"archived": false,
"default_label_id": "57aab2d0-16b8-013d-3d2c-42742b204134",
"default_discount_description": "this is a description example",
"default_discount_percentage": 21,
"peppol_scheme_code": "KVK",
"peppol_identifier": "12345677"
},
"default_registration_description": "This project is fun",
"default_hourly_rate": {
"value": "10.10",
"currency": "EUR"
},
"minutes_this_month": 20,
"total_minutes": 200,
"total_value": {
"value": "365.00",
"currency": "EUR"
}
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the owning Project |
UpdateProjectrequired |
object | body | |
name |
string | body | The name of the project. |
description |
string | body | A string describing the project. |
reference |
string | body | Custom reference (for example an order ID) |
is_internal |
boolean | body | Whether or not the project is an internal project. Internal projects are not attributed to customer. |
default_registration_description |
string | body | A string that can be used to prefill project registrations. |
default_hourly_rate |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
customer_id |
string | body | Resource identifier (UUID) for the project customer. Required if is_internal is false. |
| Status | Description |
|---|---|
| 200 | No Content |
curl -X PUT "https://api.jortt.nl/v3/projects/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Jortt Logo Design",
"description": "This project is fun",
"reference": "123",
"is_internal": false,
"default_registration_description": "This project is fun",
"default_hourly_rate": {
"value": "365.00",
"currency": "EUR"
},
"customer_id": "500fda8f-2c95-46b7-983b-f12df4f75b21"
}'
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the owning Project |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X DELETE "https://api.jortt.nl/v3/projects/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the owning Project |
InvoiceProjectrequired |
array[object] | body |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
id |
string | The identifier of the created resource |
curl -X POST "https://api.jortt.nl/v3/projects/{id}/invoice" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '[
{
"line_item_ids": [
"<line_item_ids>"
],
"days": [
"<days>"
],
"months": [
"<months>"
]
}
]'
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
page |
integer | query | Page of the response (minimum 1) |
start_date |
string | query | date to fetch data from (inclusive) |
end_date |
string | query | date to fetch data until (exclusive) |
status_filter |
string | query | status used to filter project line items |
| Status | Description |
|---|---|
| 200 | Project Line Items |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Project line items for a given project |
project_id |
string | Resource identifier (UUID) |
description |
string | A string describing line item. |
amount |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
quantity |
string | The number of items as a string. For time registrations this is hours, for cost registrations it is a simple quantity |
invoice_id |
string | Resource identifier (UUID) |
user_id |
string | Resource identifier (UUID) |
organization_id |
string | Resource identifier (UUID) |
line_item_id |
integer | The line item's id. |
status |
string | String indicating the line item's billing status. Can be one of [billable, invoiced, concept, nonbillable] |
date |
string | The date that the line item was logged on. |
line_item_type |
string | String representing the type of line item this is, can either be time_registration or cost. |
created_at |
string | When the item was created |
updated_at |
string | When the item was updated |
total_amount |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
user_record |
object | |
id |
string | Resource identifier (UUID) |
full_name |
string | Name of the user |
_links |
object | Links to help navigate through the lists of objects. |
previous |
object | A URL object representing the previous set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
next |
object | A URL object representing the next set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
self |
object | A URL object representing the current set of objects. |
href |
string | The URL. |
type |
string | The content type of the URL. |
documentation |
object | A URL object to the pagination documentation of the api. |
href |
string | The URL. |
type |
string | The content type of the URL. |
curl -X GET "https://api.jortt.nl/v3/projects/{id}/line_items" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?page=<value>&start_date=<value>&end_date=<value>
{
"data": [
{
"project_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"description": "Work done today",
"amount": {
"value": "365.00",
"currency": "EUR"
},
"quantity": "202",
"invoice_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"user_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"organization_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"line_item_id": 22,
"status": "billable",
"date": "2020-02-23T00:00:00.000+01:00",
"line_item_type": "time_registration",
"created_at": "2020-02-23T00:00:00.000+01:00",
"updated_at": "2020-02-23T00:00:00.000+01:00",
"total_amount": {
"value": "365.00",
"currency": "EUR"
},
"user_record": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"full_name": "Jari Litmanen"
}
}
],
"_links": {
"previous": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"next": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"self": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"documentation": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
}
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the owning Project |
V1ProjectsIdLineItemsrequired |
object | body | |
description |
string | body | A string describing line item. |
date |
string | body | The date that the line item was logged on. |
amount |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
status |
string | body | String indicating the line item's billing status. Can be one of [billable, invoiced, concept, nonbillable] |
line_item_type |
string | body | String representing the type of line item this is, can either be time_registration or cost. |
quantity |
object | body | Quantity for this time registration. Only for cost registrations |
minutes |
integer | body | Minutes for this time registration. Only for time registrations |
user_id |
string | body | ID for the user associated with this line item. Uses token owner if not specified |
| Status | Description |
|---|---|
| 201 | Project Line Item Created |
curl -X POST "https://api.jortt.nl/v3/projects/{id}/line_items" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "Work done today",
"date": "2020-02-23T00:00:00.000+01:00",
"amount": {
"value": "365.00",
"currency": "EUR"
},
"status": "billable",
"line_item_type": "time_registration",
"quantity": {},
"minutes": 0,
"user_id": "<user_id>"
}'
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the Project |
period |
string | query | period of the summaries you wish to fetch. one of [year, month, day]. Defaults to month |
start_date |
string | query | date to fetch data from (inclusive) |
end_date |
string | query | date to fetch data until (inclusive) |
| Status | Description |
|---|---|
| 200 | Project Line Item Summary |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a summary of line items for the given project |
date |
string | A string indicating the date period for the given summary. |
total_minutes |
integer | The total number of minutes logged in the summary period. |
due_minutes |
integer | The total number of billable minutes logged in the summary period. |
total_amount |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
due_amount |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
due_costs |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
costs_amount |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
curl -X GET "https://api.jortt.nl/v3/projects/{id}/line_items/summary" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?period=<value>&start_date=<value>&end_date=<value>
{
"data": {
"date": "2024-06",
"total_minutes": 202,
"due_minutes": 202,
"total_amount": {
"value": "365.00",
"currency": "EUR"
},
"due_amount": {
"value": "365.00",
"currency": "EUR"
},
"due_costs": {
"value": "365.00",
"currency": "EUR"
},
"costs_amount": {
"value": "365.00",
"currency": "EUR"
}
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the owning Project |
line_item_idrequired |
integer | path | ID of the line item to update |
| Status | Description |
|---|---|
| 200 | Project Line Item |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a single project line item |
project_id |
string | Resource identifier (UUID) |
description |
string | A string describing line item. |
amount |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
quantity |
string | The number of items as a string. For time registrations this is hours, for cost registrations it is a simple quantity |
invoice_id |
string | Resource identifier (UUID) |
user_id |
string | Resource identifier (UUID) |
organization_id |
string | Resource identifier (UUID) |
line_item_id |
integer | The line item's id. |
status |
string | String indicating the line item's billing status. Can be one of [billable, invoiced, concept, nonbillable] |
date |
string | The date that the line item was logged on. |
line_item_type |
string | String representing the type of line item this is, can either be time_registration or cost. |
created_at |
string | When the item was created |
updated_at |
string | When the item was updated |
total_amount |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
user_record |
object | |
id |
string | Resource identifier (UUID) |
full_name |
string | Name of the user |
curl -X GET "https://api.jortt.nl/v3/projects/{id}/line_items/{line_item_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"project_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"description": "Work done today",
"amount": {
"value": "365.00",
"currency": "EUR"
},
"quantity": "202",
"invoice_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"user_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"organization_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"line_item_id": 22,
"status": "billable",
"date": "2020-02-23T00:00:00.000+01:00",
"line_item_type": "time_registration",
"created_at": "2020-02-23T00:00:00.000+01:00",
"updated_at": "2020-02-23T00:00:00.000+01:00",
"total_amount": {
"value": "365.00",
"currency": "EUR"
},
"user_record": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"full_name": "Jari Litmanen"
}
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the Project |
line_item_idrequired |
integer | path | ID of the line item to update |
V1ProjectsIdLineItemsrequired |
object | body | |
description |
string | body | A string describing line item. |
date |
string | body | The date that the line item was logged on. |
amount |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
status |
string | body | String indicating the line item's billing status. Can be one of [billable, invoiced, concept, nonbillable] |
line_item_type |
string | body | String representing the type of line item this is, can either be time_registration or cost. |
quantity |
object | body | Quantity for this time registration. Only for cost registrations |
minutes |
integer | body | Minutes for this time registration. Only for time registrations |
user_id |
string | body | ID for the user associated with this line item. Uses token owner if not specified |
| Status | Description |
|---|---|
| 201 | Project Updated |
curl -X PUT "https://api.jortt.nl/v3/projects/{id}/line_items/{line_item_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "Work done today",
"date": "2020-02-23T00:00:00.000+01:00",
"amount": {
"value": "365.00",
"currency": "EUR"
},
"status": "billable",
"line_item_type": "time_registration",
"quantity": {},
"minutes": 0,
"user_id": "<user_id>"
}'
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the owning Project |
line_item_idrequired |
integer | path | ID of the line item to update |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X DELETE "https://api.jortt.nl/v3/projects/{id}/line_items/{line_item_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
Labels
/labels will retrieve all Labels in alphabetical order of description.| Status | Description |
|---|---|
| 200 | labels |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Labels |
id |
string | Resource identifier (UUID) |
description |
string | The description of a Label |
category |
string | The category of a Label |
curl -X GET "https://api.jortt.nl/v3/labels" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": [
{
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"description": "My Label",
"category": "user_label"
}
]
}
/labels Will create a label and return a representative uuid.| Name | Type | In | Description |
|---|---|---|---|
CreateLabelrequired |
object | body | |
descriptionrequired |
string | body | The description of a Label |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
id |
string | The identifier of the created resource |
curl -X POST "https://api.jortt.nl/v3/labels" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "My Label"
}'
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
}
Ledger Accounts
| Status | Description |
|---|---|
| 200 | get Cost(s) |
curl -X GET "https://api.jortt.nl/v3/ledger_accounts/expenses/cost" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Status | Description |
|---|---|
| 200 | get Income(s) |
curl -X GET "https://api.jortt.nl/v3/ledger_accounts/expenses/income" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Status | Description |
|---|---|
| 200 | get Balance(s) |
curl -X GET "https://api.jortt.nl/v3/ledger_accounts/expenses/balance" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Status | Description |
|---|---|
| 200 | List of Ledger Accounts retrieved |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Ledger Accounts |
ledger_account_id |
string | Resource identifier (UUID) |
parent_ledger_account_id |
string | Resource identifier (UUID) |
name |
string | A human readable name describing the Ledger Account |
selectable |
boolean | Whether you can choose this Ledger Account in Bookings and/or Invoices. Since the Ledger is a tree of Ledger Accounts some Ledger Accounts serve as Nodes, to group underlying Ledger Accounts. These Ledger Accounts can not be used in Invoices or Bookings, typically the underlying Ledger Accounts (Leaves) can be used. |
curl -X GET "https://api.jortt.nl/v3/ledger_accounts/invoices" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": [
{
"ledger_account_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"parent_ledger_account_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"name": "Uitbesteed werk",
"selectable": true
}
]
}
| Status | Description |
|---|---|
| 200 | The Ledger Account |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a single LedgerAccount |
ledger_account_id |
string | Resource identifier (UUID) |
parent_ledger_account_id |
string | Resource identifier (UUID) |
name |
string | A human readable name describing the Ledger Account |
selectable |
boolean | Whether you can choose this Ledger Account in Bookings and/or Invoices. Since the Ledger is a tree of Ledger Accounts some Ledger Accounts serve as Nodes, to group underlying Ledger Accounts. These Ledger Accounts can not be used in Invoices or Bookings, typically the underlying Ledger Accounts (Leaves) can be used. |
curl -X GET "https://api.jortt.nl/v3/ledger_accounts/invoices/default" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"ledger_account_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"parent_ledger_account_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"name": "Uitbesteed werk",
"selectable": true
}
}
Loonjournaalposten
year is null (e.g GET /payroll/loonjournaalposten), it will retrieve all Loonjournaalposten ordered by period_date.
Otherwise if a year is passed (e.g GET /payroll/loonjournaalposten?year=2022), it will search and list only the Loonjournaalposten
matching the year, ordered by period_date.
| Name | Type | In | Description |
|---|---|---|---|
year |
string | query | The year to get the Loonjournaalposten for |
| Status | Description |
|---|---|
| 200 | Loonjournaalposten |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Loonjournaalposten |
id |
string | Resource identifier (UUID) |
period_date |
string | Date of the Loonjournaalpost period, must be the first day of the month |
bruto_loon |
object | Amount of bruto_loon |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
werkgeversdeel_sociale_lasten |
object | Amount of werkgeversdeel_sociale_lasten |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
werkgeversdeel_pensioenkosten |
object | Amount of werkgeversdeel_pensioenkosten |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
reservering_vakantiegeld |
object | Amount of reservering_vakantiegeld |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
reservering_eindejaarsuitkering |
object | Amount of reservering_eindejaarsuitkering |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
onbelaste_reiskostenvergoedingen |
object | Amount of onbelaste_reiskostenvergoedingen |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
onbelaste_vergoedingen_gericht_vrijgesteld |
object | Amount of onbelaste_vergoedingen_gericht_vrijgesteld |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
onbelaste_vergoedingen_wkr |
object | Amount of onbelaste_vergoedingen_wkr |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
declaraties_algemeen |
object | Amount of declaraties_algemeen |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
declaraties_kantoorkosten |
object | Amount of declaraties_kantoorkosten |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
declaraties_lunch_en_diner_representatiekosten |
object | Amount of declaraties_lunch_en_diner_representatiekosten |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
declaraties_reiskosten |
object | Amount of declaraties_reiskosten |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
declaraties_auto_en_transportkosten |
object | Amount of declaraties_auto_en_transportkosten |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
declaraties_verkoopkosten |
object | Amount of declaraties_verkoopkosten |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
eindheffing_wkr |
object | Amount of eindheffing_wkr |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
netto_inhoudingen |
object | Amount of netto_inhoudingen |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
afdrachtvermindering_speur_en_ontwikkelingswerk |
object | Amount of afdrachtvermindering_speur_en_ontwikkelingswerk |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
te_betalen_nettolonen |
object | Amount of te_betalen_nettolonen |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
te_betalen_sociale_lasten_loonbelasting |
object | Amount of te_betalen_sociale_lasten_loonbelasting |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
te_betalen_pensioenpremies |
object | Amount of te_betalen_pensioenpremies |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
te_betalen_vakantiegeld |
object | Amount of te_betalen_vakantiegeld |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
te_betalen_eindejaarsuitkering |
object | Amount of te_betalen_eindejaarsuitkering |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
te_betalen_loonbeslag |
object | Amount of te_betalen_loonbeslag |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
curl -X GET "https://api.jortt.nl/v3/loonjournaalposten" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?year=<value>
{
"data": [
{
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"period_date": "2023-10-01",
"bruto_loon": {
"value": "10.10",
"currency": "EUR"
},
"werkgeversdeel_sociale_lasten": {
"value": "10.10",
"currency": "EUR"
},
"werkgeversdeel_pensioenkosten": {
"value": "10.10",
"currency": "EUR"
},
"reservering_vakantiegeld": {
"value": "10.10",
"currency": "EUR"
},
"reservering_eindejaarsuitkering": {
"value": "10.10",
"currency": "EUR"
},
"onbelaste_reiskostenvergoedingen": {
"value": "10.10",
"currency": "EUR"
},
"onbelaste_vergoedingen_gericht_vrijgesteld": {
"value": "10.10",
"currency": "EUR"
},
"onbelaste_vergoedingen_wkr": {
"value": "10.10",
"currency": "EUR"
},
"declaraties_algemeen": {
"value": "10.10",
"currency": "EUR"
},
"declaraties_kantoorkosten": {
"value": "10.10",
"currency": "EUR"
},
"declaraties_lunch_en_diner_representatiekosten": {
"value": "10.10",
"currency": "EUR"
},
"declaraties_reiskosten": {
"value": "10.10",
"currency": "EUR"
},
"declaraties_auto_en_transportkosten": {
"value": "10.10",
"currency": "EUR"
},
"declaraties_verkoopkosten": {
"value": "10.10",
"currency": "EUR"
},
"eindheffing_wkr": {
"value": "10.10",
"currency": "EUR"
},
"netto_inhoudingen": {
"value": "10.10",
"currency": "EUR"
},
"afdrachtvermindering_speur_en_ontwikkelingswerk": {
"value": "10.10",
"currency": "EUR"
},
"te_betalen_nettolonen": {
"value": "10.10",
"currency": "EUR"
},
"te_betalen_sociale_lasten_loonbelasting": {
"value": "10.10",
"currency": "EUR"
},
"te_betalen_pensioenpremies": {
"value": "10.10",
"currency": "EUR"
},
"te_betalen_vakantiegeld": {
"value": "10.10",
"currency": "EUR"
},
"te_betalen_eindejaarsuitkering": {
"value": "10.10",
"currency": "EUR"
},
"te_betalen_loonbeslag": {
"value": "10.10",
"currency": "EUR"
}
}
]
}
/loonjournaalposten Will create a Loonjournaalpost and return a representative uuid.| Name | Type | In | Description |
|---|---|---|---|
CreateLoonjournaalpostrequired |
object | body | |
period_daterequired |
string | body | Date of the Loonjournaalpost period, must be the first day of the month |
bruto_loon |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
werkgeversdeel_sociale_lasten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
werkgeversdeel_pensioenkosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
reservering_vakantiegeld |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
reservering_eindejaarsuitkering |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
onbelaste_reiskostenvergoedingen |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
onbelaste_vergoedingen_gericht_vrijgesteld |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
onbelaste_vergoedingen_wkr |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_algemeen |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_kantoorkosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_lunch_en_diner_representatiekosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_reiskosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_auto_en_transportkosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_verkoopkosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
eindheffing_wkr |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
netto_inhoudingen |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
afdrachtvermindering_speur_en_ontwikkelingswerk |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_nettolonen |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_sociale_lasten_loonbelasting |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_pensioenpremies |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_vakantiegeld |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_eindejaarsuitkering |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_loonbeslag |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
id |
string | The identifier of the created resource |
curl -X POST "https://api.jortt.nl/v3/loonjournaalposten" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"period_date": "2023-10-01",
"bruto_loon": {
"value": "365.00",
"currency": "EUR"
},
"werkgeversdeel_sociale_lasten": {
"value": "365.00",
"currency": "EUR"
},
"werkgeversdeel_pensioenkosten": {
"value": "365.00",
"currency": "EUR"
},
"reservering_vakantiegeld": {
"value": "365.00",
"currency": "EUR"
},
"reservering_eindejaarsuitkering": {
"value": "365.00",
"currency": "EUR"
},
"onbelaste_reiskostenvergoedingen": {
"value": "365.00",
"currency": "EUR"
},
"onbelaste_vergoedingen_gericht_vrijgesteld": {
"value": "365.00",
"currency": "EUR"
},
"onbelaste_vergoedingen_wkr": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_algemeen": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_kantoorkosten": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_lunch_en_diner_representatiekosten": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_reiskosten": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_auto_en_transportkosten": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_verkoopkosten": {
"value": "365.00",
"currency": "EUR"
},
"eindheffing_wkr": {
"value": "365.00",
"currency": "EUR"
},
"netto_inhoudingen": {
"value": "365.00",
"currency": "EUR"
},
"afdrachtvermindering_speur_en_ontwikkelingswerk": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_nettolonen": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_sociale_lasten_loonbelasting": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_pensioenpremies": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_vakantiegeld": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_eindejaarsuitkering": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_loonbeslag": {
"value": "365.00",
"currency": "EUR"
}
}'
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
}
| Name | Type | In | Description |
|---|---|---|---|
loonjournaalpost_idrequired |
string | path | Resource identifier (UUID) |
UpdateLoonjournaalpostrequired |
object | body | |
bruto_loon |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
werkgeversdeel_sociale_lasten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
werkgeversdeel_pensioenkosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
reservering_vakantiegeld |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
reservering_eindejaarsuitkering |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
onbelaste_reiskostenvergoedingen |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
onbelaste_vergoedingen_gericht_vrijgesteld |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
onbelaste_vergoedingen_wkr |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_algemeen |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_kantoorkosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_lunch_en_diner_representatiekosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_reiskosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_auto_en_transportkosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_verkoopkosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
eindheffing_wkr |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
netto_inhoudingen |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
afdrachtvermindering_speur_en_ontwikkelingswerk |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_nettolonen |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_sociale_lasten_loonbelasting |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_pensioenpremies |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_vakantiegeld |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_eindejaarsuitkering |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_loonbeslag |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X PUT "https://api.jortt.nl/v3/loonjournaalposten/{loonjournaalpost_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"bruto_loon": {
"value": "365.00",
"currency": "EUR"
},
"werkgeversdeel_sociale_lasten": {
"value": "365.00",
"currency": "EUR"
},
"werkgeversdeel_pensioenkosten": {
"value": "365.00",
"currency": "EUR"
},
"reservering_vakantiegeld": {
"value": "365.00",
"currency": "EUR"
},
"reservering_eindejaarsuitkering": {
"value": "365.00",
"currency": "EUR"
},
"onbelaste_reiskostenvergoedingen": {
"value": "365.00",
"currency": "EUR"
},
"onbelaste_vergoedingen_gericht_vrijgesteld": {
"value": "365.00",
"currency": "EUR"
},
"onbelaste_vergoedingen_wkr": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_algemeen": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_kantoorkosten": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_lunch_en_diner_representatiekosten": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_reiskosten": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_auto_en_transportkosten": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_verkoopkosten": {
"value": "365.00",
"currency": "EUR"
},
"eindheffing_wkr": {
"value": "365.00",
"currency": "EUR"
},
"netto_inhoudingen": {
"value": "365.00",
"currency": "EUR"
},
"afdrachtvermindering_speur_en_ontwikkelingswerk": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_nettolonen": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_sociale_lasten_loonbelasting": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_pensioenpremies": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_vakantiegeld": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_eindejaarsuitkering": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_loonbeslag": {
"value": "365.00",
"currency": "EUR"
}
}'
This call will delete a loonjournaalpost.
| Name | Type | In | Description |
|---|---|---|---|
loonjournaalpost_idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X DELETE "https://api.jortt.nl/v3/loonjournaalposten/{loonjournaalpost_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
Organizations
| Status | Description |
|---|---|
| 200 | Organizations |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a single Organization |
id |
string | Resource identifier (UUID) |
vat_type |
string | Company vat type, can be one of [vat, sometimes_vat, never_vat] |
company_name |
string | Legal name of the company name |
company_name_line_2 |
string | Optional part of the name of the company |
address_street |
string | Street and house number of the address |
address_postal_code |
string | Postal code of the address |
address_city |
string | City of the address |
address_country_code |
string | Country code of the address in ISO 3166-1 alpha-2 format |
address_country_name |
string | Country name of the address |
tax_registration_number |
string | Tax registration number (Btw nummer) |
chamber_of_commerce_number |
string | Chamber of commerce number |
bank_account_iban |
string | IBAN number of the account |
bank_account_bban |
string | BBAN number of the account (some accounts have no IBAN, typically savings accounts) |
owners |
array[object] | A user that has access to this organization |
id |
string | Resource identifier (UUID) |
full_name |
string | Name of the user |
legal_form |
string | Legal form of the company |
website |
string | Website of the organization |
phonenumber |
string | Phonennumber of the organization |
invoice_from_email |
string | E-mail address used for sending invoices by this Organization |
one_stop_shop_enabled |
boolean | Does this organization have one-stop-shop (éénloketsysteem) enabled |
has_mollie |
boolean | Does this organization have a Mollie integration |
jortt_start_date |
string | Time this organization was created in Jortt |
invoice_from_email_confirmed |
boolean | Is the e-mail address used for sending invoices by this Organization confirmed or not |
data_complete_for_sending_invoices |
boolean | Is the data of the Organization complete for sending invoices, for example company address and such |
default_vat |
object | Default vat for this organization, contains a value string representing the vat fraction and a category string |
has_peppol_access |
boolean | Boolean indicating weather this organization has access to peppol |
curl -X GET "https://api.jortt.nl/v3/organizations/me" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"vat_type": "vat",
"company_name": "Jortt B.V.",
"company_name_line_2": "IT department",
"address_street": "Nieuwezijds Voorburgwal 147",
"address_postal_code": "1012 RJ",
"address_city": "Amsterdam",
"address_country_code": "NL",
"address_country_name": "Nederland",
"tax_registration_number": "NL999999999B01",
"chamber_of_commerce_number": "12345678",
"bank_account_iban": "NL10BANK 1234 5678 90",
"bank_account_bban": "123456789",
"owners": [
{
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"full_name": "Jari Litmanen"
}
],
"legal_form": "bv",
"website": "http://www.jortt.nl",
"phonenumber": "+31 20 1234567",
"invoice_from_email": "support@jortt.nl",
"one_stop_shop_enabled": false,
"has_mollie": false,
"jortt_start_date": "2026-05-13T10:16:27+02:00",
"invoice_from_email_confirmed": true,
"data_complete_for_sending_invoices": true,
"default_vat": {
"category": "exempt",
"value": "0.0"
},
"has_peppol_access": false
}
}
Tradenames
GET /tradenames it will retrieve all Tradenames in alphabetical order of company_name.
| Status | Description |
|---|---|
| 200 | tradenames |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Tradenames |
id |
string | Resource identifier (UUID) |
company_name |
string | |
company_name_line_2 |
string | |
address_street |
string | |
address_city |
string | |
address_postal_code |
string | |
address_country_code |
string | |
phonenumber |
string | |
bank_account_in_the_name_of |
string | |
iban |
string | |
bic |
string | |
finance_email |
string |
curl -X GET "https://api.jortt.nl/v3/tradenames" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": [
{
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"company_name": "<company_name>",
"company_name_line_2": "<company_name_line_2>",
"address_street": "<address_street>",
"address_city": "<address_city>",
"address_postal_code": "<address_postal_code>",
"address_country_code": "<address_country_code>",
"phonenumber": "<phonenumber>",
"bank_account_in_the_name_of": "<bank_account_in_the_name_of>",
"iban": "<iban>",
"bic": "<bic>",
"finance_email": "<finance_email>"
}
]
}
Inbox
| Name | Type | In | Description |
|---|---|---|---|
UploadReceiptrequired |
array[object] | body |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
ids |
array[string] | The identifiers of the created resources |
curl -X POST "https://api.jortt.nl/v3/inbox/images" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '[
{
"images": [
"<images>"
]
}
]'
{
"data": {
"ids": "['f8fd3e4e-da1c-43a7-892f-1410ac13e38a']"
}
}
Reports
| Status | Description |
|---|---|
| 200 | Invoices summary |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing invoice summaries for the current year, grouped by payment status |
sent |
object | A Summary of all invoices sent this year. |
count |
integer | The number of invoices in this group. |
amount |
object | The sum of amounts for invoices in this group. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
due_and_late |
object | A Summary of all invoices sent this year which have not been paid yet. |
count |
integer | The number of invoices in this group. |
amount |
object | The sum of amounts for invoices in this group. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
late |
object | A Summary of all invoices sent this year which have not been paid and are overdue. |
count |
integer | The number of invoices in this group. |
amount |
object | The sum of amounts for invoices in this group. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
curl -X GET "https://api.jortt.nl/v3/reports/summaries/invoices" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"sent": {
"count": 0,
"amount": {
"value": "365.00",
"currency": "EUR"
}
},
"due_and_late": {
"count": 0,
"amount": {
"value": "365.00",
"currency": "EUR"
}
},
"late": {
"count": 0,
"amount": {
"value": "365.00",
"currency": "EUR"
}
}
}
}
| Status | Description |
|---|---|
| 200 | Btw summaries |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of summarized btw data up until the current date. |
period_indicator |
string | String indicating the BTW period, changes based on btw interval as set per organization. |
total_vat |
object | Total vat due for the indicated period. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
curl -X GET "https://api.jortt.nl/v3/reports/summaries/btw" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": [
{
"period_indicator": [
"mrt 2024",
"Q1 2024",
"2024"
],
"total_vat": {
"value": "365.00",
"currency": "EUR"
}
}
]
}
| Status | Description |
|---|---|
| 200 | Balances |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a summary of balance data for dashboard display |
balans_vaste_activa |
object | Balance for fixed assets for the current year. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
balans_vlottende_activa |
object | Balance for current assets for the current year. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
balans_eigen_vermogen |
object | Balance for equity for the current year. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
balans_overige_passiva |
object | Balance for other liabilities for the current year. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
curl -X GET "https://api.jortt.nl/v3/reports/summaries/balance" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"balans_vaste_activa": {
"value": "365.00",
"currency": "EUR"
},
"balans_vlottende_activa": {
"value": "365.00",
"currency": "EUR"
},
"balans_eigen_vermogen": {
"value": "365.00",
"currency": "EUR"
},
"balans_overige_passiva": {
"value": "365.00",
"currency": "EUR"
}
}
}
| Status | Description |
|---|---|
| 200 | Profit and loss summary |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a summary of profit and loss data for dashboard display |
total_opbrengsten |
object | Total income for the current year up until the current date. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
total_kosten |
object | Total costs for the current year up until the current date. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
possible_profit |
object | Possible profit for the current year up until the current date. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
end_date |
string | The date up until the profit and loss values were calculated. |
curl -X GET "https://api.jortt.nl/v3/reports/summaries/profit_and_loss" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"total_opbrengsten": {
"value": "365.00",
"currency": "EUR"
},
"total_kosten": {
"value": "365.00",
"currency": "EUR"
},
"possible_profit": {
"value": "365.00",
"currency": "EUR"
},
"end_date": "<end_date>"
}
}
| Status | Description |
|---|---|
| 200 | Cash and bank summary |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of summarized cash and bank entities. |
bank_accounts |
array[object] | A list of summarized bank account information for the organization's bank accounts. |
bank_account_id |
string | Resource identifier (UUID) |
archived |
boolean | Whether or not the item has been archived. |
description |
string | The name of the bank at which the account is held. |
balance |
object | The balance for this account. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
iban |
string | IBAN number of the account |
bank |
string | The name of the bank at which the account is held. |
liquid_assets |
array[object] | A list of summarized liquid asset details for the organization's liquid assets. |
archived |
boolean | Whether or not the item has been archived. |
ledger_account_id |
string | Resource identifier (UUID) |
balance |
object | The balance for this asset. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
display_number |
string | Type describing the liquid asset. Can be one of the following: savings_account, credit_card, ideal, mollie, paypal, aandelen, other. |
liquid_asset_type |
string | Type describing the liquid asset. Can be one of the following: savings_account, credit_card, ideal, mollie, paypal, aandelen, other. |
kas |
object | A summary of the organizations cash assets |
balance |
object | The balance held in cash. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
has_mollie |
boolean | Whether or not the organization has an active mollie integration. |
curl -X GET "https://api.jortt.nl/v3/reports/summaries/cash_and_bank" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": [
{
"bank_accounts": [
{
"bank_account_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"archived": false,
"description": "User set description",
"balance": {
"value": {},
"currency": {}
},
"iban": "NL10BANK 1234 5678 90",
"bank": "Rabobank"
}
],
"liquid_assets": [
{
"archived": false,
"ledger_account_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"balance": {
"value": {},
"currency": {}
},
"display_number": "credit_card",
"liquid_asset_type": "credit_card"
}
],
"kas": {
"balance": {
"value": "365.00",
"currency": "EUR"
}
},
"has_mollie": false
}
]
}
Files
attachment_ids parameter.| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | query | Resource identifier (UUID) |
namerequired |
string | query | The name of the file to be uploaded |
mime_typerequired |
string | query | The MIME type of the file to be uploaded |
content_lengthrequired |
integer | query | The content length of the file to be uploaded |
| Status | Description |
|---|---|
| 200 | Attachments |
| Name | Type | Description |
|---|---|---|
data |
object | |
put_url |
string | An S3 url to PUT the file to |
curl -X GET "https://api.jortt.nl/v3/files/put_url" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?id=<value>&name=<value>&mime_type=<value>
{
"data": {
"put_url": "<put_url>"
}
}
Bank Accounts
| Status | Description |
|---|---|
| 200 | Bank accounts |
| Name | Type | Description |
|---|---|---|
data |
array[object] | List of bank accounts |
id |
string | Resource identifier (UUID) |
iban |
string | IBAN of the bank account |
bank |
string | Bank name |
in_the_name_of |
string | Account holder name |
bic |
string | BIC of the bank account |
archived |
boolean | Whether the bank account is archived |
curl -X GET "https://api.jortt.nl/v3/bank-accounts" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": [
{
"id": "<id>",
"iban": "<iban>",
"bank": "<bank>",
"in_the_name_of": "<in_the_name_of>",
"bic": "<bic>",
"archived": false
}
]
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Bank account resource identifier (UUID) |
page |
integer | query | Page of the response (minimum 1) |
| Status | Description |
|---|---|
| 200 | Bank transactions |
| 404 | Bank account not found |
| Name | Type | Description |
|---|---|---|
data |
array[object] | List of bank transactions |
id |
string | Resource identifier (UUID) |
date |
string | Transaction date |
amount |
string | Transaction amount (2 decimal places) |
description |
string | Transaction description |
contra_account_owner |
string | Name of the counter party |
contra_account_iban |
string | IBAN of the counter party |
_links |
object | Links to help navigate through the list. |
previous |
object | A URL object representing the previous set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
next |
object | A URL object representing the next set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
self |
object | A URL object representing the current set of objects. |
href |
string | The URL. |
type |
string | The content type of the URL. |
documentation |
object | A URL object to the pagination documentation of the api. |
href |
string | The URL. |
type |
string | The content type of the URL. |
curl -X GET "https://api.jortt.nl/v3/bank-accounts/{id}/bank-transactions" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?page=<value>
{
"data": [
{
"id": "<id>",
"date": "<date>",
"amount": "<amount>",
"description": "<description>",
"contra_account_owner": "<contra_account_owner>",
"contra_account_iban": "<contra_account_iban>"
}
],
"_links": {
"previous": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"next": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"self": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"documentation": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
}
}
}
v2
Customers
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Customer vat percentages |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a list of vats valid for the Customer |
id |
string | Resource identifier (UUID) |
vats |
array[object] | list of valid vats |
value |
number | A string representing vat percentage as a decimal |
category |
string | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
curl -X GET "https://api.jortt.nl/v2/customers/{customer_id}/vat-percentages" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"vats": [
{
"value": "0.21",
"category": "exempt"
}
]
}
}
If the query is null (e.g GET /customers), it will retrieve all Customers in alphabetical order of customer_name.
Otherwise if a query is passed (e.g GET /customers?query=foo), it will search and list only the Customers
matching the query, ordered alphabetically on `customer_name``.
| Name | Type | In | Description |
|---|---|---|---|
query |
string | query | Search query (at least 3 characters) |
page |
integer | query | Page of the response (minimum 1) |
| Status | Description |
|---|---|
| 200 | Customers |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Customers |
id |
string | Resource identifier (UUID) |
is_private |
boolean | Whether this Customer is a private person (true) or a company (false) |
customer_name |
string | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
address_street |
string | Street and house number of the address of a Customer (required when is_private is false) |
address_postal_code |
string | Postal code of the address of a Customer (required when is_private is false) |
address_city |
string | City of the address of a Customer (required when is_private is false) |
address_country_code |
string | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
address_country_name |
string | Country name of a Customer (applicable when is_private is false, defaults to NL) |
address_extra_information |
string | Extra line of Customer address information |
shift_vat |
boolean | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
vat_number |
string | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
coc_number |
string | The Chamber of Commerce number (KvK-nummer) of a Customer (applicable when is_private is false) |
initials |
string | Initials of a Customer (applicable when is_private is true) |
first_name |
string | First name of a Customer (applicable when is_private is true) |
last_name |
string | Last name of a Customer (applicable when is_private is true) |
date_of_birth |
string | Date of birth of a Customer (applicable when is_private is true) |
citizen_service_number |
string | Citizen service number (BSN-nummer) of a Customer (applicable when is_private is true) |
attn |
string | To the attention of |
phonenumber |
string | A Customer's phone number |
website |
string | A Customer's website |
email |
string | E-mail address to send the Invoice to |
cc_emails |
array[string] | An array of e-mail addresses to CC when the Invoice is sent |
email_salutation |
string | Salutation used in the e-mail (template) when sending an Invoice |
additional_information |
string | Extra Customer information |
payment_term |
integer | Payment term for Invoices (in days, defaults to 30) |
invoice_language |
string | The language in which the Invoice will be translated |
payment_method_invoice |
string | How the Invoice can be paid. Determines the payment instructions printed on the Invoice. Choose from:
The default is |
reference |
string | Custom reference (for example the ID of a customer in an external CRM) |
mollie_direct_debit_status |
string | The status of a mollie direct debit request. Options are:
|
mollie_customer_id |
string | Unique ID of the customer in Mollie |
mollie_mandate_id |
string | Unique ID of the mandate of a customer in Mollie |
default_ledger_account_id |
string | Resource identifier (UUID) of the ledger account to be set as default for a customer, which will automatically be applied to their invoices. |
archived |
boolean | Whether or not the item has been archived. |
default_label_id |
string | Resource identifier (UUID) of the label to be set as default for a customer, which will automatically be applied to their invoices & estimates. |
default_discount_description |
string | Description a default discount to apply to any invoices or estimates created for this customer |
default_discount_percentage |
integer | The default discount to apply expressed as a percentage |
peppol_scheme_code |
integer | Prefix describing the scheme of the peppol identifier. Used when sending invoices via Peppol |
peppol_identifier |
integer | Code used to identify a Peppol legal entity. Used when sending invoices via Peppol |
_links |
object | Links to help navigate through the lists of objects. |
previous |
object | A URL object representing the previous set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
next |
object | A URL object representing the next set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
self |
object | A URL object representing the current set of objects. |
href |
string | The URL. |
type |
string | The content type of the URL. |
documentation |
object | A URL object to the pagination documentation of the api. |
href |
string | The URL. |
type |
string | The content type of the URL. |
curl -X GET "https://api.jortt.nl/v2/customers" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?query=<value>&page=<value>
{
"data": [
{
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"is_private": true,
"customer_name": "Jortt",
"address_street": "Rozengracht 75a",
"address_postal_code": "1012 AB",
"address_city": "Amsterdam",
"address_country_code": "NL",
"address_country_name": "Nederland",
"address_extra_information": "2nd floor",
"shift_vat": false,
"vat_number": "NL000099998B57",
"coc_number": "41202536",
"initials": "FL",
"first_name": "Jane",
"last_name": "Doe",
"date_of_birth": "1985-04-29",
"citizen_service_number": "123456789",
"attn": "Finance Department",
"phonenumber": "+31658798654",
"website": "www.example.com",
"email": "example@email.com",
"cc_emails": [
"example@email.com",
"example2@email.com"
],
"email_salutation": "Geachte mevrouw,",
"additional_information": "this is extra info",
"payment_term": 30,
"invoice_language": "nl",
"payment_method_invoice": "pay_later",
"reference": "BX123-123",
"mollie_direct_debit_status": "mollie_direct_debit_requested",
"mollie_customer_id": "cst_kEn1PlbGa",
"mollie_mandate_id": "mdt_h3gAaD5zP",
"default_ledger_account_id": "61a5b600-16bc-013d-3d2d-42742b204134",
"archived": false,
"default_label_id": "57aab2d0-16b8-013d-3d2c-42742b204134",
"default_discount_description": "this is a description example",
"default_discount_percentage": 21,
"peppol_scheme_code": "KVK",
"peppol_identifier": "12345677"
}
],
"_links": {
"previous": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"next": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"self": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"documentation": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
}
}
}
is_private to true) or
a company (set is_private to false).
The required attributes are different for a private person than a company. See parameters documentation below for details.
| Name | Type | In | Description |
|---|---|---|---|
CreateCustomerrequired |
object | body | |
is_privaterequired |
boolean | body | Whether this Customer is a private person (true) or a company (false) |
customer_namerequired |
string | body | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
address_street |
string | body | Street and house number of the address of a Customer (required when is_private is false) |
address_postal_code |
string | body | Postal code of the address of a Customer (required when is_private is false) |
address_city |
string | body | City of the address of a Customer (required when is_private is false) |
address_country_code |
string | body | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
address_extra_information |
string | body | Extra line of Customer address information |
shift_vat |
boolean | body | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
vat_number |
string | body | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
coc_number |
string | body | The Chamber of Commerce number (KvK-nummer) of a Customer (applicable when is_private is false) |
salutation |
string | body | The way a Customer is addressed (applicable when is_private is true) |
initials |
string | body | Initials of a Customer (applicable when is_private is true) |
first_name |
string | body | First name of a Customer (applicable when is_private is true) |
last_name |
string | body | Last name of a Customer (applicable when is_private is true) |
date_of_birth |
string | body | Date of birth of a Customer (applicable when is_private is true) |
citizen_service_number |
string | body | Citizen service number (BSN-nummer) of a Customer (applicable when is_private is true) |
attn |
string | body | To the attention of |
phonenumber |
string | body | A Customer's phone number |
website |
string | body | A Customer's website |
email |
string | body | E-mail address to send the Invoice to |
cc_emails |
array[string] | body | An array of e-mail addresses to CC when the Invoice is sent |
email_salutation |
string | body | Salutation used in the e-mail (template) when sending an Invoice |
additional_information |
string | body | Extra Customer information |
payment_term |
integer | body | Payment term for Invoices (in days, defaults to 30) |
invoice_language |
string | body | The language in which the Invoice will be translated |
payment_method_invoice |
string | body | How the Invoice can be paid. Determines the payment instructions printed on the Invoice. Choose from:
The default is |
reference |
string | body | Custom reference (for example the ID of a customer in an external CRM) |
default_label_id |
string | body | Resource identifier (UUID) of the label to be set as default for a customer, which will automatically be applied to their invoices & estimates. |
default_ledger_account_id |
string | body | Resource identifier (UUID) of the ledger account to be set as default for a customer, which will automatically be applied to their invoices. |
default_discount_description |
string | body | Description a default discount to apply to any invoices or estimates created for this customer |
default_discount_percentage |
integer | body | The default discount to apply expressed as a percentage |
peppol_scheme_code |
integer | body | Prefix describing the scheme of the peppol identifier. Used when sending invoices via Peppol |
peppol_identifier |
integer | body | Code used to identify a Peppol legal entity. Used when sending invoices via Peppol |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
id |
string | The identifier of the created resource |
curl -X POST "https://api.jortt.nl/v2/customers" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"is_private": true,
"customer_name": "Jortt",
"address_street": "Rozengracht 75a",
"address_postal_code": "1012 AB",
"address_city": "Amsterdam",
"address_country_code": "NL",
"address_extra_information": "2nd floor",
"shift_vat": false,
"vat_number": "NL000099998B57",
"coc_number": "41202536",
"salutation": "madam",
"initials": "FL",
"first_name": "Jane",
"last_name": "Doe",
"date_of_birth": "1985-04-29",
"citizen_service_number": "123456789",
"attn": "Finance Department",
"phonenumber": "+31658798654",
"website": "www.example.com",
"email": "example@email.com",
"cc_emails": [
"example@email.com",
"example2@email.com"
],
"email_salutation": "Geachte mevrouw,",
"additional_information": "this is extra info",
"payment_term": 30,
"invoice_language": "nl",
"payment_method_invoice": "pay_later",
"reference": "BX123-123",
"default_label_id": "57aab2d0-16b8-013d-3d2c-42742b204134",
"default_ledger_account_id": "61a5b600-16bc-013d-3d2d-42742b204134",
"default_discount_description": "this is a description example",
"default_discount_percentage": 21,
"peppol_scheme_code": "KVK",
"peppol_identifier": "12345677"
}'
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
}
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Customer |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a single Customer |
id |
string | Resource identifier (UUID) |
is_private |
boolean | Whether this Customer is a private person (true) or a company (false) |
customer_name |
string | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
address_street |
string | Street and house number of the address of a Customer (required when is_private is false) |
address_postal_code |
string | Postal code of the address of a Customer (required when is_private is false) |
address_city |
string | City of the address of a Customer (required when is_private is false) |
address_country_code |
string | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
address_country_name |
string | Country name of a Customer (applicable when is_private is false, defaults to NL) |
address_extra_information |
string | Extra line of Customer address information |
shift_vat |
boolean | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
vat_number |
string | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
coc_number |
string | The Chamber of Commerce number (KvK-nummer) of a Customer (applicable when is_private is false) |
initials |
string | Initials of a Customer (applicable when is_private is true) |
first_name |
string | First name of a Customer (applicable when is_private is true) |
last_name |
string | Last name of a Customer (applicable when is_private is true) |
date_of_birth |
string | Date of birth of a Customer (applicable when is_private is true) |
citizen_service_number |
string | Citizen service number (BSN-nummer) of a Customer (applicable when is_private is true) |
attn |
string | To the attention of |
phonenumber |
string | A Customer's phone number |
website |
string | A Customer's website |
email |
string | E-mail address to send the Invoice to |
cc_emails |
array[string] | An array of e-mail addresses to CC when the Invoice is sent |
email_salutation |
string | Salutation used in the e-mail (template) when sending an Invoice |
additional_information |
string | Extra Customer information |
payment_term |
integer | Payment term for Invoices (in days, defaults to 30) |
invoice_language |
string | The language in which the Invoice will be translated |
payment_method_invoice |
string | How the Invoice can be paid. Determines the payment instructions printed on the Invoice. Choose from:
The default is |
reference |
string | Custom reference (for example the ID of a customer in an external CRM) |
mollie_direct_debit_status |
string | The status of a mollie direct debit request. Options are:
|
mollie_customer_id |
string | Unique ID of the customer in Mollie |
mollie_mandate_id |
string | Unique ID of the mandate of a customer in Mollie |
default_ledger_account_id |
string | Resource identifier (UUID) of the ledger account to be set as default for a customer, which will automatically be applied to their invoices. |
archived |
boolean | Whether or not the item has been archived. |
default_label_id |
string | Resource identifier (UUID) of the label to be set as default for a customer, which will automatically be applied to their invoices & estimates. |
default_discount_description |
string | Description a default discount to apply to any invoices or estimates created for this customer |
default_discount_percentage |
integer | The default discount to apply expressed as a percentage |
peppol_scheme_code |
integer | Prefix describing the scheme of the peppol identifier. Used when sending invoices via Peppol |
peppol_identifier |
integer | Code used to identify a Peppol legal entity. Used when sending invoices via Peppol |
_links |
object | Links to help navigate through the objects details. |
extra_details |
object | A URL object representing the details of the object. |
href |
string | The URL. |
type |
string | The content type of the URL. |
curl -X GET "https://api.jortt.nl/v2/customers/{customer_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"is_private": true,
"customer_name": "Jortt",
"address_street": "Rozengracht 75a",
"address_postal_code": "1012 AB",
"address_city": "Amsterdam",
"address_country_code": "NL",
"address_country_name": "Nederland",
"address_extra_information": "2nd floor",
"shift_vat": false,
"vat_number": "NL000099998B57",
"coc_number": "41202536",
"initials": "FL",
"first_name": "Jane",
"last_name": "Doe",
"date_of_birth": "1985-04-29",
"citizen_service_number": "123456789",
"attn": "Finance Department",
"phonenumber": "+31658798654",
"website": "www.example.com",
"email": "example@email.com",
"cc_emails": [
"example@email.com",
"example2@email.com"
],
"email_salutation": "Geachte mevrouw,",
"additional_information": "this is extra info",
"payment_term": 30,
"invoice_language": "nl",
"payment_method_invoice": "pay_later",
"reference": "BX123-123",
"mollie_direct_debit_status": "mollie_direct_debit_requested",
"mollie_customer_id": "cst_kEn1PlbGa",
"mollie_mandate_id": "mdt_h3gAaD5zP",
"default_ledger_account_id": "61a5b600-16bc-013d-3d2d-42742b204134",
"archived": false,
"default_label_id": "57aab2d0-16b8-013d-3d2c-42742b204134",
"default_discount_description": "this is a description example",
"default_discount_percentage": 21,
"peppol_scheme_code": "KVK",
"peppol_identifier": "12345677"
},
"_links": {
"extra_details": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
}
}
}
is_private to true) or
a company (set is_private to false).
The required attributes are different for a private person than a company. See parameters documentation below for details.
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
integer | path | |
UpdateCustomerrequired |
object | body | |
is_privaterequired |
boolean | body | Whether this Customer is a private person (true) or a company (false) |
customer_namerequired |
string | body | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
address_street |
string | body | Street and house number of the address of a Customer (required when is_private is false) |
address_postal_code |
string | body | Postal code of the address of a Customer (required when is_private is false) |
address_city |
string | body | City of the address of a Customer (required when is_private is false) |
address_country_code |
string | body | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
address_extra_information |
string | body | Extra line of Customer address information |
shift_vat |
boolean | body | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
vat_number |
string | body | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
coc_number |
string | body | The Chamber of Commerce number (KvK-nummer) of a Customer (applicable when is_private is false) |
salutation |
string | body | The way a Customer is addressed (applicable when is_private is true) |
initials |
string | body | Initials of a Customer (applicable when is_private is true) |
first_name |
string | body | First name of a Customer (applicable when is_private is true) |
last_name |
string | body | Last name of a Customer (applicable when is_private is true) |
date_of_birth |
string | body | Date of birth of a Customer (applicable when is_private is true) |
citizen_service_number |
string | body | Citizen service number (BSN-nummer) of a Customer (applicable when is_private is true) |
attn |
string | body | To the attention of |
phonenumber |
string | body | A Customer's phone number |
website |
string | body | A Customer's website |
email |
string | body | E-mail address to send the Invoice to |
cc_emails |
array[string] | body | An array of e-mail addresses to CC when the Invoice is sent |
email_salutation |
string | body | Salutation used in the e-mail (template) when sending an Invoice |
additional_information |
string | body | Extra Customer information |
payment_term |
integer | body | Payment term for Invoices (in days, defaults to 30) |
invoice_language |
string | body | The language in which the Invoice will be translated |
payment_method_invoice |
string | body | How the Invoice can be paid. Determines the payment instructions printed on the Invoice. Choose from:
The default is |
reference |
string | body | Custom reference (for example the ID of a customer in an external CRM) |
default_label_id |
string | body | Resource identifier (UUID) of the label to be set as default for a customer, which will automatically be applied to their invoices & estimates. |
default_ledger_account_id |
string | body | Resource identifier (UUID) of the ledger account to be set as default for a customer, which will automatically be applied to their invoices. |
default_discount_description |
string | body | Description a default discount to apply to any invoices or estimates created for this customer |
default_discount_percentage |
integer | body | The default discount to apply expressed as a percentage |
peppol_scheme_code |
integer | body | Prefix describing the scheme of the peppol identifier. Used when sending invoices via Peppol |
peppol_identifier |
integer | body | Code used to identify a Peppol legal entity. Used when sending invoices via Peppol |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X PUT "https://api.jortt.nl/v2/customers/{customer_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"is_private": true,
"customer_name": "Jortt",
"address_street": "Rozengracht 75a",
"address_postal_code": "1012 AB",
"address_city": "Amsterdam",
"address_country_code": "NL",
"address_extra_information": "2nd floor",
"shift_vat": false,
"vat_number": "NL000099998B57",
"coc_number": "41202536",
"salutation": "madam",
"initials": "FL",
"first_name": "Jane",
"last_name": "Doe",
"date_of_birth": "1985-04-29",
"citizen_service_number": "123456789",
"attn": "Finance Department",
"phonenumber": "+31658798654",
"website": "www.example.com",
"email": "example@email.com",
"cc_emails": [
"example@email.com",
"example2@email.com"
],
"email_salutation": "Geachte mevrouw,",
"additional_information": "this is extra info",
"payment_term": 30,
"invoice_language": "nl",
"payment_method_invoice": "pay_later",
"reference": "BX123-123",
"default_label_id": "57aab2d0-16b8-013d-3d2c-42742b204134",
"default_ledger_account_id": "61a5b600-16bc-013d-3d2d-42742b204134",
"default_discount_description": "this is a description example",
"default_discount_percentage": 21,
"peppol_scheme_code": "KVK",
"peppol_identifier": "12345677"
}'
This call will delete a customer. Then the Customer deleted attribute will be true.
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X DELETE "https://api.jortt.nl/v2/customers/{customer_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | CustomerDetails |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a single Customer's details |
id |
string | Resource identifier (UUID) |
total_revenue |
object | Hash of the amount and invoice count of the total revenue for the customer |
total_due |
object | Hash of the amount and invoice count of the total due for the customer |
total_late |
object | Hash of the amount and invoice count of the total late for the customer |
curl -X GET "https://api.jortt.nl/v2/customers/{customer_id}/extra_details" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"total_revenue": {
"amount": 123.21,
"count": 2
},
"total_due": {
"amount": 123.21,
"count": 2
},
"total_late": {
"amount": 123.21,
"count": 2
}
}
}
This call will send an e-mail to the customer with a request for an authorization payment,
typically 1 or 2 cents, in order to be able to direct debit the customer. Only when the customer
pays the authorization payment the direct debit for this customer is enabled.
If so the Customer mollie_direct_debit_status will be mollie_direct_debit_accepted
and it will have a mollie_mandate_id.
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
integer | path |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X POST "https://api.jortt.nl/v2/customers/{customer_id}/direct_debit_mandate" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
string | path | Resource identifier (UUID) |
SetCustomerArchivedrequired |
object | body | |
archivedrequired |
boolean | body | Whether or not the item has been archived. |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X PUT "https://api.jortt.nl/v2/customers/{customer_id}/set_archived" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"archived": false
}'
Estimates
query is null (e.g GET /estimates), it will retrieve all Estimates ordered by created_at.
Otherwise if a query is passed (e.g GET /estimates?query=foo), it will search and list only the Estimates
matching the query, ordered by created_at.
Optionally filter by estimate_status (lifecycle status): draft, sent, expired, invoiced.
Optionally filter by acceptance_status: accepted, rejected, signed.| Name | Type | In | Description |
|---|---|---|---|
page |
integer | query | |
query |
string | query | |
estimate_status |
string | query | |
acceptance_status |
string | query |
| Status | Description |
|---|---|
| 200 | Estimates |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Estimates |
id |
string | Resource identifier (UUID) |
estimate_status |
string | The lifecycle status of the Estimate. Possible values: draft, sent, expired, invoiced. |
acceptance_status |
string | The acceptance status of the Estimate. Possible values: pending, accepted, rejected, signed, or null. |
customer_id |
string | Resource identifier (UUID) |
tradename_id |
string | The ID of the Tradename used for this Invoice. It should a resource identifier (UUID). If not set the default Organization will be used. |
estimate_number |
string | The number assigned to the Estimate. |
valid_until |
string | The date until which the Estimate is valid. |
total |
object | A hash representing a monetary amount, contains a string for amount and currency.Total amount of the Estimate excluding VAT |
amount |
string | |
currency |
string | |
total_incl_vat |
object | A hash representing a monetary amount, contains a string for amount and currency.Total amount of the Estimate including VAT |
amount |
string | |
currency |
string | |
net_amounts |
boolean | Whether or not VAT is included in the amount_per_unit in the line item (this is typically used when
invoicing a private person rather than a company) |
introduction |
string | Comments printed on the Invoice (above the line items) |
remarks |
string | Remarks printed on the Invoice (under the line items) |
reference |
string | Custom reference (for example an order ID) |
customer_company_name |
string | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
customer_attn |
string | To the attention of |
customer_address_street |
string | Street and house number of the address of a Customer (required when is_private is false) |
customer_address_city |
string | City of the address of a Customer (required when is_private is false) |
customer_address_postal_code |
string | Postal code of the address of a Customer (required when is_private is false) |
customer_address_country_code |
string | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
customer_address_country_name |
string | Country name of a Customer (applicable when is_private is false, defaults to NL) |
customer_address_extra_information |
string | Extra line of Customer address information |
customer_vat_shifted |
boolean | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
customer_vat_number |
string | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
language |
string | The language in which the Invoice will be translated |
line_items |
array[object] | line items of the estimate |
description |
string | Description of the line item |
vat |
object | A hash representing a vat category, contains a category string and a percentage integer. |
value |
number | A string representing vat percentage as a decimal |
category |
string | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
quantity |
object | A numeric string representing a quantity. The number of units being sold. |
amount |
string | |
currency |
string | |
amount |
object | A hash representing a monetary amount, contains a string for amount and currency.The amount per unit being sold. |
amount |
string | |
currency |
string | |
total_amount_ex_vat |
object | A hash representing a monetary amount, contains a string for amount and currency.The total amount for the line item excluding vat. |
amount |
string | |
currency |
string | |
discounts |
array[object] | discounts applied to the estimate |
description |
string | Description of the discount |
percentage |
integer | The discount to apply expressed as a percentage |
sent_or_modified_on |
string | The date the Estimate was last sent or modified. |
_links |
object | Links to help navigate through the lists of objects. |
previous |
object | A URL object representing the previous set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
next |
object | A URL object representing the next set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
self |
object | A URL object representing the current set of objects. |
href |
string | The URL. |
type |
string | The content type of the URL. |
documentation |
object | A URL object to the pagination documentation of the api. |
href |
string | The URL. |
type |
string | The content type of the URL. |
curl -X GET "https://api.jortt.nl/v2/estimates" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?page=<value>&query=<value>&estimate_status=<value>
{
"data": [
{
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"estimate_status": "<estimate_status>",
"acceptance_status": "<acceptance_status>",
"customer_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"tradename_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"estimate_number": "<estimate_number>",
"valid_until": "<valid_until>",
"total": {
"amount": "22.00",
"currency": "EUR"
},
"total_incl_vat": {
"amount": "22.00",
"currency": "EUR"
},
"net_amounts": false,
"introduction": "example",
"remarks": "example",
"reference": "123",
"customer_company_name": "Jortt",
"customer_attn": "Finance Department",
"customer_address_street": "Rozengracht 75a",
"customer_address_city": "Amsterdam",
"customer_address_postal_code": "1012 AB",
"customer_address_country_code": "NL",
"customer_address_country_name": "Nederland",
"customer_address_extra_information": "2nd floor",
"customer_vat_shifted": false,
"customer_vat_number": "NL000099998B57",
"language": "nl",
"line_items": [
{
"description": "this is a description example",
"vat": {
"value": "0.21",
"category": null
},
"quantity": "22.1",
"amount": {
"amount": "22.00",
"currency": "EUR"
},
"total_amount_ex_vat": {
"amount": "22.00",
"currency": "EUR"
}
}
],
"discounts": [
{
"description": "this is a description example",
"percentage": 21
}
],
"sent_or_modified_on": "<sent_or_modified_on>"
}
],
"_links": {
"previous": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"next": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"self": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"documentation": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
}
}
}
send_method is not provided, the Estimate will be created as a Draft.
When the optional send_method parameter is provided, the Estimate will also be scheduled for sending.
When sending by email, you can optionally provide email_address_customer to override the customer's
default email address.
By polling the GET /estimates/{id} endpoint you can check if the Estimate has
been sent (the returned Estimate's estimate_status attribute is then set to sent otherwise it will
be draft).
| Name | Type | In | Description |
|---|---|---|---|
CreateEstimateV2required |
object | body | |
customer_id |
string | body | Resource identifier (UUID) |
tradename_id |
string | body | The ID of the Tradename used for this Invoice. It should a resource identifier (UUID). If not set the default Organization will be used. |
valid_until |
string | body | The date until which the Estimate is valid. |
net_amounts |
boolean | body | Whether or not VAT is included in the amount_per_unit in the line item (this is typically used when
invoicing a private person rather than a company) |
send_method |
string | body | How the Invoice should be sent |
email_address_customer |
string | body | The email address to send the estimate to. Overrides the customer's default email. Only used when send_method is email. |
introduction |
string | body | Comments printed on the Invoice (above the line items) |
remarks |
string | body | Remarks printed on the Invoice (under the line items) |
reference |
string | body | Custom reference (for example an order ID) |
line_items |
array[object] | body | The line items of an Invoice |
descriptionrequired |
string | body | Description of the line item |
quantityrequired |
object | body | |
amountrequired |
string | body | |
currencyrequired |
string | body | |
amountrequired |
object | body | |
amountrequired |
string | body | |
currencyrequired |
string | body | |
vatrequired |
object | body | |
valuerequired |
number | body | A string representing vat percentage as a decimal |
categoryrequired |
string | body | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
discounts |
array[object] | body | Discounts applied to the invoice |
description |
string | body | Description of the discount |
percentagerequired |
integer | body | The discount to apply expressed as a percentage |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
id |
string | The identifier of the created resource |
curl -X POST "https://api.jortt.nl/v2/estimates" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"customer_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"tradename_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"valid_until": "<valid_until>",
"net_amounts": false,
"send_method": "email",
"email_address_customer": "<email_address_customer>",
"introduction": "example",
"remarks": "example",
"reference": "123",
"line_items": [
{
"description": "this is a description example",
"quantity": {
"amount": "<amount>",
"currency": "<currency>"
},
"amount": {
"amount": "<amount>",
"currency": "<currency>"
},
"vat": {
"value": "0.21",
"category": "exempt"
}
}
],
"discounts": [
{
"description": "this is a description example",
"percentage": 21
}
]
}'
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Estimate |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a single Estimate |
id |
string | Resource identifier (UUID) |
estimate_status |
string | The lifecycle status of the Estimate. Possible values: draft, sent, expired, invoiced. |
acceptance_status |
string | The acceptance status of the Estimate. Possible values: pending, accepted, rejected, signed, or null. |
customer_id |
string | Resource identifier (UUID) |
tradename_id |
string | The ID of the Tradename used for this Invoice. It should a resource identifier (UUID). If not set the default Organization will be used. |
estimate_number |
string | The number assigned to the Estimate. |
valid_until |
string | The date until which the Estimate is valid. |
total |
object | A hash representing a monetary amount, contains a string for amount and currency.Total amount of the Estimate excluding VAT |
amount |
string | |
currency |
string | |
total_incl_vat |
object | A hash representing a monetary amount, contains a string for amount and currency.Total amount of the Estimate including VAT |
amount |
string | |
currency |
string | |
net_amounts |
boolean | Whether or not VAT is included in the amount_per_unit in the line item (this is typically used when
invoicing a private person rather than a company) |
introduction |
string | Comments printed on the Invoice (above the line items) |
remarks |
string | Remarks printed on the Invoice (under the line items) |
reference |
string | Custom reference (for example an order ID) |
customer_company_name |
string | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
customer_attn |
string | To the attention of |
customer_address_street |
string | Street and house number of the address of a Customer (required when is_private is false) |
customer_address_city |
string | City of the address of a Customer (required when is_private is false) |
customer_address_postal_code |
string | Postal code of the address of a Customer (required when is_private is false) |
customer_address_country_code |
string | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
customer_address_country_name |
string | Country name of a Customer (applicable when is_private is false, defaults to NL) |
customer_address_extra_information |
string | Extra line of Customer address information |
customer_vat_shifted |
boolean | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
customer_vat_number |
string | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
language |
string | The language in which the Invoice will be translated |
line_items |
array[object] | line items of the estimate |
description |
string | Description of the line item |
vat |
object | A hash representing a vat category, contains a category string and a percentage integer. |
value |
number | A string representing vat percentage as a decimal |
category |
string | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
quantity |
object | A numeric string representing a quantity. The number of units being sold. |
amount |
string | |
currency |
string | |
amount |
object | A hash representing a monetary amount, contains a string for amount and currency.The amount per unit being sold. |
amount |
string | |
currency |
string | |
total_amount_ex_vat |
object | A hash representing a monetary amount, contains a string for amount and currency.The total amount for the line item excluding vat. |
amount |
string | |
currency |
string | |
discounts |
array[object] | discounts applied to the estimate |
description |
string | Description of the discount |
percentage |
integer | The discount to apply expressed as a percentage |
sent_or_modified_on |
string | The date the Estimate was last sent or modified. |
possible_actions |
array[string] | A list of strings indicating actions that can be taken with the associated estimate |
curl -X GET "https://api.jortt.nl/v2/estimates/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"estimate_status": "<estimate_status>",
"acceptance_status": "<acceptance_status>",
"customer_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"tradename_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"estimate_number": "<estimate_number>",
"valid_until": "<valid_until>",
"total": {
"amount": "22.00",
"currency": "EUR"
},
"total_incl_vat": {
"amount": "22.00",
"currency": "EUR"
},
"net_amounts": false,
"introduction": "example",
"remarks": "example",
"reference": "123",
"customer_company_name": "Jortt",
"customer_attn": "Finance Department",
"customer_address_street": "Rozengracht 75a",
"customer_address_city": "Amsterdam",
"customer_address_postal_code": "1012 AB",
"customer_address_country_code": "NL",
"customer_address_country_name": "Nederland",
"customer_address_extra_information": "2nd floor",
"customer_vat_shifted": false,
"customer_vat_number": "NL000099998B57",
"language": "nl",
"line_items": [
{
"description": "this is a description example",
"vat": {
"value": "0.21",
"category": null
},
"quantity": "22.1",
"amount": {
"amount": "22.00",
"currency": "EUR"
},
"total_amount_ex_vat": {
"amount": "22.00",
"currency": "EUR"
}
}
],
"discounts": [
{
"description": "this is a description example",
"percentage": 21
}
],
"sent_or_modified_on": "<sent_or_modified_on>"
},
"possible_actions": [
"<possible_actions>"
]
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
EditEstimateV2required |
object | body | |
customer_id |
string | body | Resource identifier (UUID) |
tradename_id |
string | body | The ID of the Tradename used for this Invoice. It should a resource identifier (UUID). If not set the default Organization will be used. |
valid_until |
string | body | The date until which the Estimate is valid. |
net_amounts |
boolean | body | Whether or not VAT is included in the amount_per_unit in the line item (this is typically used when
invoicing a private person rather than a company) |
introduction |
string | body | Comments printed on the Invoice (above the line items) |
remarks |
string | body | Remarks printed on the Invoice (under the line items) |
reference |
string | body | Custom reference (for example an order ID) |
line_items |
array[object] | body | The line items of an Invoice |
description |
string | body | Description of the line item |
quantity |
object | body | |
amountrequired |
string | body | |
currencyrequired |
string | body | |
amount |
object | body | |
amountrequired |
string | body | |
currencyrequired |
string | body | |
vat |
object | body | |
valuerequired |
number | body | A string representing vat percentage as a decimal |
categoryrequired |
string | body | A string describing a vat category. Can be null or one of the following [exempt, margin_goods_high, travel_services_high]. Note that special categories are only available if you have enabled the appropriate setting for your organization |
discounts |
array[object] | body | Discounts applied to the invoice |
description |
string | body | Description of the discount |
percentagerequired |
integer | body | The discount to apply expressed as a percentage |
| Status | Description |
|---|---|
| 200 | No Content |
curl -X PUT "https://api.jortt.nl/v2/estimates/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"customer_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"tradename_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"valid_until": "<valid_until>",
"net_amounts": false,
"introduction": "example",
"remarks": "example",
"reference": "123",
"line_items": [
{
"description": "this is a description example",
"quantity": {
"amount": "<amount>",
"currency": "<currency>"
},
"amount": {
"amount": "<amount>",
"currency": "<currency>"
},
"vat": {
"value": "0.21",
"category": "exempt"
}
}
],
"discounts": [
{
"description": "this is a description example",
"percentage": 21
}
]
}'
The send_method parameter determines how the estimate is delivered:
email: Sends the estimate via email to the customer's email address.self: Marks the estimate as sent (for manual delivery / printing).
When sending by email, you can optionally provide email_address_customer to override the
customer's default email address.
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
SendEstimateV2required |
object | body | |
send_methodrequired |
string | body | How the Invoice should be sent |
email_address_customer |
string | body | The email address to send the estimate to. Overrides the customer's default email. Only used when send_method is email. |
| Status | Description |
|---|---|
| 200 | Sent |
curl -X POST "https://api.jortt.nl/v2/estimates/{id}/send" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"send_method": "email",
"email_address_customer": "<email_address_customer>"
}'
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Estimate send settings |
| Name | Type | Description |
|---|---|---|
data |
object | |
default_mail_subject |
string | Default email subject for this estimate |
default_mail_body |
string | Default email body for this estimate. |
supported_attachment_types |
array[string] | Supported attachment MIME types |
default_attachments |
array[object] | Response object containing a list of attachments |
id |
string | The id of the attachment |
name |
string | The name of the attachment |
mime_type |
string | The MIME type of the attachment |
curl -X GET "https://api.jortt.nl/v2/estimates/{id}/send_settings" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"default_mail_subject": "<default_mail_subject>",
"default_mail_body": "<default_mail_body>",
"supported_attachment_types": [
"<supported_attachment_types>"
],
"default_attachments": [
{
"id": "531b4c45-1e15-420a-a5ff-bac58cf00b68",
"name": "image.jpeg",
"mime_type": "image/jpeg"
}
]
}
}
v1
Projects
| Name | Type | In | Description |
|---|---|---|---|
page |
integer | query | Page of the response (minimum 1) |
| Status | Description |
|---|---|
| 200 | Projects |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Projects |
organization_id |
string | Resource identifier (UUID) |
aggregate_id |
string | Resource identifier (UUID) |
name |
string | The name of the project. |
reference |
string | Custom reference (for example an order ID) |
customer_id |
string | Resource identifier (UUID) |
description |
string | A string describing the project. |
created_at |
string | When the item was created |
updated_at |
string | When the item was updated |
archived |
boolean | Whether or not the item has been archived. |
is_internal |
boolean | Whether or not the project is an internal project. Internal projects are not attributed to customer. |
customer_record |
object | |
id |
string | Resource identifier (UUID) |
is_private |
boolean | Whether this Customer is a private person (true) or a company (false) |
customer_name |
string | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
address_street |
string | Street and house number of the address of a Customer (required when is_private is false) |
address_postal_code |
string | Postal code of the address of a Customer (required when is_private is false) |
address_city |
string | City of the address of a Customer (required when is_private is false) |
address_country_code |
string | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
address_country_name |
string | Country name of a Customer (applicable when is_private is false, defaults to NL) |
address_extra_information |
string | Extra line of Customer address information |
shift_vat |
boolean | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
vat_number |
string | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
coc_number |
string | The Chamber of Commerce number (KvK-nummer) of a Customer (applicable when is_private is false) |
initials |
string | Initials of a Customer (applicable when is_private is true) |
first_name |
string | First name of a Customer (applicable when is_private is true) |
last_name |
string | Last name of a Customer (applicable when is_private is true) |
date_of_birth |
string | Date of birth of a Customer (applicable when is_private is true) |
citizen_service_number |
string | Citizen service number (BSN-nummer) of a Customer (applicable when is_private is true) |
attn |
string | To the attention of |
phonenumber |
string | A Customer's phone number |
website |
string | A Customer's website |
email |
string | E-mail address to send the Invoice to |
cc_emails |
array[string] | An array of e-mail addresses to CC when the Invoice is sent |
email_salutation |
string | Salutation used in the e-mail (template) when sending an Invoice |
additional_information |
string | Extra Customer information |
payment_term |
integer | Payment term for Invoices (in days, defaults to 30) |
invoice_language |
string | The language in which the Invoice will be translated |
payment_method_invoice |
string | How the Invoice can be paid. Determines the payment instructions printed on the Invoice. Choose from:
The default is |
reference |
string | Custom reference (for example the ID of a customer in an external CRM) |
mollie_direct_debit_status |
string | The status of a mollie direct debit request. Options are:
|
mollie_customer_id |
string | Unique ID of the customer in Mollie |
mollie_mandate_id |
string | Unique ID of the mandate of a customer in Mollie |
default_ledger_account_id |
string | Resource identifier (UUID) of the ledger account to be set as default for a customer, which will automatically be applied to their invoices. |
archived |
boolean | Whether or not the item has been archived. |
default_label_id |
string | Resource identifier (UUID) of the label to be set as default for a customer, which will automatically be applied to their invoices & estimates. |
default_discount_description |
string | Description a default discount to apply to any invoices or estimates created for this customer |
default_discount_percentage |
integer | The default discount to apply expressed as a percentage |
peppol_scheme_code |
integer | Prefix describing the scheme of the peppol identifier. Used when sending invoices via Peppol |
peppol_identifier |
integer | Code used to identify a Peppol legal entity. Used when sending invoices via Peppol |
default_registration_description |
string | A string that can be used to prefill project registrations. |
default_hourly_rate |
object | An amount that can be used to prefill project registrations. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
minutes_this_month |
integer | The time logged to this project this month in minutes. |
total_minutes |
integer | The total time logged to this project in minutes. |
total_value |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
_links |
object | Links to help navigate through the lists of objects. |
previous |
object | A URL object representing the previous set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
next |
object | A URL object representing the next set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
self |
object | A URL object representing the current set of objects. |
href |
string | The URL. |
type |
string | The content type of the URL. |
documentation |
object | A URL object to the pagination documentation of the api. |
href |
string | The URL. |
type |
string | The content type of the URL. |
curl -X GET "https://api.jortt.nl/v1/projects" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?page=<value>
{
"data": [
{
"organization_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"aggregate_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"name": "Jortt Logo Design",
"reference": "123",
"customer_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"description": "This project is fun",
"created_at": "2020-02-23T00:00:00.000+01:00",
"updated_at": "2020-02-23T00:00:00.000+01:00",
"archived": false,
"is_internal": false,
"customer_record": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"is_private": true,
"customer_name": "Jortt",
"address_street": "Rozengracht 75a",
"address_postal_code": "1012 AB",
"address_city": "Amsterdam",
"address_country_code": "NL",
"address_country_name": "Nederland",
"address_extra_information": "2nd floor",
"shift_vat": false,
"vat_number": "NL000099998B57",
"coc_number": "41202536",
"initials": "FL",
"first_name": "Jane",
"last_name": "Doe",
"date_of_birth": "1985-04-29",
"citizen_service_number": "123456789",
"attn": "Finance Department",
"phonenumber": "+31658798654",
"website": "www.example.com",
"email": "example@email.com",
"cc_emails": [
"example@email.com",
"example2@email.com"
],
"email_salutation": "Geachte mevrouw,",
"additional_information": "this is extra info",
"payment_term": 30,
"invoice_language": "nl",
"payment_method_invoice": "pay_later",
"reference": "BX123-123",
"mollie_direct_debit_status": "mollie_direct_debit_requested",
"mollie_customer_id": "cst_kEn1PlbGa",
"mollie_mandate_id": "mdt_h3gAaD5zP",
"default_ledger_account_id": "61a5b600-16bc-013d-3d2d-42742b204134",
"archived": false,
"default_label_id": "57aab2d0-16b8-013d-3d2c-42742b204134",
"default_discount_description": "this is a description example",
"default_discount_percentage": 21,
"peppol_scheme_code": "KVK",
"peppol_identifier": "12345677"
},
"default_registration_description": "This project is fun",
"default_hourly_rate": {
"value": "10.10",
"currency": "EUR"
},
"minutes_this_month": 20,
"total_minutes": 200,
"total_value": {
"value": "365.00",
"currency": "EUR"
}
}
],
"_links": {
"previous": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"next": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"self": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"documentation": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
}
}
}
| Name | Type | In | Description |
|---|---|---|---|
CreateProjectrequired |
object | body | |
namerequired |
string | body | The name of the project. |
description |
string | body | A string describing the project. |
reference |
string | body | Custom reference (for example an order ID) |
is_internal |
boolean | body | Whether or not the project is an internal project. Internal projects are not attributed to customer. |
default_registration_description |
string | body | A string that can be used to prefill project registrations. |
default_hourly_rate |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
customer_id |
string | body | Resource identifier (UUID) for the project customer. Required if is_internal is false. |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
id |
string | The identifier of the created resource |
curl -X POST "https://api.jortt.nl/v1/projects" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Jortt Logo Design",
"description": "This project is fun",
"reference": "123",
"is_internal": false,
"default_registration_description": "This project is fun",
"default_hourly_rate": {
"value": "365.00",
"currency": "EUR"
},
"customer_id": "500fda8f-2c95-46b7-983b-f12df4f75b21"
}'
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the owning Project |
| Status | Description |
|---|---|
| 200 | Project |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a single Invoice |
organization_id |
string | Resource identifier (UUID) |
aggregate_id |
string | Resource identifier (UUID) |
name |
string | The name of the project. |
reference |
string | Custom reference (for example an order ID) |
customer_id |
string | Resource identifier (UUID) |
description |
string | A string describing the project. |
created_at |
string | When the item was created |
updated_at |
string | When the item was updated |
archived |
boolean | Whether or not the item has been archived. |
is_internal |
boolean | Whether or not the project is an internal project. Internal projects are not attributed to customer. |
customer_record |
object | |
id |
string | Resource identifier (UUID) |
is_private |
boolean | Whether this Customer is a private person (true) or a company (false) |
customer_name |
string | Either a company name (when is_private is false) or a private person's full name (when is_private is true) |
address_street |
string | Street and house number of the address of a Customer (required when is_private is false) |
address_postal_code |
string | Postal code of the address of a Customer (required when is_private is false) |
address_city |
string | City of the address of a Customer (required when is_private is false) |
address_country_code |
string | Country code of a Customer in ISO 3166-1 alpha-2
format (required when is_private is false, defaults to NL) |
address_country_name |
string | Country name of a Customer (applicable when is_private is false, defaults to NL) |
address_extra_information |
string | Extra line of Customer address information |
shift_vat |
boolean | Whether or not to shift the VAT for a Customer (applicable when is_private is false) |
vat_number |
string | The VAT number (BTW-nummer) of a Customer (applicable when is_private is false and shift_vat is
true) |
coc_number |
string | The Chamber of Commerce number (KvK-nummer) of a Customer (applicable when is_private is false) |
initials |
string | Initials of a Customer (applicable when is_private is true) |
first_name |
string | First name of a Customer (applicable when is_private is true) |
last_name |
string | Last name of a Customer (applicable when is_private is true) |
date_of_birth |
string | Date of birth of a Customer (applicable when is_private is true) |
citizen_service_number |
string | Citizen service number (BSN-nummer) of a Customer (applicable when is_private is true) |
attn |
string | To the attention of |
phonenumber |
string | A Customer's phone number |
website |
string | A Customer's website |
email |
string | E-mail address to send the Invoice to |
cc_emails |
array[string] | An array of e-mail addresses to CC when the Invoice is sent |
email_salutation |
string | Salutation used in the e-mail (template) when sending an Invoice |
additional_information |
string | Extra Customer information |
payment_term |
integer | Payment term for Invoices (in days, defaults to 30) |
invoice_language |
string | The language in which the Invoice will be translated |
payment_method_invoice |
string | How the Invoice can be paid. Determines the payment instructions printed on the Invoice. Choose from:
The default is |
reference |
string | Custom reference (for example the ID of a customer in an external CRM) |
mollie_direct_debit_status |
string | The status of a mollie direct debit request. Options are:
|
mollie_customer_id |
string | Unique ID of the customer in Mollie |
mollie_mandate_id |
string | Unique ID of the mandate of a customer in Mollie |
default_ledger_account_id |
string | Resource identifier (UUID) of the ledger account to be set as default for a customer, which will automatically be applied to their invoices. |
archived |
boolean | Whether or not the item has been archived. |
default_label_id |
string | Resource identifier (UUID) of the label to be set as default for a customer, which will automatically be applied to their invoices & estimates. |
default_discount_description |
string | Description a default discount to apply to any invoices or estimates created for this customer |
default_discount_percentage |
integer | The default discount to apply expressed as a percentage |
peppol_scheme_code |
integer | Prefix describing the scheme of the peppol identifier. Used when sending invoices via Peppol |
peppol_identifier |
integer | Code used to identify a Peppol legal entity. Used when sending invoices via Peppol |
default_registration_description |
string | A string that can be used to prefill project registrations. |
default_hourly_rate |
object | An amount that can be used to prefill project registrations. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
minutes_this_month |
integer | The time logged to this project this month in minutes. |
total_minutes |
integer | The total time logged to this project in minutes. |
total_value |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
curl -X GET "https://api.jortt.nl/v1/projects/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"organization_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"aggregate_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"name": "Jortt Logo Design",
"reference": "123",
"customer_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"description": "This project is fun",
"created_at": "2020-02-23T00:00:00.000+01:00",
"updated_at": "2020-02-23T00:00:00.000+01:00",
"archived": false,
"is_internal": false,
"customer_record": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"is_private": true,
"customer_name": "Jortt",
"address_street": "Rozengracht 75a",
"address_postal_code": "1012 AB",
"address_city": "Amsterdam",
"address_country_code": "NL",
"address_country_name": "Nederland",
"address_extra_information": "2nd floor",
"shift_vat": false,
"vat_number": "NL000099998B57",
"coc_number": "41202536",
"initials": "FL",
"first_name": "Jane",
"last_name": "Doe",
"date_of_birth": "1985-04-29",
"citizen_service_number": "123456789",
"attn": "Finance Department",
"phonenumber": "+31658798654",
"website": "www.example.com",
"email": "example@email.com",
"cc_emails": [
"example@email.com",
"example2@email.com"
],
"email_salutation": "Geachte mevrouw,",
"additional_information": "this is extra info",
"payment_term": 30,
"invoice_language": "nl",
"payment_method_invoice": "pay_later",
"reference": "BX123-123",
"mollie_direct_debit_status": "mollie_direct_debit_requested",
"mollie_customer_id": "cst_kEn1PlbGa",
"mollie_mandate_id": "mdt_h3gAaD5zP",
"default_ledger_account_id": "61a5b600-16bc-013d-3d2d-42742b204134",
"archived": false,
"default_label_id": "57aab2d0-16b8-013d-3d2c-42742b204134",
"default_discount_description": "this is a description example",
"default_discount_percentage": 21,
"peppol_scheme_code": "KVK",
"peppol_identifier": "12345677"
},
"default_registration_description": "This project is fun",
"default_hourly_rate": {
"value": "10.10",
"currency": "EUR"
},
"minutes_this_month": 20,
"total_minutes": 200,
"total_value": {
"value": "365.00",
"currency": "EUR"
}
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the owning Project |
UpdateProjectrequired |
object | body | |
name |
string | body | The name of the project. |
description |
string | body | A string describing the project. |
reference |
string | body | Custom reference (for example an order ID) |
is_internal |
boolean | body | Whether or not the project is an internal project. Internal projects are not attributed to customer. |
default_registration_description |
string | body | A string that can be used to prefill project registrations. |
default_hourly_rate |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
customer_id |
string | body | Resource identifier (UUID) for the project customer. Required if is_internal is false. |
| Status | Description |
|---|---|
| 200 | No Content |
curl -X PUT "https://api.jortt.nl/v1/projects/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Jortt Logo Design",
"description": "This project is fun",
"reference": "123",
"is_internal": false,
"default_registration_description": "This project is fun",
"default_hourly_rate": {
"value": "365.00",
"currency": "EUR"
},
"customer_id": "500fda8f-2c95-46b7-983b-f12df4f75b21"
}'
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the owning Project |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X DELETE "https://api.jortt.nl/v1/projects/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the owning Project |
InvoiceProjectrequired |
array[object] | body |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
id |
string | The identifier of the created resource |
curl -X POST "https://api.jortt.nl/v1/projects/{id}/invoice" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '[
{
"line_item_ids": [
"<line_item_ids>"
],
"days": [
"<days>"
],
"months": [
"<months>"
]
}
]'
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
page |
integer | query | Page of the response (minimum 1) |
start_date |
string | query | date to fetch data from (inclusive) |
end_date |
string | query | date to fetch data until (exclusive) |
status_filter |
string | query | status used to filter project line items |
| Status | Description |
|---|---|
| 200 | Project Line Items |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Project line items for a given project |
project_id |
string | Resource identifier (UUID) |
description |
string | A string describing line item. |
amount |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
quantity |
string | The number of items as a string. For time registrations this is hours, for cost registrations it is a simple quantity |
invoice_id |
string | Resource identifier (UUID) |
user_id |
string | Resource identifier (UUID) |
organization_id |
string | Resource identifier (UUID) |
line_item_id |
integer | The line item's id. |
status |
string | String indicating the line item's billing status. Can be one of [billable, invoiced, concept, nonbillable] |
date |
string | The date that the line item was logged on. |
line_item_type |
string | String representing the type of line item this is, can either be time_registration or cost. |
created_at |
string | When the item was created |
updated_at |
string | When the item was updated |
total_amount |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
user_record |
object | |
id |
string | Resource identifier (UUID) |
full_name |
string | Name of the user |
_links |
object | Links to help navigate through the lists of objects. |
previous |
object | A URL object representing the previous set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
next |
object | A URL object representing the next set of objects, or null if not available. |
href |
string | The URL. |
type |
string | The content type of the URL. |
self |
object | A URL object representing the current set of objects. |
href |
string | The URL. |
type |
string | The content type of the URL. |
documentation |
object | A URL object to the pagination documentation of the api. |
href |
string | The URL. |
type |
string | The content type of the URL. |
curl -X GET "https://api.jortt.nl/v1/projects/{id}/line_items" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?page=<value>&start_date=<value>&end_date=<value>
{
"data": [
{
"project_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"description": "Work done today",
"amount": {
"value": "365.00",
"currency": "EUR"
},
"quantity": "202",
"invoice_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"user_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"organization_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"line_item_id": 22,
"status": "billable",
"date": "2020-02-23T00:00:00.000+01:00",
"line_item_type": "time_registration",
"created_at": "2020-02-23T00:00:00.000+01:00",
"updated_at": "2020-02-23T00:00:00.000+01:00",
"total_amount": {
"value": "365.00",
"currency": "EUR"
},
"user_record": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"full_name": "Jari Litmanen"
}
}
],
"_links": {
"previous": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"next": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"self": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
},
"documentation": {
"href": "https://api.jortt.nl/customers?page=1",
"type": "<type>"
}
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the owning Project |
V1ProjectsIdLineItemsrequired |
object | body | |
description |
string | body | A string describing line item. |
date |
string | body | The date that the line item was logged on. |
amount |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
status |
string | body | String indicating the line item's billing status. Can be one of [billable, invoiced, concept, nonbillable] |
line_item_type |
string | body | String representing the type of line item this is, can either be time_registration or cost. |
quantity |
object | body | Quantity for this time registration. Only for cost registrations |
minutes |
integer | body | Minutes for this time registration. Only for time registrations |
user_id |
string | body | ID for the user associated with this line item. Uses token owner if not specified |
| Status | Description |
|---|---|
| 201 | Project Line Item Created |
curl -X POST "https://api.jortt.nl/v1/projects/{id}/line_items" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "Work done today",
"date": "2020-02-23T00:00:00.000+01:00",
"amount": {
"value": "365.00",
"currency": "EUR"
},
"status": "billable",
"line_item_type": "time_registration",
"quantity": {},
"minutes": 0,
"user_id": "<user_id>"
}'
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the Project |
period |
string | query | period of the summaries you wish to fetch. one of [year, month, day]. Defaults to month |
start_date |
string | query | date to fetch data from (inclusive) |
end_date |
string | query | date to fetch data until (inclusive) |
| Status | Description |
|---|---|
| 200 | Project Line Item Summary |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a summary of line items for the given project |
date |
string | A string indicating the date period for the given summary. |
total_minutes |
integer | The total number of minutes logged in the summary period. |
due_minutes |
integer | The total number of billable minutes logged in the summary period. |
total_amount |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
due_amount |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
due_costs |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
costs_amount |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
curl -X GET "https://api.jortt.nl/v1/projects/{id}/line_items/summary" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?period=<value>&start_date=<value>&end_date=<value>
{
"data": {
"date": "2024-06",
"total_minutes": 202,
"due_minutes": 202,
"total_amount": {
"value": "365.00",
"currency": "EUR"
},
"due_amount": {
"value": "365.00",
"currency": "EUR"
},
"due_costs": {
"value": "365.00",
"currency": "EUR"
},
"costs_amount": {
"value": "365.00",
"currency": "EUR"
}
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the owning Project |
line_item_idrequired |
integer | path | ID of the line item to update |
| Status | Description |
|---|---|
| 200 | Project Line Item |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a single project line item |
project_id |
string | Resource identifier (UUID) |
description |
string | A string describing line item. |
amount |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
quantity |
string | The number of items as a string. For time registrations this is hours, for cost registrations it is a simple quantity |
invoice_id |
string | Resource identifier (UUID) |
user_id |
string | Resource identifier (UUID) |
organization_id |
string | Resource identifier (UUID) |
line_item_id |
integer | The line item's id. |
status |
string | String indicating the line item's billing status. Can be one of [billable, invoiced, concept, nonbillable] |
date |
string | The date that the line item was logged on. |
line_item_type |
string | String representing the type of line item this is, can either be time_registration or cost. |
created_at |
string | When the item was created |
updated_at |
string | When the item was updated |
total_amount |
object | |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
user_record |
object | |
id |
string | Resource identifier (UUID) |
full_name |
string | Name of the user |
curl -X GET "https://api.jortt.nl/v1/projects/{id}/line_items/{line_item_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"project_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"description": "Work done today",
"amount": {
"value": "365.00",
"currency": "EUR"
},
"quantity": "202",
"invoice_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"user_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"organization_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"line_item_id": 22,
"status": "billable",
"date": "2020-02-23T00:00:00.000+01:00",
"line_item_type": "time_registration",
"created_at": "2020-02-23T00:00:00.000+01:00",
"updated_at": "2020-02-23T00:00:00.000+01:00",
"total_amount": {
"value": "365.00",
"currency": "EUR"
},
"user_record": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"full_name": "Jari Litmanen"
}
}
}
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the Project |
line_item_idrequired |
integer | path | ID of the line item to update |
V1ProjectsIdLineItemsrequired |
object | body | |
description |
string | body | A string describing line item. |
date |
string | body | The date that the line item was logged on. |
amount |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
status |
string | body | String indicating the line item's billing status. Can be one of [billable, invoiced, concept, nonbillable] |
line_item_type |
string | body | String representing the type of line item this is, can either be time_registration or cost. |
quantity |
object | body | Quantity for this time registration. Only for cost registrations |
minutes |
integer | body | Minutes for this time registration. Only for time registrations |
user_id |
string | body | ID for the user associated with this line item. Uses token owner if not specified |
| Status | Description |
|---|---|
| 201 | Project Updated |
curl -X PUT "https://api.jortt.nl/v1/projects/{id}/line_items/{line_item_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "Work done today",
"date": "2020-02-23T00:00:00.000+01:00",
"amount": {
"value": "365.00",
"currency": "EUR"
},
"status": "billable",
"line_item_type": "time_registration",
"quantity": {},
"minutes": 0,
"user_id": "<user_id>"
}'
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) for the owning Project |
line_item_idrequired |
integer | path | ID of the line item to update |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X DELETE "https://api.jortt.nl/v1/projects/{id}/line_items/{line_item_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
Labels
/labels will retrieve all Labels in alphabetical order of description.| Status | Description |
|---|---|
| 200 | labels |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Labels |
id |
string | Resource identifier (UUID) |
description |
string | The description of a Label |
category |
string | The category of a Label |
curl -X GET "https://api.jortt.nl/v1/labels" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": [
{
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"description": "My Label",
"category": "user_label"
}
]
}
/labels Will create a label and return a representative uuid.| Name | Type | In | Description |
|---|---|---|---|
CreateLabelrequired |
object | body | |
descriptionrequired |
string | body | The description of a Label |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
id |
string | The identifier of the created resource |
curl -X POST "https://api.jortt.nl/v1/labels" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "My Label"
}'
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
}
Loonjournaalposten
year is null (e.g GET /payroll/loonjournaalposten), it will retrieve all Loonjournaalposten ordered by period_date.
Otherwise if a year is passed (e.g GET /payroll/loonjournaalposten?year=2022), it will search and list only the Loonjournaalposten
matching the year, ordered by period_date.
| Name | Type | In | Description |
|---|---|---|---|
year |
string | query | The year to get the Loonjournaalposten for |
| Status | Description |
|---|---|
| 200 | Loonjournaalposten |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Loonjournaalposten |
id |
string | Resource identifier (UUID) |
period_date |
string | Date of the Loonjournaalpost period, must be the first day of the month |
bruto_loon |
object | Amount of bruto_loon |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
werkgeversdeel_sociale_lasten |
object | Amount of werkgeversdeel_sociale_lasten |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
werkgeversdeel_pensioenkosten |
object | Amount of werkgeversdeel_pensioenkosten |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
reservering_vakantiegeld |
object | Amount of reservering_vakantiegeld |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
reservering_eindejaarsuitkering |
object | Amount of reservering_eindejaarsuitkering |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
onbelaste_reiskostenvergoedingen |
object | Amount of onbelaste_reiskostenvergoedingen |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
onbelaste_vergoedingen_gericht_vrijgesteld |
object | Amount of onbelaste_vergoedingen_gericht_vrijgesteld |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
onbelaste_vergoedingen_wkr |
object | Amount of onbelaste_vergoedingen_wkr |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
declaraties_algemeen |
object | Amount of declaraties_algemeen |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
declaraties_kantoorkosten |
object | Amount of declaraties_kantoorkosten |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
declaraties_lunch_en_diner_representatiekosten |
object | Amount of declaraties_lunch_en_diner_representatiekosten |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
declaraties_reiskosten |
object | Amount of declaraties_reiskosten |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
declaraties_auto_en_transportkosten |
object | Amount of declaraties_auto_en_transportkosten |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
declaraties_verkoopkosten |
object | Amount of declaraties_verkoopkosten |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
eindheffing_wkr |
object | Amount of eindheffing_wkr |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
netto_inhoudingen |
object | Amount of netto_inhoudingen |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
afdrachtvermindering_speur_en_ontwikkelingswerk |
object | Amount of afdrachtvermindering_speur_en_ontwikkelingswerk |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
te_betalen_nettolonen |
object | Amount of te_betalen_nettolonen |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
te_betalen_sociale_lasten_loonbelasting |
object | Amount of te_betalen_sociale_lasten_loonbelasting |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
te_betalen_pensioenpremies |
object | Amount of te_betalen_pensioenpremies |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
te_betalen_vakantiegeld |
object | Amount of te_betalen_vakantiegeld |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
te_betalen_eindejaarsuitkering |
object | Amount of te_betalen_eindejaarsuitkering |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
te_betalen_loonbeslag |
object | Amount of te_betalen_loonbeslag |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
curl -X GET "https://api.jortt.nl/v1/loonjournaalposten" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?year=<value>
{
"data": [
{
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"period_date": "2023-10-01",
"bruto_loon": {
"value": "10.10",
"currency": "EUR"
},
"werkgeversdeel_sociale_lasten": {
"value": "10.10",
"currency": "EUR"
},
"werkgeversdeel_pensioenkosten": {
"value": "10.10",
"currency": "EUR"
},
"reservering_vakantiegeld": {
"value": "10.10",
"currency": "EUR"
},
"reservering_eindejaarsuitkering": {
"value": "10.10",
"currency": "EUR"
},
"onbelaste_reiskostenvergoedingen": {
"value": "10.10",
"currency": "EUR"
},
"onbelaste_vergoedingen_gericht_vrijgesteld": {
"value": "10.10",
"currency": "EUR"
},
"onbelaste_vergoedingen_wkr": {
"value": "10.10",
"currency": "EUR"
},
"declaraties_algemeen": {
"value": "10.10",
"currency": "EUR"
},
"declaraties_kantoorkosten": {
"value": "10.10",
"currency": "EUR"
},
"declaraties_lunch_en_diner_representatiekosten": {
"value": "10.10",
"currency": "EUR"
},
"declaraties_reiskosten": {
"value": "10.10",
"currency": "EUR"
},
"declaraties_auto_en_transportkosten": {
"value": "10.10",
"currency": "EUR"
},
"declaraties_verkoopkosten": {
"value": "10.10",
"currency": "EUR"
},
"eindheffing_wkr": {
"value": "10.10",
"currency": "EUR"
},
"netto_inhoudingen": {
"value": "10.10",
"currency": "EUR"
},
"afdrachtvermindering_speur_en_ontwikkelingswerk": {
"value": "10.10",
"currency": "EUR"
},
"te_betalen_nettolonen": {
"value": "10.10",
"currency": "EUR"
},
"te_betalen_sociale_lasten_loonbelasting": {
"value": "10.10",
"currency": "EUR"
},
"te_betalen_pensioenpremies": {
"value": "10.10",
"currency": "EUR"
},
"te_betalen_vakantiegeld": {
"value": "10.10",
"currency": "EUR"
},
"te_betalen_eindejaarsuitkering": {
"value": "10.10",
"currency": "EUR"
},
"te_betalen_loonbeslag": {
"value": "10.10",
"currency": "EUR"
}
}
]
}
/loonjournaalposten Will create a Loonjournaalpost and return a representative uuid.| Name | Type | In | Description |
|---|---|---|---|
CreateLoonjournaalpostrequired |
object | body | |
period_daterequired |
string | body | Date of the Loonjournaalpost period, must be the first day of the month |
bruto_loon |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
werkgeversdeel_sociale_lasten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
werkgeversdeel_pensioenkosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
reservering_vakantiegeld |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
reservering_eindejaarsuitkering |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
onbelaste_reiskostenvergoedingen |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
onbelaste_vergoedingen_gericht_vrijgesteld |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
onbelaste_vergoedingen_wkr |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_algemeen |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_kantoorkosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_lunch_en_diner_representatiekosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_reiskosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_auto_en_transportkosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_verkoopkosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
eindheffing_wkr |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
netto_inhoudingen |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
afdrachtvermindering_speur_en_ontwikkelingswerk |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_nettolonen |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_sociale_lasten_loonbelasting |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_pensioenpremies |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_vakantiegeld |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_eindejaarsuitkering |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_loonbeslag |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
id |
string | The identifier of the created resource |
curl -X POST "https://api.jortt.nl/v1/loonjournaalposten" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"period_date": "2023-10-01",
"bruto_loon": {
"value": "365.00",
"currency": "EUR"
},
"werkgeversdeel_sociale_lasten": {
"value": "365.00",
"currency": "EUR"
},
"werkgeversdeel_pensioenkosten": {
"value": "365.00",
"currency": "EUR"
},
"reservering_vakantiegeld": {
"value": "365.00",
"currency": "EUR"
},
"reservering_eindejaarsuitkering": {
"value": "365.00",
"currency": "EUR"
},
"onbelaste_reiskostenvergoedingen": {
"value": "365.00",
"currency": "EUR"
},
"onbelaste_vergoedingen_gericht_vrijgesteld": {
"value": "365.00",
"currency": "EUR"
},
"onbelaste_vergoedingen_wkr": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_algemeen": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_kantoorkosten": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_lunch_en_diner_representatiekosten": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_reiskosten": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_auto_en_transportkosten": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_verkoopkosten": {
"value": "365.00",
"currency": "EUR"
},
"eindheffing_wkr": {
"value": "365.00",
"currency": "EUR"
},
"netto_inhoudingen": {
"value": "365.00",
"currency": "EUR"
},
"afdrachtvermindering_speur_en_ontwikkelingswerk": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_nettolonen": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_sociale_lasten_loonbelasting": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_pensioenpremies": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_vakantiegeld": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_eindejaarsuitkering": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_loonbeslag": {
"value": "365.00",
"currency": "EUR"
}
}'
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a"
}
}
| Name | Type | In | Description |
|---|---|---|---|
loonjournaalpost_idrequired |
string | path | Resource identifier (UUID) |
UpdateLoonjournaalpostrequired |
object | body | |
bruto_loon |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
werkgeversdeel_sociale_lasten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
werkgeversdeel_pensioenkosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
reservering_vakantiegeld |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
reservering_eindejaarsuitkering |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
onbelaste_reiskostenvergoedingen |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
onbelaste_vergoedingen_gericht_vrijgesteld |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
onbelaste_vergoedingen_wkr |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_algemeen |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_kantoorkosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_lunch_en_diner_representatiekosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_reiskosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_auto_en_transportkosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
declaraties_verkoopkosten |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
eindheffing_wkr |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
netto_inhoudingen |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
afdrachtvermindering_speur_en_ontwikkelingswerk |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_nettolonen |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_sociale_lasten_loonbelasting |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_pensioenpremies |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_vakantiegeld |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_eindejaarsuitkering |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
te_betalen_loonbeslag |
object | body | |
valuerequired |
number | body | Amount per unit of the line item |
currencyrequired |
string | body | Currency of the line item |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X PUT "https://api.jortt.nl/v1/loonjournaalposten/{loonjournaalpost_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"bruto_loon": {
"value": "365.00",
"currency": "EUR"
},
"werkgeversdeel_sociale_lasten": {
"value": "365.00",
"currency": "EUR"
},
"werkgeversdeel_pensioenkosten": {
"value": "365.00",
"currency": "EUR"
},
"reservering_vakantiegeld": {
"value": "365.00",
"currency": "EUR"
},
"reservering_eindejaarsuitkering": {
"value": "365.00",
"currency": "EUR"
},
"onbelaste_reiskostenvergoedingen": {
"value": "365.00",
"currency": "EUR"
},
"onbelaste_vergoedingen_gericht_vrijgesteld": {
"value": "365.00",
"currency": "EUR"
},
"onbelaste_vergoedingen_wkr": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_algemeen": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_kantoorkosten": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_lunch_en_diner_representatiekosten": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_reiskosten": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_auto_en_transportkosten": {
"value": "365.00",
"currency": "EUR"
},
"declaraties_verkoopkosten": {
"value": "365.00",
"currency": "EUR"
},
"eindheffing_wkr": {
"value": "365.00",
"currency": "EUR"
},
"netto_inhoudingen": {
"value": "365.00",
"currency": "EUR"
},
"afdrachtvermindering_speur_en_ontwikkelingswerk": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_nettolonen": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_sociale_lasten_loonbelasting": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_pensioenpremies": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_vakantiegeld": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_eindejaarsuitkering": {
"value": "365.00",
"currency": "EUR"
},
"te_betalen_loonbeslag": {
"value": "365.00",
"currency": "EUR"
}
}'
This call will delete a loonjournaalpost.
| Name | Type | In | Description |
|---|---|---|---|
loonjournaalpost_idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 204 | No Content |
curl -X DELETE "https://api.jortt.nl/v1/loonjournaalposten/{loonjournaalpost_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
Organizations
| Status | Description |
|---|---|
| 200 | Organizations |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a single Organization |
id |
string | Resource identifier (UUID) |
vat_type |
string | Company vat type, can be one of [vat, sometimes_vat, never_vat] |
company_name |
string | Legal name of the company name |
company_name_line_2 |
string | Optional part of the name of the company |
address_street |
string | Street and house number of the address |
address_postal_code |
string | Postal code of the address |
address_city |
string | City of the address |
address_country_code |
string | Country code of the address in ISO 3166-1 alpha-2 format |
address_country_name |
string | Country name of the address |
tax_registration_number |
string | Tax registration number (Btw nummer) |
chamber_of_commerce_number |
string | Chamber of commerce number |
bank_account_iban |
string | IBAN number of the account |
bank_account_bban |
string | BBAN number of the account (some accounts have no IBAN, typically savings accounts) |
owners |
array[object] | A user that has access to this organization |
id |
string | Resource identifier (UUID) |
full_name |
string | Name of the user |
legal_form |
string | Legal form of the company |
website |
string | Website of the organization |
phonenumber |
string | Phonennumber of the organization |
invoice_from_email |
string | E-mail address used for sending invoices by this Organization |
one_stop_shop_enabled |
boolean | Does this organization have one-stop-shop (éénloketsysteem) enabled |
has_mollie |
boolean | Does this organization have a Mollie integration |
jortt_start_date |
string | Time this organization was created in Jortt |
invoice_from_email_confirmed |
boolean | Is the e-mail address used for sending invoices by this Organization confirmed or not |
data_complete_for_sending_invoices |
boolean | Is the data of the Organization complete for sending invoices, for example company address and such |
default_vat |
object | Default vat for this organization, contains a value string representing the vat fraction and a category string |
has_peppol_access |
boolean | Boolean indicating weather this organization has access to peppol |
curl -X GET "https://api.jortt.nl/v1/organizations/me" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"vat_type": "vat",
"company_name": "Jortt B.V.",
"company_name_line_2": "IT department",
"address_street": "Nieuwezijds Voorburgwal 147",
"address_postal_code": "1012 RJ",
"address_city": "Amsterdam",
"address_country_code": "NL",
"address_country_name": "Nederland",
"tax_registration_number": "NL999999999B01",
"chamber_of_commerce_number": "12345678",
"bank_account_iban": "NL10BANK 1234 5678 90",
"bank_account_bban": "123456789",
"owners": [
{
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"full_name": "Jari Litmanen"
}
],
"legal_form": "bv",
"website": "http://www.jortt.nl",
"phonenumber": "+31 20 1234567",
"invoice_from_email": "support@jortt.nl",
"one_stop_shop_enabled": false,
"has_mollie": false,
"jortt_start_date": "2026-05-13T10:16:27+02:00",
"invoice_from_email_confirmed": true,
"data_complete_for_sending_invoices": true,
"default_vat": {
"category": "exempt",
"value": "0.0"
},
"has_peppol_access": false
}
}
Tradenames
GET /tradenames it will retrieve all Tradenames in alphabetical order of company_name.
| Status | Description |
|---|---|
| 200 | tradenames |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of Tradenames |
id |
string | Resource identifier (UUID) |
company_name |
string | |
company_name_line_2 |
string | |
address_street |
string | |
address_city |
string | |
address_postal_code |
string | |
address_country_code |
string | |
phonenumber |
string | |
bank_account_in_the_name_of |
string | |
iban |
string | |
bic |
string | |
finance_email |
string |
curl -X GET "https://api.jortt.nl/v1/tradenames" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": [
{
"id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"company_name": "<company_name>",
"company_name_line_2": "<company_name_line_2>",
"address_street": "<address_street>",
"address_city": "<address_city>",
"address_postal_code": "<address_postal_code>",
"address_country_code": "<address_country_code>",
"phonenumber": "<phonenumber>",
"bank_account_in_the_name_of": "<bank_account_in_the_name_of>",
"iban": "<iban>",
"bic": "<bic>",
"finance_email": "<finance_email>"
}
]
}
Inbox
| Name | Type | In | Description |
|---|---|---|---|
UploadReceiptrequired |
array[object] | body |
| Status | Description |
|---|---|
| 201 | Created |
| Name | Type | Description |
|---|---|---|
data |
object | |
ids |
array[string] | The identifiers of the created resources |
curl -X POST "https://api.jortt.nl/v1/inbox/images" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '[
{
"images": [
"<images>"
]
}
]'
{
"data": {
"ids": "['f8fd3e4e-da1c-43a7-892f-1410ac13e38a']"
}
}
Reports
| Status | Description |
|---|---|
| 200 | Invoices summary |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing invoice summaries for the current year, grouped by payment status |
sent |
object | A Summary of all invoices sent this year. |
count |
integer | The number of invoices in this group. |
amount |
object | The sum of amounts for invoices in this group. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
due_and_late |
object | A Summary of all invoices sent this year which have not been paid yet. |
count |
integer | The number of invoices in this group. |
amount |
object | The sum of amounts for invoices in this group. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
late |
object | A Summary of all invoices sent this year which have not been paid and are overdue. |
count |
integer | The number of invoices in this group. |
amount |
object | The sum of amounts for invoices in this group. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
curl -X GET "https://api.jortt.nl/v1/reports/summaries/invoices" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"sent": {
"count": 0,
"amount": {
"value": "365.00",
"currency": "EUR"
}
},
"due_and_late": {
"count": 0,
"amount": {
"value": "365.00",
"currency": "EUR"
}
},
"late": {
"count": 0,
"amount": {
"value": "365.00",
"currency": "EUR"
}
}
}
}
| Status | Description |
|---|---|
| 200 | Btw summaries |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of summarized btw data up until the current date. |
period_indicator |
string | String indicating the BTW period, changes based on btw interval as set per organization. |
total_vat |
object | Total vat due for the indicated period. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
curl -X GET "https://api.jortt.nl/v1/reports/summaries/btw" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": [
{
"period_indicator": [
"mrt 2024",
"Q1 2024",
"2024"
],
"total_vat": {
"value": "365.00",
"currency": "EUR"
}
}
]
}
| Status | Description |
|---|---|
| 200 | Balances |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a summary of balance data for dashboard display |
balans_vaste_activa |
object | Balance for fixed assets for the current year. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
balans_vlottende_activa |
object | Balance for current assets for the current year. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
balans_eigen_vermogen |
object | Balance for equity for the current year. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
balans_overige_passiva |
object | Balance for other liabilities for the current year. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
curl -X GET "https://api.jortt.nl/v1/reports/summaries/balance" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"balans_vaste_activa": {
"value": "365.00",
"currency": "EUR"
},
"balans_vlottende_activa": {
"value": "365.00",
"currency": "EUR"
},
"balans_eigen_vermogen": {
"value": "365.00",
"currency": "EUR"
},
"balans_overige_passiva": {
"value": "365.00",
"currency": "EUR"
}
}
}
| Status | Description |
|---|---|
| 200 | Profit and loss summary |
| Name | Type | Description |
|---|---|---|
data |
object | Response object containing a summary of profit and loss data for dashboard display |
total_opbrengsten |
object | Total income for the current year up until the current date. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
total_kosten |
object | Total costs for the current year up until the current date. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
possible_profit |
object | Possible profit for the current year up until the current date. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
end_date |
string | The date up until the profit and loss values were calculated. |
curl -X GET "https://api.jortt.nl/v1/reports/summaries/profit_and_loss" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": {
"total_opbrengsten": {
"value": "365.00",
"currency": "EUR"
},
"total_kosten": {
"value": "365.00",
"currency": "EUR"
},
"possible_profit": {
"value": "365.00",
"currency": "EUR"
},
"end_date": "<end_date>"
}
}
| Status | Description |
|---|---|
| 200 | Cash and bank summary |
| Name | Type | Description |
|---|---|---|
data |
array[object] | Response object containing a list of summarized cash and bank entities. |
bank_accounts |
array[object] | A list of summarized bank account information for the organization's bank accounts. |
bank_account_id |
string | Resource identifier (UUID) |
archived |
boolean | Whether or not the item has been archived. |
description |
string | The name of the bank at which the account is held. |
balance |
object | The balance for this account. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
iban |
string | IBAN number of the account |
bank |
string | The name of the bank at which the account is held. |
liquid_assets |
array[object] | A list of summarized liquid asset details for the organization's liquid assets. |
archived |
boolean | Whether or not the item has been archived. |
ledger_account_id |
string | Resource identifier (UUID) |
balance |
object | The balance for this asset. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
display_number |
string | Type describing the liquid asset. Can be one of the following: savings_account, credit_card, ideal, mollie, paypal, aandelen, other. |
liquid_asset_type |
string | Type describing the liquid asset. Can be one of the following: savings_account, credit_card, ideal, mollie, paypal, aandelen, other. |
kas |
object | A summary of the organizations cash assets |
balance |
object | The balance held in cash. |
value |
number | Amount per unit of the line item |
currency |
string | Currency of the line item |
has_mollie |
boolean | Whether or not the organization has an active mollie integration. |
curl -X GET "https://api.jortt.nl/v1/reports/summaries/cash_and_bank" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
{
"data": [
{
"bank_accounts": [
{
"bank_account_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"archived": false,
"description": "User set description",
"balance": {
"value": {},
"currency": {}
},
"iban": "NL10BANK 1234 5678 90",
"bank": "Rabobank"
}
],
"liquid_assets": [
{
"archived": false,
"ledger_account_id": "f8fd3e4e-da1c-43a7-892f-1410ac13e38a",
"balance": {
"value": {},
"currency": {}
},
"display_number": "credit_card",
"liquid_asset_type": "credit_card"
}
],
"kas": {
"balance": {
"value": "365.00",
"currency": "EUR"
}
},
"has_mollie": false
}
]
}
Files
attachment_ids parameter.| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | query | Resource identifier (UUID) |
namerequired |
string | query | The name of the file to be uploaded |
mime_typerequired |
string | query | The MIME type of the file to be uploaded |
content_lengthrequired |
integer | query | The content length of the file to be uploaded |
| Status | Description |
|---|---|
| 200 | Attachments |
| Name | Type | Description |
|---|---|---|
data |
object | |
put_url |
string | An S3 url to PUT the file to |
curl -X GET "https://api.jortt.nl/v1/files/put_url" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?id=<value>&name=<value>&mime_type=<value>
{
"data": {
"put_url": "<put_url>"
}
}