### Get Category Tree Source: https://app.cashctrl.com/static/help/en/api/index.html Retrieves a hierarchical tree of all article categories, optionally starting from a specified parent category. ```APIDOC ## GET /api/v1/inventory/article/category/tree.json ### Description Returns a tree of all categories or the tree below a parent category. ### Method GET ### Endpoint /api/v1/inventory/article/category/tree.json ### Parameters #### Query Parameters - **id** (NUMBER) - Optional - Optional ID of the parent category (omit to get all categories). ``` -------------------------------- ### Prepare files Source: https://app.cashctrl.com/static/help/en/api/index.html Prepares one or multiple files for uploading. Returns a list of file IDs and write URLs. Use the write URL to upload the file binary. ```APIDOC ## Prepare files ### Description Prepares one or multiple files for uploading. This is the starting point for uploading files to CashCtrl. In this step, you only provide file metadata, not the actual file. Returns a list of file IDs and write URLs. Use the write URL to upload the file binary (using the PUT method). See the Examples for a tutorial on how to upload a file (prepare put persist). ### Method POST ### Endpoint /api/v1/file/prepare.json ### Parameters #### Request Body - **files** (JSON) - Optional - The files to prepare. This is a JSON array `[{...},{...},...]` with the following parameters: - **mimeType** (TEXT) - Mandatory - The mime type (content type) of the file. E.g. "application/pdf" for PDFs. - **name** (TEXT) - Mandatory - The file name. Must be a valid file name, but doesn't have to be unique. - **categoryId** (NUMBER) - Optional - The ID of the category to add the file in. - **size** (NUMBER) - Optional - The size of the file. This helps to determine early if the storage quota is exceeded or not. However, the actual file size will be determined later upon persisting the file. ``` -------------------------------- ### Get Category Tree Source: https://app.cashctrl.com/static/help/en/api/index.html Retrieves a hierarchical tree of cost center categories, optionally starting from a specific parent category. ```APIDOC ## Get Tree of Categories ### Description Returns a tree of all categories or the tree below a parent category. ### Method GET ### Endpoint /api/v1/account/costcenter/category/tree.json ### Parameters #### Query Parameters - **id** (NUMBER) - Optional - Optional ID of the parent category (omit to get all categories). ``` -------------------------------- ### Upload File via PUT Source: https://app.cashctrl.com/static/help/en/api/index.html Upload files to the pre-authenticated URLs obtained from the prepare step. Files uploaded this way are temporary and will be deleted within 4 hours if not persisted. ```bash curl https://objectstorage.eu-zurich-1.oraclecloud.com/p/pCmCfv9GwIxISZ9pGusMqiG9vG_TqAmU8QXgUhZ6C-W6j1CXYceSoqPQSQVXr0Fx/n/zry79ircxznv/b/dev/o/rihligXi/file/hh/au/report.pdf --upload-file report.pdf ``` ```bash curl https://objectstorage.eu-zurich-1.oraclecloud.com/p/1gi7PDkRphcQRe7bYE4WgM84DJ3uS-v-iN5ldGqgD2MJswZSTqfj1xE5T7F8PBtX/n/zry79ircxznv/b/dev/o/rihligXi/file/jc/zh/image.png --upload-file image.png ``` -------------------------------- ### Get Result Source: https://app.cashctrl.com/static/help/en/api/index.html Retrieves the profit or loss result for a given fiscal period. ```APIDOC ## Get Result ### Description Get the result (profit or loss) of the given fiscal period. ### Method GET ### Endpoint /api/v1/fiscalperiod/result ### Parameters #### Path Parameters None #### Query Parameters - **id** (NUMBER) - Optional - The ID of the fiscal period. ### Request Example ``` GET /api/v1/fiscalperiod/result?id=1 ``` ### Response #### Success Response (200) - **result** (NUMBER) - The profit or loss for the fiscal period. #### Response Example ```json { "result": 15000.50 } ``` ``` -------------------------------- ### Create vCard Import Session Source: https://app.cashctrl.com/static/help/en/api/index.html Initiates a vCard import session. This is the first step in importing a .vcf file. You need to provide the `fileId` of the uploaded vCard file. ```bash curl https://myorg.cashctrl.com/api/v1/person/import/create.json -u zjdqcZjsfSYyM4EPG19tHss6X5NIHf0b: -X POST -F "fileId=314" ``` -------------------------------- ### Prepare File Upload Source: https://app.cashctrl.com/static/help/en/api/index.html Inform CashCtrl about file names and MIME types before uploading. This step returns file IDs and pre-authenticated URLs for the PUT request. ```bash curl https://myorg.cashctrl.com/api/v1/file/prepare.json -u zjdqcZjsfSYyM4EPG19tHss6X5NIHf0b: -X POST -F "files=[{\"name\":\"report.pdf\",\"mimeType\":\"application/pdf\"},{\"name\":\"image.png\",\"mimeType\":\"image/png\"}}]" ``` -------------------------------- ### Get Tree of Categories Source: https://app.cashctrl.com/static/help/en/api/index.html Returns a tree of all categories or the tree below a parent category. ```APIDOC ## GET /api/v1/inventory/asset/category/tree.json ### Description Returns a tree of all categories or the tree below a parent category. ### Method GET ### Endpoint /api/v1/inventory/asset/category/tree.json ### Parameters #### Query Parameters - **id** (NUMBER) - Optional - Optional ID of the parent category (omit to get all categories). ``` -------------------------------- ### Prepare File Upload Source: https://app.cashctrl.com/static/help/en/api/index.html Inform CashCtrl about the files to be uploaded, including their names and mime types. This step returns file IDs and pre-authenticated write URLs. ```APIDOC ## Prepare File Upload ### Description This endpoint is used to inform CashCtrl about the files you intend to upload. It returns file IDs and pre-authenticated write URLs for each file. ### Method POST ### Endpoint https://myorg.cashctrl.com/api/v1/file/prepare.json ### Parameters #### Request Body - **files** (array) - Required - A JSON array where each object contains `name` (string) and `mimeType` (string) for each file. ### Request Example ```json { "files": [ {"name": "report.pdf", "mimeType": "application/pdf"}, {"name": "image.png", "mimeType": "image/png"} ] } ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates if the operation was successful. - **data** (array) - An array of objects, each containing: - **fileId** (integer) - The unique identifier for the file. - **writeUrl** (string) - The pre-authenticated URL to upload the file content to. ``` -------------------------------- ### Get account balance Source: https://app.cashctrl.com/static/help/en/api/index.html Returns the balance of a single account for the given date. ```APIDOC ## Get account balance Returns the balance of a single account for the given date. ### Parameters `id` (NUMBER, mandatory) - The ID of the account. `date` (DATE, optional) - The date for the balance (always end of day). Defaults to the last day of the current fiscal period. See Switch fiscal period. Format: YYYY-MM-DD. Example: `2020-01-15`. ### Endpoint GET /api/v1/account/balance ``` -------------------------------- ### Get tree of reports Source: https://app.cashctrl.com/static/help/en/api/index.html Returns a tree of all instanced reports containing collections and elements. ```APIDOC ## Get tree of reports ### Description Returns a tree of all instanced reports containing collections and elements. ### Method GET ### Endpoint /api/v1/report/tree.json ``` -------------------------------- ### List Settings Source: https://app.cashctrl.com/static/help/en/api/index.html Returns a list of all available salary settings. ```APIDOC ## List Settings ### Description Returns a list of all settings. ### Method GET ### Endpoint GET /api/v1/salary/setting/list.json ``` -------------------------------- ### Get Tree of Categories Source: https://app.cashctrl.com/static/help/en/api/index.html Returns a tree of all categories or the tree below a specified parent category. ```APIDOC ## GET /api/v1/person/category/tree.json ### Description Returns a tree of all categories or the tree below a parent category. ### Method GET ### Endpoint /api/v1/person/category/tree.json ### Parameters #### Query Parameters - **id** (NUMBER) - Optional - Optional ID of the parent category (omit to get all categories). ``` -------------------------------- ### Preview Import Source: https://app.cashctrl.com/static/help/en/api/index.html Allows you to preview the articles that will be imported based on the current import session and mapping. This step is optional but recommended to verify the data before execution. ```APIDOC ## Preview import Previews the imported articles. Returns a list of articles that will be imported. This step can be omitted. ### Parameters `id`| `id`mandatoryNUMBERImport session ID from the Create endpoint. ### Endpoint GET /api/v1/inventory/article/import/preview.json ``` -------------------------------- ### List layouts Source: https://app.cashctrl.com/static/help/en/api/index.html Returns a list of all layouts. ```APIDOC ## GET /api/v1/order/layout/list.json ### Description Returns a list of all layouts. ### Method GET ### Endpoint /api/v1/order/layout/list.json ``` -------------------------------- ### Get exchange rate Source: https://app.cashctrl.com/static/help/en/api/index.html Returns the exchange rate between two currencies for a specific date. ```APIDOC ## GET /api/v1/currency/exchangerate ### Description Returns the exchange rate between two currencies for a specific date. ### Method GET ### Endpoint /api/v1/currency/exchangerate ### Parameters #### Query Parameters - **from** (TEXT) - Required - The source currency to convert. Possible values: AUD, BTC, CAD, CHF, CNY, DKK, EUR, GBP, INR, JPY, RUB, SEK, THB, USD. - **to** (TEXT) - Required - The target currency to convert into. Possible values: AUD, BTC, CAD, CHF, CNY, DKK, EUR, GBP, INR, JPY, RUB, SEK, THB, USD. - **date** (DATE) - Optional - The date for the exchange rate. Leave empty to use today. Format: YYYY-MM-DD. Example: `2020-01-15`. ``` -------------------------------- ### Read All Settings Source: https://app.cashctrl.com/static/help/en/api/index.html Retrieves all general settings for the account. This endpoint provides a comprehensive view of all configurable settings. ```APIDOC ## Read Settings ### Description Returns all settings. ### Method GET ### Endpoint GET /api/v1/setting/read.json ``` -------------------------------- ### Get Tree of Categories Source: https://app.cashctrl.com/static/help/en/api/index.html Returns a tree of all categories or the tree below a specified parent category. ```APIDOC ## GET /api/v1/account/category/tree.json ### Description Returns a tree of all categories or the tree below a parent category. ### Method GET ### Endpoint /api/v1/account/category/tree.json ### Parameters #### Query Parameters - **id** (NUMBER) - Optional - Optional ID of the parent category (omit to get all categories). ``` -------------------------------- ### Create Setting Source: https://app.cashctrl.com/static/help/en/api/index.html Creates a new salary setting. Handles success or multiple error messages. ```APIDOC ## Create Setting ### Description Creates a new setting. Returns either a success or multiple error messages (for each issue). ### Method POST ### Endpoint POST /api/v1/salary/setting/create.json ### Parameters #### Request Body - **name** (TEXT) - Required - MAX:100 - The name of the setting. This can contain localized text. To add values in multiple languages, use the XML format like this: `German textEnglish text` - **variableName** (TEXT) - Required - MIN:2, MAX:32 - The variable name used in calculations. Must start with `$` and contain only alphanumeric characters. - **boolValue** (BOOLEAN) - Optional - The boolean value (if type is `BOOLEAN`, ignored otherwise). Possible values: true, false. - **decimalValue** (NUMBER) - Optional - The decimal value (if type is `DECIMAL`, ignored otherwise). - **isPercentage** (BOOLEAN) - Optional - Whether the decimal value is a percentage or not (if type is `DECIMAL`, ignored otherwise). Possible values: true, false. - **textValue** (TEXT) - Optional - MAX:255 - The text value (if type is `TEXT`, ignored otherwise). - **type** (TEXT) - Optional - The data type of the setting. Possible values: TEXT, BOOLEAN, DECIMAL. ``` -------------------------------- ### Get the annual report PDF Source: https://app.cashctrl.com/static/help/en/api/index.html Retrieves the annual report PDF in a specified language. ```APIDOC ## GET /report/collection/download_annualreport.pdf ### Description Retrieves the annual report PDF in a specified language. ### Method GET ### Endpoint https://myorg.cashctrl.com/api/v1/report/collection/download_annualreport.pdf ### Parameters #### Query Parameters - **lang** (string) - Required - Specifies the desired language for the PDF. Available options: de, fr, it, en. ### Request Example ```bash curl https://myorg.cashctrl.com/api/v1/report/collection/download_annualreport.pdf?lang=fr -u zjdqcZjsfSYyM4EPG19tHss6X5NIHf0b: ``` ``` -------------------------------- ### Get Category Tree Source: https://app.cashctrl.com/static/help/en/api/index.html Retrieves the category tree, optionally filtered by a parent category ID. ```APIDOC ## GET /api/v1/file/category/tree.json ### Description Returns a tree of all categories or the tree below a parent category. ### Method GET ### Endpoint /api/v1/file/category/tree.json ### Parameters #### Query Parameters - **id** (NUMBER) - Optional - Optional ID of the parent category (omit to get all categories). ``` -------------------------------- ### Persist File with Additional Information Source: https://app.cashctrl.com/static/help/en/api/index.html Persist files while adding details like descriptions, notes, or custom fields. This uses the 'create' endpoint. ```bash curl https://myorg.cashctrl.com/api/v1/file/create.json -u zjdqcZjsfSYyM4EPG19tHss6X5NIHf0b: -X POST -F "id=24" -F "name=report.pdf" -F "description=API generated report" ``` ```bash curl https://myorg.cashctrl.com/api/v1/file/create.json -u zjdqcZjsfSYyM4EPG19tHss6X5NIHf0b: -X POST -F "id=25" -F "name=image.png" "notes=Some API generated notes" ``` -------------------------------- ### Order Creation Parameters Source: https://app.cashctrl.com/static/help/en/api/index.html This section details the parameters available for creating an order. It covers general order information, item details, and notification preferences. ```APIDOC ## Order Creation ### Description Allows for the creation of new orders with various customizable options. ### Parameters #### General Order Parameters - **accountId** (NUMBER) - Optional - The ID of the account. Leave empty to use the account from the category. - **currencyId** (NUMBER) - Optional - The ID of the currency. Leave empty to use the default currency. - **currencyRate** (NUMBER) - Optional - The exchange rate from foreign currency to main currency. Only required if the currency is not supported or if you want to use a different rate than suggested. - **custom** (XML) - Optional - Custom field values. Example: `My value`. - **daysBefore** (NUMBER) - Optional - The next order will be created X days before the start date. Leave empty or set to 0 to have the next order created on the start date itself. - **description** (TEXT) - Optional - MAX:200 - A description of the order document. - **discountPercentage** (NUMBER) - Optional - MIN:0.0, MAX:100.0 - The discount percentage for the entire order. - **dueDays** (NUMBER) - Optional - The due days. Order date + due days = Due date. - **endDate** (DATE) - Optional - The end date for the recurrence. Format: YYYY-MM-DD. - **groupId** (NUMBER) - Optional - The ID of the order group (dossier). - **isDisplayItemGross** (BOOLEAN) - Optional - Whether to display item totals as gross (including tax). Defaults to false (net). - **language** (TEXT) - Optional - The language of the document. Possible values: DE, EN, FR, IT. - **notes** (HTML) - Optional - Some optional notes. Can contain limited HTML. - **notifyEmail** (TEXT) - Optional - The e-mail address to send a notification to. - **notifyPersonId** (NUMBER) - Optional - The ID of the person to send a notification to. - **notifyType** (TEXT) - Optional - Whether to send a notification e-mail. Possible values: NONE, USER, PERSON, RESPONSIBLE_PERSON, EMAIL. - **notifyUserId** (NUMBER) - Optional - The ID of the user to send a notification to. - **nr** (TEXT) - Optional - MAX:50 - The order number. Leave empty to generate the number with `sequenceNumberId`. #### Items Parameters - **items** (JSON Array) - Optional - The list of order items. Each item is an object with the following parameters: - **accountId** (NUMBER) - Mandatory - The ID of the account. - **name** (TEXT) - Mandatory - The name of the item. - **unitPrice** (NUMBER) - Mandatory - The price of the item (for one unit). - **allocations** (JSON Array) - Optional - Allocations to cost centers. Each allocation is an object with: - **share** (NUMBER) - Mandatory - Allocation share. - **toCostCenterId** (NUMBER) - Mandatory - ID of cost center to allocate to. - **articleNr** (TEXT) - Optional - The article number. - **description** (TEXT) - Optional - A description of the item. - **discountPercentage** (NUMBER) - Optional - Discount percentage for the item price. - **inventoryId** (NUMBER) - Optional - The ID of the inventory article. - **quantity** (NUMBER) - Optional - The amount of units of the item. Defaults to 1. - **taxId** (NUMBER) - Optional - The ID of the tax code. - **type** (TEXT) - Optional - The type of item. Defaults to ARTICLE. Possible values: ARTICLE, TEXT, PAGEBREAK, SUBTOTAL, TITLE, OPTIONTOTAL. - **unitId** (TEXT) - Optional - The ID of the unit. ``` -------------------------------- ### Get Custom Field Types Source: https://app.cashctrl.com/static/help/en/api/index.html Returns a list of custom field types, with `type` and `i18nKey`. ```APIDOC ## Get custom field types ### Description Returns a list of custom field types, with `type` and `i18nKey`. ### Method GET ### Endpoint /api/v1/customfield/types.json ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example (No request body for GET request) ### Response #### Success Response (200) - **type** (string) - The type of the custom field. - **i18nKey** (string) - The internationalization key for the custom field type. #### Response Example ```json [ { "type": "TEXT", "i18nKey": "customfield.type.text" }, { "type": "NUMBER", "i18nKey": "customfield.type.number" } ] ``` ``` -------------------------------- ### Create Layout Source: https://app.cashctrl.com/static/help/en/api/index.html Creates a new layout with specified configurations. It returns a success message upon creation or a list of error messages if validation fails. ```APIDOC ## POST /api/v1/order/layout/create.json ### Description Creates a new layout. Returns either a success or multiple error messages (for each issue). ### Method POST ### Endpoint /api/v1/order/layout/create.json ### Parameters #### Query Parameters - **name** (TEXT) - Required - A name to describe and identify the layout. MAX: 100 - **elements** (JSON List) - Optional - List of elements containing HTML/CSS snippets for the different parts of the layout. - **elementId** (TEXT) - Required - The layout element ID (e.g. HEADER, FOOTER, etc.). Possible values: HEADER, FOOTER, GENERAL, ADDRESS_WINDOW, INFO_TABLE, ITEMS_TABLE, SALARY_TABLE, TEXT_ABOVE, TEXT_BELOW, LEGACY. - **css** (TEXT) - Optional - The CSS snippet. - **html** (TEXT) - Optional - The HTML snippet. - **footer** (HTML) - Optional - The footer text, which is displayed at the bottom of the document. This can contain limited HTML for styling. Allowed tags: a, p, div, h1, h2, h3, h4, h5, h6, ul, ol, li, blockquote, b, i, s, u, o, sup, sub, ins, del, strong, strike, tt, code, big, small, br, span, em. Allowed inline CSS rules: background, background-color, color, font, font-size, font-weight, font-style, text-align, text-indent, text-decoration. - **isCountryEnglish** (BOOLEAN) - Optional - Display country always in english (UPU standard)? Defaults to true. Possible values: true, false. - **isCountryUppercase** (BOOLEAN) - Optional - Display country uppercase (UPU standard)? Defaults to true. Possible values: true, false. - **isDisplayDocumentName** (BOOLEAN) - Optional - Display document name/title? Defaults to true. Possible values: true, false. - **isDisplayItemArticleNr** (BOOLEAN) - Optional - Display article no. for items? Defaults to true. Possible values: true, false. - **isDisplayItemPriceRounded** (BOOLEAN) - Optional - Display item prices rounded? Defaults to true. Possible values: true, false. - **isDisplayItemTax** (BOOLEAN) - Optional - Display tax for items? Defaults to false. Possible values: true, false. - **isDisplayItemUnit** (BOOLEAN) - Optional - Display unit for items? Defaults to true. Possible values: true, false. - **isDisplayLogo** (BOOLEAN) - Optional - Display logo? Defaults to true. Possible values: true, false. - **isDisplayOrgAddressInWindow** (BOOLEAN) - Optional - Display (your) organization address in window? Defaults to true. Possible values: true, false. - **isDisplayPageNr** (BOOLEAN) - Optional - Display page numbers? Defaults to true. Possible values: true, false. - **isDisplayPayments** (BOOLEAN) - Optional - Display payments? Defaults to true. Possible values: true, false. - **isDisplayPosNr** (BOOLEAN) - Optional - Display item numbering? Defaults to true. Possible values: true, false. - **isDisplayRecipientNr** (BOOLEAN) - Optional - Display recipient number (customer/vendor no.)? Defaults to true. Possible values: true, false. - **isDisplayResponsiblePerson** (BOOLEAN) - Optional - Display responsible person (Sachbearbeiter)? Defaults to true. Possible values: true, false. - **isDisplayZeroTax** (BOOLEAN) - Optional - Display zero tax (with a value of 0.00)? Defaults to false. Possible values: true, false. - **isInactive** (BOOLEAN) - Optional - Mark the layout as inactive. Inactive layouts are greyed out and are no longer suggested. Possible values: true, false. - **isOmitSameCountry** (BOOLEAN) - Optional - Omit country, if same between sender/recipient? Defaults to true. Possible values: true, false. - **isQrEmptyAmount** (BOOLEAN) - Optional - Leave amount empty in the QR code? Otherwise the open amount is used in the QR code. Possible values: true, false. - **isQrNoLines** (BOOLEAN) - Optional - Display QR invoice without any lines? Dashed lines with scissors by default. Possible values: true, false. - **isQrNoReferenceNr** (BOOLEAN) - Optional - Display QR invoice without reference number? Generates reference number by default. Possible values: true, false. - **letterPaperFileId** (NUMBER) - Optional - An optional letter paper to embed on every page (behind the text). Supported type: PDF. Max. size: 500KB. Use the File API to upload a file and then use the file ID here. - **logoHeight** (NUMBER) - Optional - The height of the logo in centimeters. MIN: 0.1, MAX: 9.0 - **pageSize** (TEXT) - Optional - The page size of the document. Defaults to A4. Possible values: A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, LEGAL, LETTER, A4R. - **parentId** (NUMBER) - Optional - The ID of the parent layout to inherit from. Letter paper, HTML and CSS will be inherited from the parent. ``` -------------------------------- ### Get cost center balance Source: https://app.cashctrl.com/static/help/en/api/index.html Returns the balance of a single cost center for a specified date. ```APIDOC ## GET /api/v1/account/costcenter/balance ### Description Returns the balance of a single cost center for the given date. ### Method GET ### Endpoint GET /api/v1/account/costcenter/balance ### Parameters #### Query Parameters - **id** (NUMBER) - Required - The ID of the cost center. - **date** (DATE) - Optional - The date for the balance (always end of day). Defaults to the last day of the current fiscal period. See Switch fiscal period. Format: YYYY-MM-DD. Example: `2020-01-15`. ``` -------------------------------- ### Create template Source: https://app.cashctrl.com/static/help/en/api/index.html Creates a new salary template with specified configurations. Returns success or error messages. ```APIDOC ## Create template ### Description Creates a new template. Returns either a success or multiple error messages (for each issue). ### Method POST ### Endpoint POST /api/v1/salary/template/create.json ### Parameters #### Request Body - **name** (TEXT) - Required - MAX:100 - A name to describe and identify the template. - **currencyId** (NUMBER) - Optional - The ID of the currency to use in salary statements. - **dayOfMonth** (NUMBER) - Optional - MIN:1.0, MAX:31.0 - The day of month used for generating the salary statement date. Leave empty to use today instead. - **footerTemplateId** (NUMBER) - Optional - The ID of the text template for the text below the table (on the salary statement PDF). - **headerTemplateId** (NUMBER) - Optional - The ID of the text template for the text above the table (on the salary statement PDF). - **insurances** (JSON) - Optional - List of insurances defined in this template. - **isDefault** (BOOLEAN) - Optional - Mark the template as the default template to use. Possible values: true, false. - **isInactive** (BOOLEAN) - Optional - Mark the template as inactive. Inactive templates are greyed out and are no longer suggested. Possible values: true, false. - **layoutId** (NUMBER) - Optional - The ID of the layout for the salary statement PDF. - **mailSubject** (TEXT) - Optional - MAX:255 - The mail subject (when sending the salary statement via e-mail). Can contain variables. - **mailTemplateId** (NUMBER) - Optional - The ID of the text template for the mail body text (when sending the salary statement via e-mail). - **message** (TEXT) - Optional - MAX:50 - A message for the payment recipient (included in the pain.001 xml file). - **orgLocationId** (NUMBER) - Optional - The ID of your organization's location. - **parentId** (NUMBER) - Optional - The ID of the parent template to inherit from. - **paymentDayOfMonth** (NUMBER) - Optional - MIN:1.0, MAX:31.0 - The day of month used for generating the salary statement payment date. Leave empty to use today instead. - **sequenceNrId** (NUMBER) - Optional - The ID of the sequence number used for salary statements using this template. See Sequence number. - **types** (JSON) - Optional - List of salary types defined in this template. This is a JSON array `[{...},{...},...]` with the following parameters: - **typeId** (NUMBER) - Required - The ID of the salary type. See Salary type. - **allocations** (JSON) - Optional - Allocations to cost centers. This is a JSON array `[{...},{...},...]` with the following parameters: - **share** (NUMBER) - Required - Allocation share. For example, if you have two cost centers, and one has a share of 3, and the other has a share of 1, then the amount is allocated 3:1 (which equals 75% to 25%). - **toCostCenterId** (NUMBER) - Required - ID of cost center to allocate to. See Cost center. - **creditId** (NUMBER) - Optional - The ID of the account on the credit side. Leave empty to inherit the account from the salary type. See Account. - **debitId** (NUMBER) - Optional - The ID of the account on the debit side. Leave empty to inherit the account from the salary type. See Account. - **description** (TEXT) - Optional - An optional description. Leave empty to inherit the description from the salary type. - **isPreConfig** (BOOLEAN) - Optional - Is pre-configuration? If so, only the values of the salary type are configured here, and the salary type is not automatically added to the salary statement. Otherwise, when selecting this template, the salary type is added. Possible values: true, false. - **onlyMonth** (NUMBER) - Optional - Set the number of the month (january = 1) for when this salary type becomes active (inactive otherwise). - **rowName** (TEXT) - Optional - The name as it appears on the salary statement. Leave empty to inherit the name from the salary type. - **valuesLocal** (JSON) - Optional - A JSON object containing each salary type's field values. This is a simple key/value pair map (the key being the variable name). ``` -------------------------------- ### Get journal book entries Source: https://app.cashctrl.com/static/help/en/api/index.html Retrieves the journal book entries for the current fiscal period. ```APIDOC ## GET /journal/list.json ### Description Retrieves the journal book entries for the current fiscal period. ### Method GET ### Endpoint https://myorg.cashctrl.com/api/v1/journal/list.json ### Parameters #### Query Parameters - **lang** (string) - Optional - Specifies the desired language for the response. Available options: de, fr, it, en. ### Request Example ```bash curl https://myorg.cashctrl.com/api/v1/journal/list.json -u zjdqcZjsfSYyM4EPG19tHss6X5NIHf0b: ``` ``` -------------------------------- ### Read layout Source: https://app.cashctrl.com/static/help/en/api/index.html Returns a single layout by ID. ```APIDOC ## GET /api/v1/order/layout/read.json ### Description Returns a single layout by ID. ### Method GET ### Endpoint /api/v1/order/layout/read.json ### Parameters #### Query Parameters - **id** (NUMBER) - Required - The ID of the entry. ``` -------------------------------- ### Continue Order Source: https://app.cashctrl.com/static/help/en/api/index.html Continues an order as another type of order, for example, continuing an offer as an invoice. ```APIDOC ## Continue Order ### Description Continue an order as another order (e.g. continue an offer as an invoice). Returns either a success or multiple error messages (for each issue). ### Method POST ### Endpoint /api/v1/order/continue.json ### Parameters #### Request Body - **categoryId** (NUMBER) - Required - The ID of the target category. - **ids** (CSV) - Required - The IDs of one or multiple orders to continue, comma-separated. - **associateId** (TEXT) - Optional - The ID of the business partner (customer / vendor). - **date** (DATE) - Optional - The date of the order. Leave empty to use today. Format: YYYY-MM-DD. - **notes** (HTML) - Optional - Some optional notes. This can contain limited HTML for styling. - **statusId** (NUMBER) - Optional - The ID of the status to set. ``` -------------------------------- ### Get Specific Setting Value Source: https://app.cashctrl.com/static/help/en/api/index.html Retrieves the value of a specific setting by its name. This is useful for fetching individual configuration parameters. ```APIDOC ## Get Setting Value ### Description Returns a specific setting value. ### Method GET ### Endpoint GET /api/v1/setting/get ### Parameters #### Query Parameters - **name** (TEXT) - Required - The name of the setting. ``` -------------------------------- ### List files Source: https://app.cashctrl.com/static/help/en/api/index.html Returns a list of files with options for filtering, sorting, and pagination. ```APIDOC ## List files ### Description Returns a list of files. ### Method GET ### Endpoint /api/v1/file/list.json ### Parameters #### Query Parameters - **archived** (BOOLEAN) - Optional - Get archived files (only active files otherwise). Defaults to false. Possible values: true, false. - **categoryId** (NUMBER) - Optional - The ID of the category to filter by. - **dir** (TEXT) - Optional - The direction of the sort order (ascending or descending). Defaults to 'DESC'. Possible values: ASC, DESC. - **filter** (JSON) - Optional - An array of filters to filter the list. All filters must match (AND). This is a JSON array `[{...},{...},...]` with the following parameters: - **comparison** (TEXT) - Optional - Comparison type. Defaults to 'like'. Possible values: eq, like, gt, lt. - **field** (TEXT) - Optional - The name of the column to filter by. - **value** (TEXT) - Optional - Text to filter by, or a JSON array of multiple values (OR). - **limit** (NUMBER) - Optional - The number of entries to retrieve. Defaults to 100. - **mimeTypes** (CSV) - Optional - Filter the file list by these mime types (comma-separated). For example, use image/* to filter by images only. - **onlyNotes** (BOOLEAN) - Optional - Flag to only include entries with notes. Defaults to false. Possible values: true, false. - **onlyWithoutCategory** (BOOLEAN) - Optional - Flag to include only files without a category. Defaults to false. Possible values: true, false. - **query** (TEXT) - Optional - Fulltext search query. - **sort** (TEXT) - Optional - The column to sort the list by. Defaults to 'lastUpdated'. - **start** (NUMBER) - Optional - The starting entry. Defaults to 0. - **withoutSub** (BOOLEAN) - Optional - Flag to exclude files in sub-categories. Defaults to false. Possible values: true, false. ``` -------------------------------- ### Create Payment Source: https://app.cashctrl.com/static/help/en/api/index.html Creates a new payment order. This must be executed before downloading the pain.001 or PDF file. Returns a success or multiple error messages. ```APIDOC ## POST /api/v1/order/payment/create.json ### Description Creates a new payment. This must first be executed before downloading the pain.001 or PDF file with the next endpoint, otherwise we won't be able to match the payments from a camt.052/053/054 file later on. Returns either a success or multiple error messages (for each issue). ### Method POST ### Endpoint /api/v1/order/payment/create.json ### Parameters #### Query Parameters - **date** (DATE) - Mandatory - The execution date for the payment. Format: YYYY-MM-DD. Example: `2020-01-15`. - **orderIds** (CSV) - Mandatory - The IDs of the selected orders, comma-separated. - **amount** (NUMBER) - Optional - A partial payment amount per order. Leave empty to pay all open amounts. - **isCombine** (BOOLEAN) - Optional - If set, merges multiple payments to the same payee into one transaction. Possible values: true, false. - **statusId** (NUMBER) - Optional - The ID of the new status for the order. - **type** (TEXT) - Optional - The type of payment and file to generate. Defaults to PAIN (pain.001). Possible values: PAIN, SEPA_PAIN, WIRE_PDF, CASH_PDF. ``` -------------------------------- ### Get Generated Number Source: https://app.cashctrl.com/static/help/en/api/index.html Returns the next generated number for a given sequence number ID or type, with an optional category and date. ```APIDOC ## Get generated number Returns the next generated number for the given ID or type and optionally category. ### Method GET ### Endpoint /api/v1/sequencenumber/get ### Parameters #### Query Parameters - **id** (NUMBER) - Required - The ID of the sequence number. Either `id` or `type` must be set. - **type** (TEXT) - Required - The type of the sequence number, meaning: which module the sequence number belongs to. Either `id` or `type` must be set. Possible values: INVENTORY_ARTICLE, INVENTORY_ASSET, JOURNAL, ORDER, PERSON, SALARY. - **categoryId** (NUMBER) - Optional - Optional ID of the category where a sequence number is defined. This only works together with the `type` parameter. For example if the `type` is PERSON and the `categoryId` the ID of a person category, you'll retrieve the sequence number defined in that category (if defined). - **date** (DATE) - Optional - An optional date, which will influence the next sequence number to be generated. Format: YYYY-MM-DD. Example: `2020-01-15`. ``` -------------------------------- ### Get file contents Source: https://app.cashctrl.com/static/help/en/api/index.html Returns the contents (binary) of a single file by ID. This endpoint redirects to the actual file URL, so ensure your client handles redirects. ```APIDOC ## Get file contents ### Description Returns the contents (binary) of a single file by ID. Note that this will redirect to the actual file URL, as the CashCtrl main server does not deliver files. Be sure to handle redirects when using this endpoint. See example. ### Method GET ### Endpoint /api/v1/file/get ### Parameters #### Query Parameters - **id** (NUMBER) - Required - The ID of the entry. ``` -------------------------------- ### Create layout Source: https://app.cashctrl.com/static/help/en/api/index.html Creates a new salary layout with specified configurations. It can return success or a list of error messages. ```APIDOC ## Create layout ### Description Creates a new layout. Returns either a success or multiple error messages (for each issue). ### Method POST ### Endpoint /api/v1/salary/layout/create.json ### Parameters #### Request Body - **name** (TEXT) - Required - MAX:100 - A name to describe and identify the layout. - **elements** (JSON) - Optional - List of elements containing HTML/CSS snippets for the different parts of the layout. - **elementId** (TEXT) - Required - The layout element ID (e.g. `HEADER`, `FOOTER`, etc.). Possible values: HEADER, FOOTER, GENERAL, ADDRESS_WINDOW, INFO_TABLE, TEXT_ABOVE, ITEMS_TABLE, SALARY_TABLE, TEXT_BELOW, LEGACY. - **css** (TEXT) - Optional - The CSS snippet. - **html** (TEXT) - Optional - The HTML snippet. - **footer** (HTML) - Optional - The footer text, which is displayed at the bottom of the document. This can contain limited HTML for styling. Allowed tags: a, p, div, h1, h2, h3, h4, h5, h6, ul, ol, li, blockquote, b, i, s, u, o, sup, sub, ins, del, strong, strike, tt, code, big, small, br, span, em. Allowed inline CSS rules: background, background-color, color, font, font-size, font-weight, font-style, text-align, text-indent, text-decoration. - **isCountryEnglish** (BOOLEAN) - Optional - Display country always in english (UPU standard)? Defaults to true. Possible values: true, false. - **isCountryUppercase** (BOOLEAN) - Optional - Display country uppercase (UPU standard)? Defaults to true. Possible values: true, false. - **isDisplayBase** (BOOLEAN) - Optional - Display base column? Defaults to true. Possible values: true, false. - **isDisplayDocumentName** (BOOLEAN) - Optional - Display document name (heading)? Defaults to true. Possible values: true, false. - **isDisplayDocumentNr** (BOOLEAN) - Optional - Display document number? Defaults to true. Possible values: true, false. - **isDisplayEmployeeNr** (BOOLEAN) - Optional - Display employee (person) number? Defaults to true. Possible values: true, false. - **isDisplayLogo** (BOOLEAN) - Optional - Display logo? Defaults to true. Possible values: true, false. - **isDisplayNr** (BOOLEAN) - Optional - Display salary type number? Defaults to true. Possible values: true, false. - **isDisplayOrgAddressInWindow** (BOOLEAN) - Optional - Display address of your own organization in address window? Defaults to true. Possible values: true, false. - **isDisplayPaymentDate** (BOOLEAN) - Optional - Display payment date? Defaults to true. Possible values: true, false. - **isDisplayQuantity** (BOOLEAN) - Optional - Display quantity column? Defaults to true. Possible values: true, false. - **isDisplayRate** (BOOLEAN) - Optional - Display rate column? Defaults to true. Possible values: true, false. - **isDisplaySsn** (BOOLEAN) - Optional - Display social security number? Defaults to true. Possible values: true, false. - **isInactive** (BOOLEAN) - Optional - Mark the layout as inactive. Inactive layouts are greyed out and are no longer suggested. Possible values: true, false. - **isOmitSameCountry** (BOOLEAN) - Optional - Omit country, if same between sender/recipient? Defaults to true. Possible values: true, false. - **letterPaperFileId** (NUMBER) - Optional - An optional letter paper to embed on every page (behind the text). Supported type: PDF. Max. size: 500KB. Use the File API to upload a file and then use the file ID here. - **logoHeight** (NUMBER) - Optional - MIN:0.1 MAX:9.0 - The height of the logo in centimeters. - **pageSize** (TEXT) - Optional - The page size of the document. Defaults to A4. Possible values: A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, LEGAL, LETTER, A4R. - **parentId** (NUMBER) - Optional - The ID of the parent layout to inherit from. Letter paper, HTML and CSS will be inherited from the parent. ``` -------------------------------- ### Preview Import Source: https://app.cashctrl.com/static/help/en/api/index.html Previews the people that will be imported based on the current import session. Returns a list of people. This step is optional. ```APIDOC ## Preview import Previews the imported people. Returns a list of people that will be imported. This step can be omitted. ### Parameters - `id` (NUMBER) - Mandatory - Import session ID from the Create endpoint. ### Endpoint GET /api/v1/person/import/preview.json ``` -------------------------------- ### Create fiscal period Source: https://app.cashctrl.com/static/help/en/api/index.html Creates a new manual fiscal period. This allows for custom start and end dates or automatic creation based on existing periods. ```APIDOC ## Create fiscal period ### Description Creates a new manual fiscal period. Returns either a success or multiple error messages (for each issue). ### Method POST ### Endpoint /api/v1/fiscalperiod/create.json ### Parameters #### Query Parameters - **end** (DATE) - Optional - The end date of the fiscal period, if `isCustom` is set to true, ignored otherwise. Format: YYYY-MM-DD. Example: `2020-01-15`. - **isCustom** (BOOLEAN) - Optional - If true, create a custom fiscal period with `start` and `end` date. `type` will be ignored. Defaults to false. Possible values: true, false. - **name** (TEXT) - Optional - MAX:30 The name of the fiscal period, if `isCustom` is set to true, ignored otherwise. - **salaryEnd** (DATE) - Optional - The end date of the salary period, if `isCustom` is set to true, ignored otherwise. Format: YYYY-MM-DD. Example: `2020-01-15`. - **salaryStart** (DATE) - Optional - The start date of the salary period, if `isCustom` is set to true, ignored otherwise. Format: YYYY-MM-DD. Example: `2020-01-15`. - **start** (DATE) - Optional - The start date of the fiscal period, if `isCustom` is set to true, ignored otherwise. Format: YYYY-MM-DD. Example: `2020-01-15`. - **type** (TEXT) - Optional - Creation type for creating a calendar year, if `isCustom` is not set. Either LATEST, which will create the next year after the latest existing year, or EARLIEST, which will create the year before the earliest existing year. Defaults to LATEST. Possible values: EARLIEST, LATEST. ``` -------------------------------- ### List roundings Source: https://app.cashctrl.com/static/help/en/api/index.html Retrieves a list of all available rounding configurations. ```APIDOC ## GET /api/v1/rounding/list.json ### Description Returns a list of all roundings. ### Method GET ### Endpoint /api/v1/rounding/list.json ```