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 |
curl -X GET "https://api.jortt.nl/v3/customers/{customer_id}/vat-percentages" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
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 |
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>
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 |
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"
}'
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Customer |
curl -X GET "https://api.jortt.nl/v3/customers/{customer_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
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 |
curl -X GET "https://api.jortt.nl/v3/customers/{customer_id}/extra_details" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
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 |
discounts |
array[object] | body | Discounts applied to the invoice |
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 |
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": [],
"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": [],
"discounts": [],
"reference": "123",
"sold_via_platform": false
}'
| Status | Description |
|---|---|
| 200 | Peppol scheme catalog |
curl -X GET "https://api.jortt.nl/v3/invoices/peppol-scheme-catalog" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
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 |
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>
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Invoice |
curl -X GET "https://api.jortt.nl/v3/invoices/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| 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 |
discounts |
array[object] | body | Discounts applied to the invoice |
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": [],
"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": [],
"discounts": [],
"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 |
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>
| 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"
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 |
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"
}'
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 |
curl -X GET "https://api.jortt.nl/v3/invoices/{id}/download" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | 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"
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": [],
"attachment_ids": [],
"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 |
curl -X GET "https://api.jortt.nl/v3/invoices/{id}/send_settings" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 201 | Created |
curl -X POST "https://api.jortt.nl/v3/invoices/{id}/copy" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"
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 |
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>
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 |
discounts |
array[object] | body | Discounts applied to the invoice |
| Status | Description |
|---|---|
| 201 | Created |
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": [],
"discounts": []
}'
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Estimate |
curl -X GET "https://api.jortt.nl/v3/estimates/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| 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 |
discounts |
array[object] | body | Discounts applied to the invoice |
| 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": [],
"discounts": []
}'
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 |
curl -X GET "https://api.jortt.nl/v3/estimates/{id}/send_settings" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
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 |
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>
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 | |
raw_total_amount.amountrequired |
string | body | |
raw_total_amount.currencyrequired |
string | body | |
vat_line_items |
array[object] | body | VAT line items |
| Status | Description |
|---|---|
| 201 | Created |
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": "22.00",
"currency": "EUR"
},
"vat_line_items": []
}'
id.| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | OK |
| 404 | Not Found |
curl -X GET "https://api.jortt.nl/v3/expenses/id/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| 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 | |
raw_total_amount.amountrequired |
string | body | |
raw_total_amount.currencyrequired |
string | body | |
vat_line_items |
array[object] | body | VAT line items |
| 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": "22.00",
"currency": "EUR"
},
"vat_line_items": []
}'
| 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 |
curl -X GET "https://api.jortt.nl/v3/projects" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?page=<value>
| 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 | |
default_hourly_rate.valuerequired |
number | body | Amount per unit of the line item |
default_hourly_rate.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 |
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": "10.10",
"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 |
|---|---|
| 200 | Project |
curl -X GET "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 |
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 | |
default_hourly_rate.valuerequired |
number | body | Amount per unit of the line item |
default_hourly_rate.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": "10.10",
"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 |
curl -X POST "https://api.jortt.nl/v3/projects/{id}/invoice" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"
| 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 |
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>
| 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 | |
amount.valuerequired |
number | body | Amount per unit of the line item |
amount.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": "10.10",
"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 |
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>
| 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 |
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"
| 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 | |
amount.valuerequired |
number | body | Amount per unit of the line item |
amount.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": "10.10",
"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 |
curl -X GET "https://api.jortt.nl/v3/labels" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
/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 |
curl -X POST "https://api.jortt.nl/v3/labels" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "My Label"
}'
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 |
curl -X GET "https://api.jortt.nl/v3/ledger_accounts/invoices" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Status | Description |
|---|---|
| 200 | The Ledger Account |
curl -X GET "https://api.jortt.nl/v3/ledger_accounts/invoices/default" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
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 |
curl -X GET "https://api.jortt.nl/v3/loonjournaalposten" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?year=<value>
/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 | |
bruto_loon.valuerequired |
number | body | Amount per unit of the line item |
bruto_loon.currencyrequired |
string | body | Currency of the line item |
werkgeversdeel_sociale_lasten |
object | body | |
werkgeversdeel_sociale_lasten.valuerequired |
number | body | Amount per unit of the line item |
werkgeversdeel_sociale_lasten.currencyrequired |
string | body | Currency of the line item |
werkgeversdeel_pensioenkosten |
object | body | |
werkgeversdeel_pensioenkosten.valuerequired |
number | body | Amount per unit of the line item |
werkgeversdeel_pensioenkosten.currencyrequired |
string | body | Currency of the line item |
reservering_vakantiegeld |
object | body | |
reservering_vakantiegeld.valuerequired |
number | body | Amount per unit of the line item |
reservering_vakantiegeld.currencyrequired |
string | body | Currency of the line item |
reservering_eindejaarsuitkering |
object | body | |
reservering_eindejaarsuitkering.valuerequired |
number | body | Amount per unit of the line item |
reservering_eindejaarsuitkering.currencyrequired |
string | body | Currency of the line item |
onbelaste_reiskostenvergoedingen |
object | body | |
onbelaste_reiskostenvergoedingen.valuerequired |
number | body | Amount per unit of the line item |
onbelaste_reiskostenvergoedingen.currencyrequired |
string | body | Currency of the line item |
onbelaste_vergoedingen_gericht_vrijgesteld |
object | body | |
onbelaste_vergoedingen_gericht_vrijgesteld.valuerequired |
number | body | Amount per unit of the line item |
onbelaste_vergoedingen_gericht_vrijgesteld.currencyrequired |
string | body | Currency of the line item |
onbelaste_vergoedingen_wkr |
object | body | |
onbelaste_vergoedingen_wkr.valuerequired |
number | body | Amount per unit of the line item |
onbelaste_vergoedingen_wkr.currencyrequired |
string | body | Currency of the line item |
declaraties_algemeen |
object | body | |
declaraties_algemeen.valuerequired |
number | body | Amount per unit of the line item |
declaraties_algemeen.currencyrequired |
string | body | Currency of the line item |
declaraties_kantoorkosten |
object | body | |
declaraties_kantoorkosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_kantoorkosten.currencyrequired |
string | body | Currency of the line item |
declaraties_lunch_en_diner_representatiekosten |
object | body | |
declaraties_lunch_en_diner_representatiekosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_lunch_en_diner_representatiekosten.currencyrequired |
string | body | Currency of the line item |
declaraties_reiskosten |
object | body | |
declaraties_reiskosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_reiskosten.currencyrequired |
string | body | Currency of the line item |
declaraties_auto_en_transportkosten |
object | body | |
declaraties_auto_en_transportkosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_auto_en_transportkosten.currencyrequired |
string | body | Currency of the line item |
declaraties_verkoopkosten |
object | body | |
declaraties_verkoopkosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_verkoopkosten.currencyrequired |
string | body | Currency of the line item |
eindheffing_wkr |
object | body | |
eindheffing_wkr.valuerequired |
number | body | Amount per unit of the line item |
eindheffing_wkr.currencyrequired |
string | body | Currency of the line item |
netto_inhoudingen |
object | body | |
netto_inhoudingen.valuerequired |
number | body | Amount per unit of the line item |
netto_inhoudingen.currencyrequired |
string | body | Currency of the line item |
afdrachtvermindering_speur_en_ontwikkelingswerk |
object | body | |
afdrachtvermindering_speur_en_ontwikkelingswerk.valuerequired |
number | body | Amount per unit of the line item |
afdrachtvermindering_speur_en_ontwikkelingswerk.currencyrequired |
string | body | Currency of the line item |
te_betalen_nettolonen |
object | body | |
te_betalen_nettolonen.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_nettolonen.currencyrequired |
string | body | Currency of the line item |
te_betalen_sociale_lasten_loonbelasting |
object | body | |
te_betalen_sociale_lasten_loonbelasting.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_sociale_lasten_loonbelasting.currencyrequired |
string | body | Currency of the line item |
te_betalen_pensioenpremies |
object | body | |
te_betalen_pensioenpremies.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_pensioenpremies.currencyrequired |
string | body | Currency of the line item |
te_betalen_vakantiegeld |
object | body | |
te_betalen_vakantiegeld.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_vakantiegeld.currencyrequired |
string | body | Currency of the line item |
te_betalen_eindejaarsuitkering |
object | body | |
te_betalen_eindejaarsuitkering.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_eindejaarsuitkering.currencyrequired |
string | body | Currency of the line item |
te_betalen_loonbeslag |
object | body | |
te_betalen_loonbeslag.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_loonbeslag.currencyrequired |
string | body | Currency of the line item |
| Status | Description |
|---|---|
| 201 | Created |
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": "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"
}
}'
| Name | Type | In | Description |
|---|---|---|---|
loonjournaalpost_idrequired |
string | path | Resource identifier (UUID) |
UpdateLoonjournaalpostrequired |
object | body | |
bruto_loon |
object | body | |
bruto_loon.valuerequired |
number | body | Amount per unit of the line item |
bruto_loon.currencyrequired |
string | body | Currency of the line item |
werkgeversdeel_sociale_lasten |
object | body | |
werkgeversdeel_sociale_lasten.valuerequired |
number | body | Amount per unit of the line item |
werkgeversdeel_sociale_lasten.currencyrequired |
string | body | Currency of the line item |
werkgeversdeel_pensioenkosten |
object | body | |
werkgeversdeel_pensioenkosten.valuerequired |
number | body | Amount per unit of the line item |
werkgeversdeel_pensioenkosten.currencyrequired |
string | body | Currency of the line item |
reservering_vakantiegeld |
object | body | |
reservering_vakantiegeld.valuerequired |
number | body | Amount per unit of the line item |
reservering_vakantiegeld.currencyrequired |
string | body | Currency of the line item |
reservering_eindejaarsuitkering |
object | body | |
reservering_eindejaarsuitkering.valuerequired |
number | body | Amount per unit of the line item |
reservering_eindejaarsuitkering.currencyrequired |
string | body | Currency of the line item |
onbelaste_reiskostenvergoedingen |
object | body | |
onbelaste_reiskostenvergoedingen.valuerequired |
number | body | Amount per unit of the line item |
onbelaste_reiskostenvergoedingen.currencyrequired |
string | body | Currency of the line item |
onbelaste_vergoedingen_gericht_vrijgesteld |
object | body | |
onbelaste_vergoedingen_gericht_vrijgesteld.valuerequired |
number | body | Amount per unit of the line item |
onbelaste_vergoedingen_gericht_vrijgesteld.currencyrequired |
string | body | Currency of the line item |
onbelaste_vergoedingen_wkr |
object | body | |
onbelaste_vergoedingen_wkr.valuerequired |
number | body | Amount per unit of the line item |
onbelaste_vergoedingen_wkr.currencyrequired |
string | body | Currency of the line item |
declaraties_algemeen |
object | body | |
declaraties_algemeen.valuerequired |
number | body | Amount per unit of the line item |
declaraties_algemeen.currencyrequired |
string | body | Currency of the line item |
declaraties_kantoorkosten |
object | body | |
declaraties_kantoorkosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_kantoorkosten.currencyrequired |
string | body | Currency of the line item |
declaraties_lunch_en_diner_representatiekosten |
object | body | |
declaraties_lunch_en_diner_representatiekosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_lunch_en_diner_representatiekosten.currencyrequired |
string | body | Currency of the line item |
declaraties_reiskosten |
object | body | |
declaraties_reiskosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_reiskosten.currencyrequired |
string | body | Currency of the line item |
declaraties_auto_en_transportkosten |
object | body | |
declaraties_auto_en_transportkosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_auto_en_transportkosten.currencyrequired |
string | body | Currency of the line item |
declaraties_verkoopkosten |
object | body | |
declaraties_verkoopkosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_verkoopkosten.currencyrequired |
string | body | Currency of the line item |
eindheffing_wkr |
object | body | |
eindheffing_wkr.valuerequired |
number | body | Amount per unit of the line item |
eindheffing_wkr.currencyrequired |
string | body | Currency of the line item |
netto_inhoudingen |
object | body | |
netto_inhoudingen.valuerequired |
number | body | Amount per unit of the line item |
netto_inhoudingen.currencyrequired |
string | body | Currency of the line item |
afdrachtvermindering_speur_en_ontwikkelingswerk |
object | body | |
afdrachtvermindering_speur_en_ontwikkelingswerk.valuerequired |
number | body | Amount per unit of the line item |
afdrachtvermindering_speur_en_ontwikkelingswerk.currencyrequired |
string | body | Currency of the line item |
te_betalen_nettolonen |
object | body | |
te_betalen_nettolonen.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_nettolonen.currencyrequired |
string | body | Currency of the line item |
te_betalen_sociale_lasten_loonbelasting |
object | body | |
te_betalen_sociale_lasten_loonbelasting.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_sociale_lasten_loonbelasting.currencyrequired |
string | body | Currency of the line item |
te_betalen_pensioenpremies |
object | body | |
te_betalen_pensioenpremies.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_pensioenpremies.currencyrequired |
string | body | Currency of the line item |
te_betalen_vakantiegeld |
object | body | |
te_betalen_vakantiegeld.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_vakantiegeld.currencyrequired |
string | body | Currency of the line item |
te_betalen_eindejaarsuitkering |
object | body | |
te_betalen_eindejaarsuitkering.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_eindejaarsuitkering.currencyrequired |
string | body | Currency of the line item |
te_betalen_loonbeslag |
object | body | |
te_betalen_loonbeslag.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_loonbeslag.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": "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"
}
}'
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 |
curl -X GET "https://api.jortt.nl/v3/organizations/me" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
Tradenames
GET /tradenames it will retrieve all Tradenames in alphabetical order of company_name.
| Status | Description |
|---|---|
| 200 | tradenames |
curl -X GET "https://api.jortt.nl/v3/tradenames" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
Inbox
| Name | Type | In | Description |
|---|---|---|---|
UploadReceiptrequired |
array[object] | body |
| Status | Description |
|---|---|
| 201 | Created |
curl -X POST "https://api.jortt.nl/v3/inbox/images" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"
Reports
| Status | Description |
|---|---|
| 200 | Invoices summary |
curl -X GET "https://api.jortt.nl/v3/reports/summaries/invoices" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Status | Description |
|---|---|
| 200 | Btw summaries |
curl -X GET "https://api.jortt.nl/v3/reports/summaries/btw" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Status | Description |
|---|---|
| 200 | Balances |
curl -X GET "https://api.jortt.nl/v3/reports/summaries/balance" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Status | Description |
|---|---|
| 200 | Profit and loss summary |
curl -X GET "https://api.jortt.nl/v3/reports/summaries/profit_and_loss" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Status | Description |
|---|---|
| 200 | Cash and bank summary |
curl -X GET "https://api.jortt.nl/v3/reports/summaries/cash_and_bank" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
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 |
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>
Bank Accounts
| Status | Description |
|---|---|
| 200 | Bank accounts |
curl -X GET "https://api.jortt.nl/v3/bank-accounts" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| 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 |
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>
v2
Customers
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Customer vat percentages |
curl -X GET "https://api.jortt.nl/v2/customers/{customer_id}/vat-percentages" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
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 |
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>
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 |
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"
}'
| Name | Type | In | Description |
|---|---|---|---|
customer_idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Customer |
curl -X GET "https://api.jortt.nl/v2/customers/{customer_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
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 |
curl -X GET "https://api.jortt.nl/v2/customers/{customer_id}/extra_details" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
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 |
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>
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 |
discounts |
array[object] | body | Discounts applied to the invoice |
| Status | Description |
|---|---|
| 201 | Created |
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": [],
"discounts": []
}'
| Name | Type | In | Description |
|---|---|---|---|
idrequired |
string | path | Resource identifier (UUID) |
| Status | Description |
|---|---|
| 200 | Estimate |
curl -X GET "https://api.jortt.nl/v2/estimates/{id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| 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 |
discounts |
array[object] | body | Discounts applied to the invoice |
| 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": [],
"discounts": []
}'
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 |
curl -X GET "https://api.jortt.nl/v2/estimates/{id}/send_settings" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
v1
Projects
| Name | Type | In | Description |
|---|---|---|---|
page |
integer | query | Page of the response (minimum 1) |
| Status | Description |
|---|---|
| 200 | Projects |
curl -X GET "https://api.jortt.nl/v1/projects" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?page=<value>
| 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 | |
default_hourly_rate.valuerequired |
number | body | Amount per unit of the line item |
default_hourly_rate.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 |
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": "10.10",
"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 |
|---|---|
| 200 | Project |
curl -X GET "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 |
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 | |
default_hourly_rate.valuerequired |
number | body | Amount per unit of the line item |
default_hourly_rate.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": "10.10",
"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 |
curl -X POST "https://api.jortt.nl/v1/projects/{id}/invoice" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"
| 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 |
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>
| 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 | |
amount.valuerequired |
number | body | Amount per unit of the line item |
amount.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": "10.10",
"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 |
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>
| 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 |
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"
| 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 | |
amount.valuerequired |
number | body | Amount per unit of the line item |
amount.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": "10.10",
"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 |
curl -X GET "https://api.jortt.nl/v1/labels" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
/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 |
curl -X POST "https://api.jortt.nl/v1/labels" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"description": "My Label"
}'
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 |
curl -X GET "https://api.jortt.nl/v1/loonjournaalposten" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
# Optional query params: ?year=<value>
/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 | |
bruto_loon.valuerequired |
number | body | Amount per unit of the line item |
bruto_loon.currencyrequired |
string | body | Currency of the line item |
werkgeversdeel_sociale_lasten |
object | body | |
werkgeversdeel_sociale_lasten.valuerequired |
number | body | Amount per unit of the line item |
werkgeversdeel_sociale_lasten.currencyrequired |
string | body | Currency of the line item |
werkgeversdeel_pensioenkosten |
object | body | |
werkgeversdeel_pensioenkosten.valuerequired |
number | body | Amount per unit of the line item |
werkgeversdeel_pensioenkosten.currencyrequired |
string | body | Currency of the line item |
reservering_vakantiegeld |
object | body | |
reservering_vakantiegeld.valuerequired |
number | body | Amount per unit of the line item |
reservering_vakantiegeld.currencyrequired |
string | body | Currency of the line item |
reservering_eindejaarsuitkering |
object | body | |
reservering_eindejaarsuitkering.valuerequired |
number | body | Amount per unit of the line item |
reservering_eindejaarsuitkering.currencyrequired |
string | body | Currency of the line item |
onbelaste_reiskostenvergoedingen |
object | body | |
onbelaste_reiskostenvergoedingen.valuerequired |
number | body | Amount per unit of the line item |
onbelaste_reiskostenvergoedingen.currencyrequired |
string | body | Currency of the line item |
onbelaste_vergoedingen_gericht_vrijgesteld |
object | body | |
onbelaste_vergoedingen_gericht_vrijgesteld.valuerequired |
number | body | Amount per unit of the line item |
onbelaste_vergoedingen_gericht_vrijgesteld.currencyrequired |
string | body | Currency of the line item |
onbelaste_vergoedingen_wkr |
object | body | |
onbelaste_vergoedingen_wkr.valuerequired |
number | body | Amount per unit of the line item |
onbelaste_vergoedingen_wkr.currencyrequired |
string | body | Currency of the line item |
declaraties_algemeen |
object | body | |
declaraties_algemeen.valuerequired |
number | body | Amount per unit of the line item |
declaraties_algemeen.currencyrequired |
string | body | Currency of the line item |
declaraties_kantoorkosten |
object | body | |
declaraties_kantoorkosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_kantoorkosten.currencyrequired |
string | body | Currency of the line item |
declaraties_lunch_en_diner_representatiekosten |
object | body | |
declaraties_lunch_en_diner_representatiekosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_lunch_en_diner_representatiekosten.currencyrequired |
string | body | Currency of the line item |
declaraties_reiskosten |
object | body | |
declaraties_reiskosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_reiskosten.currencyrequired |
string | body | Currency of the line item |
declaraties_auto_en_transportkosten |
object | body | |
declaraties_auto_en_transportkosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_auto_en_transportkosten.currencyrequired |
string | body | Currency of the line item |
declaraties_verkoopkosten |
object | body | |
declaraties_verkoopkosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_verkoopkosten.currencyrequired |
string | body | Currency of the line item |
eindheffing_wkr |
object | body | |
eindheffing_wkr.valuerequired |
number | body | Amount per unit of the line item |
eindheffing_wkr.currencyrequired |
string | body | Currency of the line item |
netto_inhoudingen |
object | body | |
netto_inhoudingen.valuerequired |
number | body | Amount per unit of the line item |
netto_inhoudingen.currencyrequired |
string | body | Currency of the line item |
afdrachtvermindering_speur_en_ontwikkelingswerk |
object | body | |
afdrachtvermindering_speur_en_ontwikkelingswerk.valuerequired |
number | body | Amount per unit of the line item |
afdrachtvermindering_speur_en_ontwikkelingswerk.currencyrequired |
string | body | Currency of the line item |
te_betalen_nettolonen |
object | body | |
te_betalen_nettolonen.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_nettolonen.currencyrequired |
string | body | Currency of the line item |
te_betalen_sociale_lasten_loonbelasting |
object | body | |
te_betalen_sociale_lasten_loonbelasting.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_sociale_lasten_loonbelasting.currencyrequired |
string | body | Currency of the line item |
te_betalen_pensioenpremies |
object | body | |
te_betalen_pensioenpremies.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_pensioenpremies.currencyrequired |
string | body | Currency of the line item |
te_betalen_vakantiegeld |
object | body | |
te_betalen_vakantiegeld.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_vakantiegeld.currencyrequired |
string | body | Currency of the line item |
te_betalen_eindejaarsuitkering |
object | body | |
te_betalen_eindejaarsuitkering.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_eindejaarsuitkering.currencyrequired |
string | body | Currency of the line item |
te_betalen_loonbeslag |
object | body | |
te_betalen_loonbeslag.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_loonbeslag.currencyrequired |
string | body | Currency of the line item |
| Status | Description |
|---|---|
| 201 | Created |
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": "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"
}
}'
| Name | Type | In | Description |
|---|---|---|---|
loonjournaalpost_idrequired |
string | path | Resource identifier (UUID) |
UpdateLoonjournaalpostrequired |
object | body | |
bruto_loon |
object | body | |
bruto_loon.valuerequired |
number | body | Amount per unit of the line item |
bruto_loon.currencyrequired |
string | body | Currency of the line item |
werkgeversdeel_sociale_lasten |
object | body | |
werkgeversdeel_sociale_lasten.valuerequired |
number | body | Amount per unit of the line item |
werkgeversdeel_sociale_lasten.currencyrequired |
string | body | Currency of the line item |
werkgeversdeel_pensioenkosten |
object | body | |
werkgeversdeel_pensioenkosten.valuerequired |
number | body | Amount per unit of the line item |
werkgeversdeel_pensioenkosten.currencyrequired |
string | body | Currency of the line item |
reservering_vakantiegeld |
object | body | |
reservering_vakantiegeld.valuerequired |
number | body | Amount per unit of the line item |
reservering_vakantiegeld.currencyrequired |
string | body | Currency of the line item |
reservering_eindejaarsuitkering |
object | body | |
reservering_eindejaarsuitkering.valuerequired |
number | body | Amount per unit of the line item |
reservering_eindejaarsuitkering.currencyrequired |
string | body | Currency of the line item |
onbelaste_reiskostenvergoedingen |
object | body | |
onbelaste_reiskostenvergoedingen.valuerequired |
number | body | Amount per unit of the line item |
onbelaste_reiskostenvergoedingen.currencyrequired |
string | body | Currency of the line item |
onbelaste_vergoedingen_gericht_vrijgesteld |
object | body | |
onbelaste_vergoedingen_gericht_vrijgesteld.valuerequired |
number | body | Amount per unit of the line item |
onbelaste_vergoedingen_gericht_vrijgesteld.currencyrequired |
string | body | Currency of the line item |
onbelaste_vergoedingen_wkr |
object | body | |
onbelaste_vergoedingen_wkr.valuerequired |
number | body | Amount per unit of the line item |
onbelaste_vergoedingen_wkr.currencyrequired |
string | body | Currency of the line item |
declaraties_algemeen |
object | body | |
declaraties_algemeen.valuerequired |
number | body | Amount per unit of the line item |
declaraties_algemeen.currencyrequired |
string | body | Currency of the line item |
declaraties_kantoorkosten |
object | body | |
declaraties_kantoorkosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_kantoorkosten.currencyrequired |
string | body | Currency of the line item |
declaraties_lunch_en_diner_representatiekosten |
object | body | |
declaraties_lunch_en_diner_representatiekosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_lunch_en_diner_representatiekosten.currencyrequired |
string | body | Currency of the line item |
declaraties_reiskosten |
object | body | |
declaraties_reiskosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_reiskosten.currencyrequired |
string | body | Currency of the line item |
declaraties_auto_en_transportkosten |
object | body | |
declaraties_auto_en_transportkosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_auto_en_transportkosten.currencyrequired |
string | body | Currency of the line item |
declaraties_verkoopkosten |
object | body | |
declaraties_verkoopkosten.valuerequired |
number | body | Amount per unit of the line item |
declaraties_verkoopkosten.currencyrequired |
string | body | Currency of the line item |
eindheffing_wkr |
object | body | |
eindheffing_wkr.valuerequired |
number | body | Amount per unit of the line item |
eindheffing_wkr.currencyrequired |
string | body | Currency of the line item |
netto_inhoudingen |
object | body | |
netto_inhoudingen.valuerequired |
number | body | Amount per unit of the line item |
netto_inhoudingen.currencyrequired |
string | body | Currency of the line item |
afdrachtvermindering_speur_en_ontwikkelingswerk |
object | body | |
afdrachtvermindering_speur_en_ontwikkelingswerk.valuerequired |
number | body | Amount per unit of the line item |
afdrachtvermindering_speur_en_ontwikkelingswerk.currencyrequired |
string | body | Currency of the line item |
te_betalen_nettolonen |
object | body | |
te_betalen_nettolonen.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_nettolonen.currencyrequired |
string | body | Currency of the line item |
te_betalen_sociale_lasten_loonbelasting |
object | body | |
te_betalen_sociale_lasten_loonbelasting.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_sociale_lasten_loonbelasting.currencyrequired |
string | body | Currency of the line item |
te_betalen_pensioenpremies |
object | body | |
te_betalen_pensioenpremies.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_pensioenpremies.currencyrequired |
string | body | Currency of the line item |
te_betalen_vakantiegeld |
object | body | |
te_betalen_vakantiegeld.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_vakantiegeld.currencyrequired |
string | body | Currency of the line item |
te_betalen_eindejaarsuitkering |
object | body | |
te_betalen_eindejaarsuitkering.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_eindejaarsuitkering.currencyrequired |
string | body | Currency of the line item |
te_betalen_loonbeslag |
object | body | |
te_betalen_loonbeslag.valuerequired |
number | body | Amount per unit of the line item |
te_betalen_loonbeslag.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": "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"
}
}'
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 |
curl -X GET "https://api.jortt.nl/v1/organizations/me" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
Tradenames
GET /tradenames it will retrieve all Tradenames in alphabetical order of company_name.
| Status | Description |
|---|---|
| 200 | tradenames |
curl -X GET "https://api.jortt.nl/v1/tradenames" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
Inbox
| Name | Type | In | Description |
|---|---|---|---|
UploadReceiptrequired |
array[object] | body |
| Status | Description |
|---|---|
| 201 | Created |
curl -X POST "https://api.jortt.nl/v1/inbox/images" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"
Reports
| Status | Description |
|---|---|
| 200 | Invoices summary |
curl -X GET "https://api.jortt.nl/v1/reports/summaries/invoices" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Status | Description |
|---|---|
| 200 | Btw summaries |
curl -X GET "https://api.jortt.nl/v1/reports/summaries/btw" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Status | Description |
|---|---|
| 200 | Balances |
curl -X GET "https://api.jortt.nl/v1/reports/summaries/balance" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Status | Description |
|---|---|
| 200 | Profit and loss summary |
curl -X GET "https://api.jortt.nl/v1/reports/summaries/profit_and_loss" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
| Status | Description |
|---|---|
| 200 | Cash and bank summary |
curl -X GET "https://api.jortt.nl/v1/reports/summaries/cash_and_bank" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/json"
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 |
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>