{
  "openapi": "3.0.4",
  "info": {
    "title": "Bookkeeping & Invoicing/eAccounting API V2",
    "description": "Visit our complete [Bookkeeping & Invoicing/eAccounting API docs](https://developer.vismaonline.com) for how to get started, information about authentication, error handling, query customization and more.<br/><br/>✉ [API Support](https://developer.vismaonline.com/docs/lets-get-started#support)",
    "version": "v2"
  },
  "servers": [
    {
      "url": "https://eaccountingapi.vismaonline.com/v2/"
    }
  ],
  "paths": {
    "/accountbalances/{date}": {
      "get": {
        "tags": [
          "AccountBalance"
        ],
        "summary": "Get account balances by date",
        "description": "Get all account balances at a specific date. The response will include a list of account balances with their details, such as account number, name, and balance at the given date.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "date",
            "in": "path",
            "description": "Date in format yyyy-MM-dd",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfAccountBalanceApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/accountbalances/{accountNumber}/{date}": {
      "get": {
        "tags": [
          "AccountBalance"
        ],
        "summary": "Get account balance by account number and date",
        "description": "Get the balance for a specific account at a specific date. The response will include the account details and the balance at the given date.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "accountNumber",
            "in": "path",
            "description": "The account number",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "date",
            "in": "path",
            "description": "Date in format yyyy-MM-dd",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountBalanceApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Account not found"
          }
        }
      }
    },
    "/accounts": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get accounts",
        "description": "Get all accounts, or add query parameters to filter the results. The response will include a list of accounts with their details, such as account name, number, VAT code information, and fiscal year details.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfAccountApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Create account",
        "description": "Create a new account to a specified fiscal year. Use the FiscalYearId property to specify the fiscal year. Account types can be set automatically or provided manually depending on the useDefaultAccountType parameter.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting",
        "parameters": [
          {
            "name": "useDefaultAccountType",
            "in": "query",
            "description": "If true, the system will provide the standard account type",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Account created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountApi"
                }
              }
            }
          },
          "400": {
            "description": "Account can't be created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/standardaccounts": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get standard accounts",
        "description": "Get a list of the predefined standard accounts. This endpoint is only available for Dutch companies and returns the account types and their corresponding account numbers.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfStandardAccountApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{fiscalyearId}": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get accounts by fiscal year",
        "description": "Get a list of accounts for a specific fiscal year, or add query parameters to filter the results.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "fiscalyearId",
            "in": "path",
            "description": "The fiscal year Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfAccountApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{fiscalyearId}/{accountNumber}": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Get single account",
        "description": "Get a specific account from a given fiscal year by specifying the account number. The response includes detailed account information and description if available.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "fiscalyearId",
            "in": "path",
            "description": "The fiscal year Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "accountNumber",
            "in": "path",
            "description": "The account number",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Account not found"
          }
        }
      },
      "put": {
        "tags": [
          "Accounts"
        ],
        "summary": "Replace account",
        "description": "Replace an existing account's data in a given fiscal year, with the provided new data. \r\nThis operation will only update the account in the specified fiscal year.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting",
        "parameters": [
          {
            "name": "fiscalyearId",
            "in": "path",
            "description": "The fiscal year ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "accountNumber",
            "in": "path",
            "description": "The account number",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Account replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountApi"
                }
              }
            }
          },
          "400": {
            "description": "Account can't be replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Account not found"
          }
        }
      }
    },
    "/accounts/batch": { },
    "/accountTypes": {
      "get": {
        "tags": [
          "AccountTypes"
        ],
        "summary": "Get default account types",
        "description": "Get the default account types. The response will include a list of account types and their descriptions.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfAccountTypesApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/allocationperiods": {
      "get": {
        "tags": [
          "AllocationPeriods"
        ],
        "summary": "Get allocation periods",
        "description": "Get all allocation periods, or add query parameters to filter the results. The response includes details such as the period's name, start and end dates, and its active status.\r\n\r\n**Note**: This endpoint returns only active (non-deleted) allocation periods. If you need to retrieve deleted allocation periods for synchronization purposes, use the separate `/v2/allocationperiods/deleted` endpoint.\r\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfAllocationPeriodApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "AllocationPeriods"
        ],
        "summary": "Add allocation periods for voucher or supplier invoice",
        "description": "Creates new allocation periods from allocation plans for vouchers or supplier invoices.\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AllocationPlan"
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Allocation periods created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AllocationPeriodApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "AllocationPeriods"
        ],
        "summary": "Update allocation periods for voucher or supplier invoice",
        "description": "Updates existing allocation periods from modified allocation plans for vouchers or supplier invoices.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AllocationPlan"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Allocation periods updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AllocationPeriodApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/allocationperiods/deleted": { },
    "/allocationperiods/{allocationPeriodId}": {
      "get": {
        "tags": [
          "AllocationPeriods"
        ],
        "summary": "Get single allocation period",
        "description": "Get a specific allocation period by its unique identifier. The response includes details such as the period's name, start and end dates, and its active status.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "allocationPeriodId",
            "in": "path",
            "description": "The Id of the allocation period to retrieve",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AllocationPeriodApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/approval/vatreport/{id}": {
      "put": {
        "tags": [
          "Approval"
        ],
        "summary": "Replace the approval status of a vat report",
        "description": "Update the approval status of a VAT report.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The Id of the vat report",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApprovalApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VatReportApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/approval/supplierinvoice/{id}": {
      "put": {
        "tags": [
          "Approval"
        ],
        "summary": "Replace the approval status of a supplier invoice draft",
        "description": "Update the approval status of a supplier invoice draft.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The Id of the invoice draft",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApprovalApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApprovalResponseApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/appstore/status": {
      "get": {
        "tags": [
          "AppStoreActivationStatus"
        ],
        "summary": "Get app store activation statuses",
        "description": "Get app store activation status. Each status indicates whether a specific third-party application is activated or deactivated for the user.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly\r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfAppStoreActivationStatusApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "AppStoreActivationStatus"
        ],
        "summary": "Update app store activation status",
        "description": "Update the activation status for a third-party application in the app store.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly\r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppStoreActivationStatusApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Status updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppStoreActivationStatusApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/articleaccountcodings": {
      "get": {
        "tags": [
          "ArticleAccountCodings"
        ],
        "summary": "Get article account codings",
        "description": "Get all article account codings, or add query parameters to filter the results. The response will include a list of article account codings with their accounting rules, VAT settings, and account numbers for different sales scenarios.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "vatRateDate",
            "in": "query",
            "description": "Date to get VAT rates for. Defaults to today",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfArticleAccountCodingApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/articleaccountcodings/{articleAccountCodingId}": {
      "get": {
        "tags": [
          "ArticleAccountCodings"
        ],
        "summary": "Get a specific article account coding",
        "description": "Get a specific article account coding by its unique identifier. The response will include the article account coding's details such as name, type, VAT rate information, and account numbers for different sales scenarios.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "articleAccountCodingId",
            "in": "path",
            "description": "The ID of the article account coding to retrieve",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "vatRateDate",
            "in": "query",
            "description": "Date to get VAT rates for. Defaults to today",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArticleAccountCodingApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/articlelabels": {
      "get": {
        "tags": [
          "ArticleLabels"
        ],
        "summary": "Gets all article labels",
        "description": "Get all article labels, or add query parameters to filter the results. The response will include a list of article labels with their details, such as name and description information.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfArticleLabelApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ArticleLabels"
        ],
        "summary": "Create an article label",
        "description": "Create a new article label.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ArticleLabelApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created article label",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArticleLabelApi"
                }
              }
            }
          },
          "400": {
            "description": "The article label can't be created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/articlelabels/{articlelabelid}": {
      "get": {
        "tags": [
          "ArticleLabels"
        ],
        "summary": "Gets an article label by id",
        "description": "Get a specific article label by its unique identifier. The response will contain the aricle label's details, including the article's name and description information.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "articleLabelId",
            "in": "path",
            "description": "This represents the Id of the article label.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArticleLabelApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/articlelabels/batch": { },
    "/articlelabels/{articleLabelId}": {
      "put": {
        "tags": [
          "ArticleLabels"
        ],
        "summary": "Replace an article label",
        "description": "Replace an existing article label's data with the provided new data. The article label must already exist in the system.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "articleLabelId",
            "in": "path",
            "description": "This represents the Id of the article label",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ArticleLabelApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated article label",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArticleLabelApi"
                }
              }
            }
          },
          "400": {
            "description": "The article label can't be updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ArticleLabels"
        ],
        "summary": "Delete an article label",
        "description": "Deletes a specified article label. \r\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "articleLabelId",
            "in": "path",
            "description": "This represents the Id of the article label",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "404": {
            "description": "Article label not found"
          },
          "400": {
            "description": "Article label can't be deleted"
          }
        }
      }
    },
    "/articles": {
      "get": {
        "tags": [
          "Articles"
        ],
        "summary": "Gets articles",
        "description": "Get all articles, or add query parameters to filter the results. The response will include a list of articles with their details, such as name, description, price information and stock data.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "showPricesWithTwoDecimals",
            "in": "query",
            "description": "Show prices with two decimals",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "customerId",
            "in": "query",
            "description": "Customer ID for price calculations.If customerId is provided in querystring,\r\n                                       then article prices and discounts will be returned based on which pricelist \r\n                                       and discount agreement is assigned to customer.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfArticleApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Articles"
        ],
        "summary": "Create a single article",
        "description": "Create a new article.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ArticleApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created article",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArticleApi"
                }
              }
            }
          },
          "400": {
            "description": "The article can't be created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/articles/statistics": { },
    "/articles/{articleId}": {
      "get": {
        "tags": [
          "Articles"
        ],
        "summary": "Gets an article by id",
        "description": "Get a specific article by its unique identifier. The response will contain the article's details, including name, description, pricing, stock information and associated labels.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "articleId",
            "in": "path",
            "description": "This represents the Id of the article",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "showPricesWithTwoDecimals",
            "in": "query",
            "description": "Show prices with two decimals",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "customerId",
            "in": "query",
            "description": "Customer ID for price calculations.If customerId is provided in querystring,\r\n                                       then article prices and discounts will be returned based on which pricelist\r\n                                       and discount agreement is assigned to customer.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArticleApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Articles"
        ],
        "summary": "Replace an article",
        "description": "Replace an existing article's data with the provided new data. The article must already exist in the system.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "articleId",
            "in": "path",
            "description": "This represents the Id of the article",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ArticleApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated article",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArticleApi"
                }
              }
            }
          },
          "400": {
            "description": "The article can't be updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/articles/batch": { },
    "/attachmentlinks": {
      "post": {
        "tags": [
          "AttachmentLinks"
        ],
        "summary": "Create new links between an existing document and a set of attachments",
        "description": "Create news link between an existing document and a set of attachments.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:purchase",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachmentLinkApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttachmentLinkApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/attachmentlinks/batch": { },
    "/attachmentlinks/{attachmentId}": {
      "delete": {
        "tags": [
          "AttachmentLinks"
        ],
        "summary": "Delete the link between an existing document and its attachment",
        "description": "Delete a link between an existing document and an attachment.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:purchase",
        "parameters": [
          {
            "name": "attachmentId",
            "in": "path",
            "description": "The attachment Id to unlink",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/attachments": {
      "get": {
        "tags": [
          "Attachments"
        ],
        "summary": "Get attachments",
        "description": "Get all attachments, or add query parameters to filter the result. The response will include a list of attachments, with details such as attachment id, file name, and upload date.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "includeMatched",
            "in": "query",
            "description": "Default value: true. When set to false the endpoint returns just the unmatched attachments.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "includeTemporaryUrl",
            "in": "query",
            "description": "Default value: true. When set to false the endpoint returns attachments but does not provide the TemporaryUrl.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfAttachment"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Attachments"
        ],
        "summary": "Create an attachment",
        "description": "Create a new attachment.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:accounting",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachmentUploadApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Attachment created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Attachment"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/attachments/{attachmentId}": {
      "get": {
        "tags": [
          "Attachments"
        ],
        "summary": "Get a specific attachment based on id",
        "description": "Get a specific attachment by its unique identifier. The response will include details such as attachment id, file name, upload date, and a link to download the attachment.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "attachmentId",
            "in": "path",
            "description": "This represents the Id of the attachment you want to get",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Attachment"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Attachments"
        ],
        "summary": "Delete an attachment",
        "description": "Delete an attachment. Only attachments without any linked transactions can be deleted.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:accounting",
        "parameters": [
          {
            "name": "attachmentId",
            "in": "path",
            "description": "This represents the Id of the attachment you want to delete",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Attachment deleted successfully"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/attachments/{attachmentId}/interpretation": { },
    "/autoinvoice/inbound": { },
    "/autoinvoice/inbound/{sequenceNumber}": { },
    "/bankaccounts": {
      "get": {
        "tags": [
          "BankAccounts"
        ],
        "summary": "Get bank accounts",
        "description": "Get all bank accounts, or add query parameters to filter the results. The response will include a list of bank accounts with their details, such as account type, bank information, and current balance.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfBankAccountApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "BankAccounts"
        ],
        "summary": "Create a bank account",
        "description": "Create a new bank account for your company.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BankAccountApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Bank account created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BankAccountApi"
                }
              }
            }
          },
          "400": {
            "description": "Bank account can't be created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/bankaccounts/{bankAccountId}": {
      "get": {
        "tags": [
          "BankAccounts"
        ],
        "summary": "Get a bank account",
        "description": "Get a specific bank account by its unique identifier. The response will include detailed information about the bank account, including its type, bank details, balance information, and any associated properties.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "bankAccountId",
            "in": "path",
            "description": "This represents the Id of the Bank Account.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BankAccountApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Bank account not found"
          }
        }
      },
      "put": {
        "tags": [
          "BankAccounts"
        ],
        "summary": "Replace a bank account",
        "description": "Replace an existing bank account's data with the provided new data. The bank account must already exist in the system.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase",
        "parameters": [
          {
            "name": "bankAccountId",
            "in": "path",
            "description": "This represents the Id of the Bank Account.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BankAccountApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Bank account replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BankAccountApi"
                }
              }
            }
          },
          "400": {
            "description": "Bank account can't be replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Bank account not found"
          }
        }
      },
      "delete": {
        "tags": [
          "BankAccounts"
        ],
        "summary": "Delete a bank account",
        "description": "Delete a specified bank account. Only bank accounts without any linked transactions can be deleted. To hide a bank account that has transactions, set the `isActive` property to `false` in a PUT request.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase",
        "parameters": [
          {
            "name": "bankAccountId",
            "in": "path",
            "description": "This represents the Id of the Bank Account.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "404": {
            "description": "Bank account not found"
          },
          "400": {
            "description": "Bank account can't be deleted"
          }
        }
      }
    },
    "/banktransactions/{bankAccountId}/matched": {
      "get": {
        "tags": [
          "BankTransactions"
        ],
        "summary": "Get a list of matched bank transactions",
        "description": "Get all matched bank transactions for a specific bank account within a date range, or add query parameters to filter the results. Matched bank transactions are those that have been reconciled with business transactions in the accounting system.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly\r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "bankAccountId",
            "in": "path",
            "description": "The company bank account to which the requested transactions correspond",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "description": "Default: First day of the current month",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "description": "Default: Last day of the current month",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfBankTransactionApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/banktransactions/{bankAccountId}/unmatched": {
      "get": {
        "tags": [
          "BankTransactions"
        ],
        "summary": "Get a list of unmatched bank transactions",
        "description": "Get all unmatched bank transactions for a specific bank account within a date range, or add query parameters to filter the results. Unmatched bank transactions are those that have not yet been reconciled with business transactions in the accounting system.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly\r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "bankAccountId",
            "in": "path",
            "description": "The company bank account to which the requested transactions correspond",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "fromDate",
            "in": "query",
            "description": "Default: First day of the current month",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "description": "Default: Last day of the current month",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfBankTransactionApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/banktransactions/{bankAccountId}/{bankTransactionId}": {
      "get": {
        "tags": [
          "BankTransactions"
        ],
        "summary": "Get a specific bank transaction",
        "description": "Get a specific bank transaction by its unique identifier. The response includes detailed information about the transaction and any associated reconciliation data.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly\r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "bankAccountId",
            "in": "path",
            "description": "The company bank account of the request transaction",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "bankTransactionId",
            "in": "path",
            "description": "The requested transaction id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BankTransactionApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Bank transaction not found"
          }
        }
      }
    },
    "/banks": {
      "get": {
        "tags": [
          "Bank"
        ],
        "summary": "Get available banks",
        "description": "Get all available banks for the company's country, or add query parameters to filter the results. The response will include a list of banks with their identifiers and names.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfBankApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/charts/salesandpurchaseinvoices": { },
    "/charts/salesandpurchaseinvoices/documents": { },
    "/companysettings": {
      "get": {
        "tags": [
          "CompanySettings"
        ],
        "summary": "Get company settings",
        "description": "Get the current company settings for the authenticated user's company.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanySettingsApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "CompanySettings"
        ],
        "summary": "Replace company settings",
        "description": "Update the company settings' data with the provided new data.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanySettingsApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanySettingsApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/companysettings/accountinglocksettings": {
      "put": {
        "tags": [
          "CompanySettings"
        ],
        "summary": "Update accounting lock settings",
        "description": "Updates the accounting lock interval and related settings for the company.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountingLockSettingsApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanySettingsApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/companysettings/rotrut": {
      "put": {
        "tags": [
          "CompanySettings"
        ],
        "summary": "Update ROT/RUT settings",
        "description": "Update ROT/RUT settings for Swedish companies using reduced invoicing.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyRotRutSettingsApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompanySettingsApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/companysettings/autoinvoice/inbound": { },
    "/companysettings/new": { },
    "/company/info": { },
    "/company/kivra/register": { },
    "/company/kivra/status": { },
    "/costcenteritems/{itemId}": {
      "get": {
        "tags": [
          "CostCenterItems"
        ],
        "summary": "Get a specific cost center item",
        "description": "Get a specific cost center item by its unique identifier. The response will include the item's details such as name, short name, and status.\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly\r\n* ea:sales\r\n* ea:sales_readonly\r\n* vls:api",
        "parameters": [
          {
            "name": "itemId",
            "in": "path",
            "description": "The unique identifier of the cost center item to retrieve.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostCenterItemApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "401": {
            "description": "Unauthorized. Access denied."
          },
          "403": {
            "description": "Forbidden. The company is not active, or the startup guide is not completed."
          }
        }
      }
    },
    "/costcenteritems": {
      "post": {
        "tags": [
          "CostCenterItems"
        ],
        "summary": "Create a single cost center item",
        "description": "Create a new cost center item within an existing cost center. The item will be assigned a unique identifier and can be used for project tracking and cost allocation.\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:sales\r\n* vls:api",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CostCenterItemApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostCenterItemApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. Access denied."
          },
          "403": {
            "description": "Forbidden. The company is not active, or the startup guide is not completed."
          }
        }
      }
    },
    "/costcenteritems/{costCenterItemId}": {
      "put": {
        "tags": [
          "CostCenterItems"
        ],
        "summary": "Replace the data in a cost center item",
        "description": "Replace an existing cost center item's data with the provided new data.\nThe cost center assignment cannot be changed through this operation.\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:sales\r\n* vls:api",
        "parameters": [
          {
            "name": "costCenterItemId",
            "in": "path",
            "description": "The unique identifier of the cost center item to update.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CostCenterItemApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostCenterItemApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "401": {
            "description": "Unauthorized. Access denied."
          },
          "403": {
            "description": "Forbidden. The company is not active, or the startup guide is not completed."
          }
        }
      }
    },
    "/costcenters": {
      "get": {
        "tags": [
          "CostCenters"
        ],
        "summary": "Get cost centers",
        "description": "Get all cost centers, or add query parameters to filter the results. The response will include a list of cost centers with their details, such as name, number, active status, and associated cost center items.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly\r\n* ea:sales\r\n* ea:sales_readonly\r\n* vls:api",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfCostCenterApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. Access denied."
          },
          "403": {
            "description": "Forbidden. The company is not active, or the startup guide is not completed."
          }
        }
      }
    },
    "/costcenters/{id}": {
      "put": {
        "tags": [
          "CostCenters"
        ],
        "summary": "Update a cost center",
        "description": "Replace an existing cost center's data with the provided new data. The cost center must already exist in the system.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:sales\r\n* vls:api",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the cost center.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CostCenterApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostCenterApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "401": {
            "description": "Unauthorized. Access denied."
          },
          "403": {
            "description": "Forbidden. The company is not active, or the startup guide is not completed."
          }
        }
      }
    },
    "/countries": {
      "get": {
        "tags": [
          "Countries"
        ],
        "summary": "Get countries",
        "description": "Get all countries, or add query parameters to filter the results. The response will include a list of countries with their details, such as name, code, and EU membership status.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* vls:api",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfCountryApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/countries/{countrycode}": {
      "get": {
        "tags": [
          "Countries"
        ],
        "summary": "Get a specific country",
        "description": "Get a specific country by its two-letter country code. The response will include the country details such as name, code, and EU membership status.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* vls:api",
        "parameters": [
          {
            "name": "countrycode",
            "in": "path",
            "description": "Two letter code of requested country",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CountryApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/currencies": {
      "get": {
        "tags": [
          "Currencies"
        ],
        "summary": "Get a list of currencies",
        "description": "Get all available currencies for the company. The response includes a list of currency codes that can be used for transactions and invoicing.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfCurrencyApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/currencies/exchangerate": {
      "get": {
        "tags": [
          "Currencies"
        ],
        "summary": "Get currency exchange rate",
        "description": "Get the exchange rate between two currencies for a specific date. This is useful for converting amounts between currencies in international transactions.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "sourceCurrencyCode",
            "in": "query",
            "description": "Source currency code",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "targetCurrencyCode",
            "in": "query",
            "description": "Target currency code",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Date for the exchange rate",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExchangeRateApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerinvoicedrafts": {
      "get": {
        "tags": [
          "CustomerInvoiceDrafts"
        ],
        "summary": "Get all customer invoice drafts",
        "description": "Get all customer invoice drafts, or add query parameters to filter the results. The response will include a list of customer invoice drafts with their details, such as customer information, rows, totals and attachments.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfCustomerInvoiceDraftApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "CustomerInvoiceDrafts"
        ],
        "summary": "Create a single customer invoice draft",
        "description": "Create a new customer invoice draft.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "overrideCustomerIsPrivatePerson",
            "in": "query",
            "description": "True to override if the customer on the draft is a private individual",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerInvoiceDraftApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Customer invoice draft created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerInvoiceDraftApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerinvoicedrafts/statistics": { },
    "/customerinvoicedrafts/{invoiceDraftId}": {
      "get": {
        "tags": [
          "CustomerInvoiceDrafts"
        ],
        "summary": "Get a customer invoice draft by id",
        "description": "Get a specific customer invoice draft by its unique identifier. The response will include the invoice draft details, such as customer information, rows, totals and attachments.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "invoiceDraftId",
            "in": "path",
            "description": "Id of the draft",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerInvoiceDraftApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerinvoicedrafts/dryrun": { },
    "/customerinvoicedrafts/{customerInvoiceDraftId}": {
      "put": {
        "tags": [
          "CustomerInvoiceDrafts"
        ],
        "summary": "Replace the data in a customer invoice draft",
        "description": "Replace an existing customer invoice draft's data with the provided new data. The draft must already exist in the system.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "customerInvoiceDraftId",
            "in": "path",
            "description": "This is the id of the draft to update",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerInvoiceDraftApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Customer invoice draft updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerInvoiceDraftApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "CustomerInvoiceDrafts"
        ],
        "summary": "Delete a customer invoice draft",
        "description": "Delete an existing customer invoice draft.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "customerInvoiceDraftId",
            "in": "path",
            "description": "The id of the draft you want to delete",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Customer invoice draft deleted"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerinvoicedrafts/{customerInvoiceDraftId}/convert": {
      "post": {
        "tags": [
          "CustomerInvoiceDrafts"
        ],
        "summary": "Convert a CustomerInvoiceDraft to a CustomerInvoice",
        "description": "Convert an existing customer invoice draft to a customer invoice.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "customerInvoiceDraftId",
            "in": "path",
            "description": "Id of the draft you want to convert",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "keepOriginalDraftDate",
            "in": "query",
            "description": "Set to true so invoice date matches draft date",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "overrideCompanyKeepOriginalDraftDate",
            "in": "query",
            "description": "Set to true to override company settings for draft date",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerInvoiceDraftValidationApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Customer invoice created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerInvoiceApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerinvoices": {
      "get": {
        "tags": [
          "CustomerInvoices"
        ],
        "summary": "Get all customer invoices",
        "description": "Get all customer invoices, or add query parameters to filter the results. The response will include a list of customer invoices with their details, such as customer information, rows, totals, and payment status.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "modifiedSinceUtc",
            "in": "query",
            "description": "Used to get the invoices which have been modified since a prompted date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfCustomerInvoiceApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "CustomerInvoices"
        ],
        "summary": "Create a single customer invoice",
        "description": "Create a new customer invoice.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "rotReducedAutomaticDistribution",
            "in": "query",
            "description": "Used for the automatic distribution per person of the rot reduced invoicing amount",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerInvoiceApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Invoice created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerInvoiceApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerinvoices/statistics": { },
    "/customerinvoices/bookkeepingevents": { },
    "/customerinvoices/bookkeepingevents/{bankTransactionId}": { },
    "/customerinvoices/{invoiceId}": {
      "get": {
        "tags": [
          "CustomerInvoices"
        ],
        "summary": "Gets a customer invoice with a specific id",
        "description": "Get a specific customer invoice by its unique identifier. The response will include the invoice details, such as customer information, rows, totals, and payment status.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "description": "Customer invoice id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerInvoiceApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerinvoices/{invoiceId}/pdf": {
      "get": {
        "tags": [
          "CustomerInvoices"
        ],
        "summary": "Gets a customer invoice in Portable Document Format (PDF)",
        "description": "Get a customer invoice in PDF format.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "description": "Customer invoice id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoiceUrlApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerinvoices/{invoiceId}/payments": {
      "post": {
        "tags": [
          "CustomerInvoices"
        ],
        "summary": "Post a customer invoice payment",
        "description": "Create a payment for a customer invoice. The payment will be posted in the general ledger.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "description": "Customer invoice id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoicePaymentApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicePaymentApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerinvoices/dryrun": { },
    "/customerinvoices/{invoiceId}/emailsettings": { },
    "/customerinvoices/{invoiceId}/email": {
      "post": {
        "tags": [
          "CustomerInvoices"
        ],
        "summary": "Send an invoice via email",
        "description": "Send an invoice by email.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "description": "Customer invoice id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerinvoices/{invoiceId}/einvoice": {
      "post": {
        "tags": [
          "CustomerInvoices"
        ],
        "summary": "Send an invoice electronically",
        "description": "Send an invoice by e-invoice.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "description": "Customer invoice id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ElectronicInvoiceRequestApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerinvoices/{invoiceId}/paymentreminders": {
      "post": {
        "tags": [
          "CustomerInvoices"
        ],
        "summary": "Send an a payment reminder for an invoice",
        "description": "Send a payment reminder email to an overdue invoice.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "description": "Customer invoice id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentReminderEmailApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerinvoices/{invoiceId}/print": {
      "get": {
        "tags": [
          "CustomerInvoices"
        ],
        "summary": "Get a pdf file for an invoice",
        "description": "Get a PDF-file of a customer invoice. The response will be the actual PDF file content.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "description": "Customer invoice id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerinvoices/preview": { },
    "/customerinvoices/{invoiceId}/void": {
      "post": {
        "tags": [
          "CustomerInvoices"
        ],
        "summary": "Void a customer invoice",
        "description": "Void a customer invoice.   \r\nIn order to perform this operation the invoice can't have any payments or prior credit relationships. Quick invoices or invoices that have been sold can't be voided. Invoices that have been marked with doubtful or bad debt can't be voided.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "description": "Customer invoice id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "updateStock",
            "in": "query",
            "description": "True to update stock as well",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerinvoicevaluationhistories": { },
    "/customerlabels": {
      "get": {
        "tags": [
          "CustomerLabels"
        ],
        "summary": "Gets all customer labels",
        "description": "Get all customer labels, or add query parameters to filter the results. The response will include a list of customer labels with their details, such as name and description information.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfCustomerLabelApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "CustomerLabels"
        ],
        "summary": "Create a customer label",
        "description": "Create a new customer label.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerLabelApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created customer label",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerLabelApi"
                }
              }
            }
          },
          "400": {
            "description": "The customer label can't be created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerlabels/{customerlabelid}": {
      "get": {
        "tags": [
          "CustomerLabels"
        ],
        "summary": "Gets a customer label by id",
        "description": "Get a specific customer label by its unique identifier. The response will contain the customer label's details, including the customer's name and description information.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "customerLabelId",
            "in": "path",
            "description": "This represents the Id of the customer label.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerLabelApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "CustomerLabels"
        ],
        "summary": "Replace a customer label",
        "description": "Replace an existing customer label's data with the provided new data. The customer label must already exist in the system.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "customerLabelId",
            "in": "path",
            "description": "This represents the Id of the customer label",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerLabelApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated customer label",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerLabelApi"
                }
              }
            }
          },
          "400": {
            "description": "The customer label can't be updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "CustomerLabels"
        ],
        "summary": "Delete a customer label",
        "description": "Deletes a specified customer label.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "customerLabelId",
            "in": "path",
            "description": "This represents the Id of the customer label",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "404": {
            "description": "Customer label not found"
          },
          "400": {
            "description": "Customer label can't be deleted"
          }
        }
      }
    },
    "/customerlabels/batch": { },
    "/customerledgeritems": {
      "get": {
        "tags": [
          "CustomerLedgerItems"
        ],
        "summary": "Get customer ledger items",
        "description": "Get all customer ledger items, or add query parameters to filter the results. The response includes details such as amounts, due dates, and associated vouchers.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfCustomerLedgerItemApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "CustomerLedgerItems"
        ],
        "summary": "Create a customer ledger item",
        "description": "Create a new customer ledger item linked to an existing manual voucher. This allows you to manually register customer receivables or credits that are already accounted for in a voucher. The voucher must be of type manual voucher or SIE import.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerLedgerItemApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Customer ledger item created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerLedgerItemApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerledgeritems/{customerLedgerItemId}": {
      "get": {
        "tags": [
          "CustomerLedgerItems"
        ],
        "summary": "Get a customer ledger item",
        "description": "Get a specific customer ledger item by its unique identifier. The response includes the detailed information about the outstanding amount between your company and a customer, including the associated voucher details.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "customerLedgerItemId",
            "in": "path",
            "description": "Id of the item to get",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerLedgerItemApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerledgeritems/customerledgeritemswithvoucher": {
      "post": {
        "tags": [
          "CustomerLedgerItems"
        ],
        "summary": "Create a customer ledger item with voucher",
        "description": "Create a new customer ledger item together with its associated voucher in a single operation.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "useAutomaticVatCalculation",
            "in": "query",
            "description": "Set to true to automatically calculate VAT amounts",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "useDefaultVatCodes",
            "in": "query",
            "description": "Set to false to override default VAT codes",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "useDefaultVoucherSeries",
            "in": "query",
            "description": "Set to false to override default voucher series",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerLedgerItemWithVoucherApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Customer ledger item with voucher created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerLedgerItemApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customerledgeritems/batch": { },
    "/customers": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get customers",
        "description": "Get all customers, or add query parameters to filter the results. The response will include a list of customers with their details, such as contact information, addresses, payment terms, and status.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfCustomerApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Create a customer",
        "description": "Create a new customer. The system will generate a customer number if not provided.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Customer created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customers/{customerId}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get a specific customer based on id",
        "description": "Get a specific customer by its unique identifier. The response will include the customer's details such as name, address, and contact information.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "This represents the Id of the customer you want to get",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Update a customer",
        "description": "Replace an existing customer's data with the provided new data. The customer must already exist in the system. \r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "This represents the Id of the customer you want to update",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Customer updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Customers"
        ],
        "summary": "Delete a customer",
        "description": "Delete a specified customer. Only customers without any linked transactions can be deleted. To hide a customer that has transactions, set the `IsActive` property to `false` in a PUT request.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "This represents the Id of the customer you want to delete",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Customer deleted successfully"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customers/{customerId}/autoinvoicerecipients": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get autoinvoice recipients for a customer",
        "description": "Get a list of available autoinvoice recipients for a specific customer. This endpoint helps determine if the customer can receive electronic invoices and provides the available recipient addresses.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "This represents the Id of the customer",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfAutoInvoiceAddressApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/customers/batch": { },
    "/customers/kivra/lookup": { },
    "/deliverymethods": {
      "get": {
        "tags": [
          "DeliveryMethods"
        ],
        "summary": "Get delivery methods",
        "description": "Get all delivery methods, or add query parameters to filter the results. The response will include a list of delivery methods with their details, such as name, english name and code.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "responses": {
          "200": {
            "description": "Request successfull",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfDeliveryMethodApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DeliveryMethods"
        ],
        "summary": "Create a delivery method",
        "description": "Create a new delivery method.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryMethodApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successfull",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryMethodApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/deliverymethods/{deliveryMethodId}": {
      "get": {
        "tags": [
          "DeliveryMethods"
        ],
        "summary": "Get a specific delivery method based on id",
        "description": "Get a specific delivery method by its unique identifier. The response will include all details of the delivery method, such as name, english name and code.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "deliveryMethodId",
            "in": "path",
            "description": "This represents the Id of the delivery method.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successfull",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryMethodApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/deliveryterms": {
      "get": {
        "tags": [
          "DeliveryTerms"
        ],
        "summary": "Get delivery terms",
        "description": "Get all delivery terms, or add query parameters to filter the results. The response will include a list of delivery terms with their details, such as name, English name and code.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "responses": {
          "200": {
            "description": "Request successfull",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfDeliveryTermApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "DeliveryTerms"
        ],
        "summary": "Create a delivery term",
        "description": "Create a new delivery term.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeliveryTermApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successfull",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryTermApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/deliveryterms/{deliveryTermId}": {
      "get": {
        "tags": [
          "DeliveryTerms"
        ],
        "summary": "Get a specific delivery term based on id",
        "description": "Get a specific delivery term by its unique identifier. The response will include the delivery term details, such as name, English name and code.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "deliveryTermId",
            "in": "path",
            "description": "This represents the Id of the delivery term.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successfull",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeliveryTermApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/discountagreements": {
      "get": {
        "tags": [
          "DiscountAgreements"
        ],
        "summary": "Gets all discount agreements",
        "description": "Get all discount agreements, or add query parameters to filter the results. The response will include a list of discount agreements with their details, such as name, number, and status information.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfDiscountAgreementApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/discountagreements/{discountAgreementId}": {
      "get": {
        "tags": [
          "DiscountAgreements"
        ],
        "summary": "Gets a discount agreement by id",
        "description": "Get a specific discount agreement by its unique identifier. The response will include the discount agreement details, such as name, number, notes, and status information.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "discountAgreementId",
            "in": "path",
            "description": "This represents the Id of the discount agreement.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscountAgreementApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/documents/{id}": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Get a document by id",
        "description": "Get a specific document by its unique identifier. This endpoint is primarily used to retrieve VAT report PDFs. The response includes document metadata such as content type, size, title, and a temporary URL for accessing the document content. Available for Swedish and Dutch companies only.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the document to retrieve",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/backgrounds": {
      "get": {
        "tags": [
          "Documents"
        ],
        "summary": "Get all available document backgrounds",
        "description": "Get all available document backgrounds for the current company. This endpoint returns a list of background templates that can be used for various document types like invoices, quotes, and orders. Each background includes metadata and a temporary URL for accessing the document template.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfDocumentApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/fiscalyears": {
      "get": {
        "tags": [
          "FiscalYears"
        ],
        "summary": "Get fiscal years",
        "description": "Get all fiscal years, or add query parameters to filter the results. The response will include a list of fiscal years with their details, such as start date, end date, and locking status for accounting.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfFiscalYearApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "FiscalYears"
        ],
        "summary": "Create a fiscal year",
        "description": "Create a new fiscal year for the company. The fiscal year will be validated for proper duration and date constraints based on the company's country rules.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:accounting",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FiscalYearApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Fiscal year created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FiscalYearApi"
                }
              }
            }
          },
          "400": {
            "description": "Fiscal year can't be created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/fiscalyears/{id}": {
      "get": {
        "tags": [
          "FiscalYears"
        ],
        "summary": "Get a fiscal year",
        "description": "Get a single fiscal year by its unique identifier. The response will include the fiscal year details, such as start date, end date, and locking status for accounting.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of requested fiscal year.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FiscalYearApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Fiscal year not found"
          }
        }
      },
      "put": {
        "tags": [
          "FiscalYears"
        ],
        "summary": "Update a fiscal year",
        "description": "Update specific properties of a fiscal year, such as locking or unlocking it for accounting purposes. This operation affects the ability to modify accounting data within the fiscal year.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:accounting",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Id of the fiscal year to update.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FiscalYearUpdateApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Fiscal year updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FiscalYearApi"
                }
              }
            }
          },
          "400": {
            "description": "Fiscal year can't be updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Fiscal year not found"
          }
        }
      }
    },
    "/fiscalyears/openingbalances": {
      "get": {
        "tags": [
          "FiscalYears"
        ],
        "summary": "Get opening balances",
        "description": "Get the opening balances of the first fiscal year. These are the account balances at the beginning of the fiscal year. For balances of subsequent years, use the GET /accountbalances endpoint instead.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfOpeningBalancesApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "FiscalYears"
        ],
        "summary": "Update opening balances",
        "description": "Update the opening balances of the first fiscal year. The sum of all opening balances must equal zero. Optionally enable inactive accounts to allow balance editing.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "enableInactiveAccounts",
            "in": "query",
            "description": "If true, the selected inactive accounts will be enabled, therefore allowing editing of the balance. Default: true",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AccountOpeningBalanceApi"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Opening balances updated",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OpeningBalancesApi"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Opening balances can't be updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/foreignpaymentcodes": {
      "get": {
        "tags": [
          "ForeignPaymentCodes"
        ],
        "summary": "Get foreign payment codes",
        "description": "Get all foreign payment codes available for the company's country, or add query parameters to filter the results. The response includes a list of codes with their descriptions and country information.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfForeignPaymentCodesApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. Access denied."
          },
          "403": {
            "description": "Forbidden. The company is not active, or the startup guide is not completed."
          }
        }
      }
    },
    "/foreignpaymentcodes/{foreignpaymentcodeId}": {
      "get": {
        "tags": [
          "ForeignPaymentCodes"
        ],
        "summary": "Get a foreign payment code",
        "description": "Get a specific foreign payment code by its unique identifier. The response includes details about the code, such as its numeric value, description, and applicable country code.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "foreignpaymentcodeId",
            "in": "path",
            "description": "This represents the Id of the Foreign Payment Code.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForeignPaymentCodesApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "401": {
            "description": "Unauthorized. Access denied."
          },
          "403": {
            "description": "Forbidden. The company is not active, or the startup guide is not completed."
          }
        }
      }
    },
    "/v1/heartbeat": { },
    "/heartbeat": { },
    "/identityLookup": { },
    "/inventoryitems": {
      "get": {
        "tags": [
          "InventoryItems"
        ],
        "summary": "Get inventory items",
        "description": "*(Note: Despite the endpoint name, this resource represents fixed assets rather than inventory items.)*  \r\nGet all fixed assets, or add query parameters to filter the results. The response will include a list of fixed assets with their details, such as name, purchase price, depreciation settings, current value, and accounting template information.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfInventoryItemApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/inventoryitems/{id}": {
      "get": {
        "tags": [
          "InventoryItems"
        ],
        "summary": "Get an inventory item",
        "description": "*(Note: Despite the endpoint name, this resource represents fixed assets rather than inventory items.)*  \r\nGet a specific fixed asset by its unique identifier. The response will include details, such as name, purchase price, depreciation settings, current value, and accounting template information.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the Inventory Item.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InventoryItemApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Inventory item not found"
          }
        }
      }
    },
    "/messagethreads/{messageThreadId}": {
      "get": {
        "tags": [
          "MessageThreads"
        ],
        "summary": "Get message thread",
        "description": "Get a specific message thread by its unique identifier. The response will include the thread details, including subject, document attachment, and receivers.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "messageThreadId",
            "in": "path",
            "description": "Id of the message thread",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageThreadApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "MessageThreads"
        ],
        "summary": "Reply to message thread",
        "description": "Reply to an existing message thread by adding a new message. The reply will be sent to all current participants of the thread.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "messageThreadId",
            "in": "path",
            "description": "Id of the thread to post the reply to",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MessageApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Message reply created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "MessageThreads"
        ],
        "summary": "Mark message thread",
        "description": "Mark a message thread as read or closed. This action updates the status of the thread for the current user or all participants.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "messageThreadId",
            "in": "path",
            "description": "Id of the message thread",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MessageStatusApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Message thread updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageThreadApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/messagethreads/{messageThreadId}/messages": {
      "get": {
        "tags": [
          "MessageThreads"
        ],
        "summary": "Get message thread messages",
        "description": "Get all messages within a specific message thread. The response will include a list of messages with their text, sender, and timestamps.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "messageThreadId",
            "in": "path",
            "description": "Id of the message thread",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/messagethreads": {
      "post": {
        "tags": [
          "MessageThreads"
        ],
        "summary": "Create message thread",
        "description": "Create a new message thread. You can optionally attach the thread to a specific document by providing DocumentType and DocumentId.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MessageToPostApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Message thread created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageThreadApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "MessageThreads"
        ],
        "summary": "Get all message threads",
        "description": "Get all message threads for the current user, or add query parameters to filter the results. Use the excludeClosed parameter to filter out closed threads.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "excludeClosed",
            "in": "query",
            "description": "True excludes closed messages",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfMessageThreadApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/messagethreads/messages": {
      "get": {
        "tags": [
          "MessageThreads"
        ],
        "summary": "Get all messages",
        "description": "Get all messages from all message threads for the current user. The response will include messages from all threads with their details.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfMessageApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/attachments/interpretationservice": { },
    "/companysettings/mobile": { },
    "/supplierinvoices/{supplierInvoiceId}/undo": { },
    "/attachments/createdraftfrominterpretation": { },
    "/reports/monthly": { },
    "/autoinvoice/price": { },
    "/companysettings/emailWindowSettings": { },
    "/revenuecostssummary/latest": { },
    "/revenuecostssummary/{fiscalYearId}": { },
    "/revenuecostssummary": { },
    "/recentlyusedaccounts": { },
    "/accountsuggestions/{documentId}": { },
    "/statuses": { },
    "/permissions": { },
    "/autoinvoicerecipients": { },
    "/supplieraccountingtemplates/{supplierId}": { },
    "/accountingtemplates/{accountingTemplateId}": { },
    "/accountingtemplates": { },
    "/financialoverviewstatistics": { },
    "/customerinvoices/{invoiceId}/history": { },
    "/customerinvoicedrafts/{invoiceId}/history": { },
    "/supplierinvoices/{invoiceId}/history": { },
    "/supplierinvoicedrafts/{invoiceId}/history": { },
    "/integrations/amili/onboarding": { },
    "/integrations/amili/onboarding/status": { },
    "/integrations/amili/url": { },
    "/integrations/amili/cases/{customerInvoiceId}": { },
    "/companymetadata": { },
    "/licenseagreements/accept": { },
    "/purchasereceiptdrafts": { },
    "/purchasereceiptdrafts/{id}": { },
    "/notes": {
      "get": {
        "tags": [
          "Notes"
        ],
        "summary": "Get all notes",
        "description": "Get all notes, or add query parameters to filter the results. The response will include a list of notes with their details, such as text content, attached documents, and creation timestamps.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfNoteApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Notes"
        ],
        "summary": "Create a new note",
        "description": "Create a new note. You can optionally attach the note to a specific document by providing the document Id and type.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NoteApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Note created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NoteApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/notes/{noteId}": {
      "get": {
        "tags": [
          "Notes"
        ],
        "summary": "Get a specific note",
        "description": "Get a specific note by its unique identifier. The response will include the note's details, such as text content, attached document information, and timestamps.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "noteId",
            "in": "path",
            "description": "The Id of the note to retrieve",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NoteApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Notes"
        ],
        "summary": "Update a note",
        "description": "Replace an existing note's data with the provided new data.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "noteId",
            "in": "path",
            "description": "The Id of the note to update",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NoteApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Note updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NoteApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/orders": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Get orders",
        "description": "Get all orders, or add query parameters to filter the results. The response will include a list of orders with their details, such as customer information, rows, totals, and status.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfOrderApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Create an order",
        "description": "Create a new order.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Order created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/orders/statistics": { },
    "/orders/{id}": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Get a specific order based on Id",
        "description": "Get a specific order by its unique identifier. The response will include the order details, such as customer information, rows, totals, and status.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the order you want to get",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Orders"
        ],
        "summary": "Update an order",
        "description": "Replace an existing order's data with the provided data.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the order you want to update",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Order updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Orders"
        ],
        "summary": "Delete an order",
        "description": "Delete an order. Orders that are shipped or invoiced cannot be deleted.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the order you want to delete",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Order deleted successfully"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/orders/{orderId}/history": { },
    "/orders/dryrun": { },
    "/orders/{id}/converteddrafttoorder": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Convert order draft to order",
        "description": "Convert an order draft to an order. Returns the converted order.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the order draft you want to convert",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Order converted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/orders/{id}/completed": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Complete an order",
        "description": "Mark an ongoing order as completed.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the order you want to complete",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Order completed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/orders/{id}/voided": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Void an order",
        "description": "Void a shipped order by reverting it to ongoing status.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the order you want to void",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Order voided successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/orders/{id}/backorder": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Create a backorder",
        "description": "Create a backorder from an existing order for items that couldn't be delivered.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the order you want to create a backorder for",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Backorder created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/orders/{id}/convert": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Convert an order to an invoice",
        "description": "Convert an order to a customer invoice. Returns the invoice that was created.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the order you want to convert",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrderConversionApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Order converted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerInvoiceApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/orders/{id}/previewinvoice": { },
    "/orders/{id}/print": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Print an order as pdf",
        "description": "Print an order as PDF.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the order you want to print",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/orders/{id}/deliverynote/print": {
      "get": {
        "tags": [
          "Orders"
        ],
        "summary": "Print a delivery note for an order as pdf",
        "description": "Print a delivery note for an order as PDF.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the order you want to print a delivery note for",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/orders/{id}/email": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Send an order as email",
        "description": "Send an order as email.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the order you want to send",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/orders/{id}/emailsettings": { },
    "/partnerresourcelinks": {
      "get": {
        "tags": [
          "PartnerResourceLinks"
        ],
        "summary": "Get partner resource links",
        "description": "Get all resource links for a partner, or add query parameters to filter the results. The response includes a list of resource links, each with its type, URL, and any associated metadata.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfPartnerResourceLinkApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. Access denied."
          },
          "403": {
            "description": "Forbidden. The company is not active, or the startup guide is not completed."
          }
        }
      },
      "post": {
        "tags": [
          "PartnerResourceLinks"
        ],
        "summary": "Create a partner resource link",
        "description": "Create a new partner resource link.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:purchase",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartnerResourceLinkApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Partner resource link created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResourceLinkApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. Access denied."
          },
          "403": {
            "description": "Forbidden. The company is not active, or the startup guide is not completed."
          }
        }
      }
    },
    "/partnerresourcelinks/{partnerResourceLinkId}": {
      "get": {
        "tags": [
          "PartnerResourceLinks"
        ],
        "summary": "Get a partner resource link",
        "description": "Get a specific partner resource link by its unique identifier. The response includes details about the link, such as its type, URL, and any associated metadata.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "partnerResourceLinkId",
            "in": "path",
            "description": "This represents the Id of the Partner Resource Link.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResourceLinkApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "401": {
            "description": "Unauthorized. Access denied."
          },
          "403": {
            "description": "Forbidden. The company is not active, or the startup guide is not completed."
          }
        }
      },
      "put": {
        "tags": [
          "PartnerResourceLinks"
        ],
        "summary": "Update a partner resource link",
        "description": "Replace an existing partner resource link's data with the provided new data. The partner resource link must already exist in the system. \r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:purchase",
        "parameters": [
          {
            "name": "partnerResourceLinkId",
            "in": "path",
            "description": "This represents the Id of the Partner Resource Link.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartnerResourceLinkApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Partner resource link updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PartnerResourceLinkApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. Access denied."
          },
          "403": {
            "description": "Forbidden. The company is not active, or the startup guide is not completed."
          }
        }
      },
      "delete": {
        "tags": [
          "PartnerResourceLinks"
        ],
        "summary": "Delete a partner resource link",
        "description": "Delete a specified resource link for a partner.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:purchase",
        "parameters": [
          {
            "name": "partnerResourceLinkId",
            "in": "path",
            "description": "This represents the Id of the Partner Resource Link.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Partner resource link deleted"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. Access denied."
          },
          "403": {
            "description": "Forbidden. The company is not active, or the startup guide is not completed."
          }
        }
      }
    },
    "/paymentvoucher": {
      "post": {
        "tags": [
          "PaymentVoucher"
        ],
        "summary": "Create a payment voucher",
        "description": "Create a new payment voucher for recording payments against customer or supplier invoices. This action is only available for Norwegian and Dutch companies.\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting",
        "parameters": [
          {
            "name": "useAutomaticVatCalculation",
            "in": "query",
            "description": "Default value: false. Set to true and specify the sales or purchase gross amount and vat rows will be added automatically.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "useDefaultVatCodes",
            "in": "query",
            "description": "Default value: true. Set to false and override default vatcodes on all rows in the request.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "useDefaultVoucherSeries",
            "in": "query",
            "description": "Default value: true. Set to false and override default voucher series (alphabetic character before number).",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "checkExistingBankTransaction",
            "in": "query",
            "description": "Default value: false. Set to false and override existing bank transaction validation.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentVoucherApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Payment voucher created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoucherApi"
                }
              }
            }
          },
          "400": {
            "description": "Payment voucher can't be created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/projects": {
      "get": {
        "tags": [
          "Projects"
        ],
        "summary": "Get projects",
        "description": "Get all projects, or add query parameters to filter the results. The response will include a list of projects with their details, such as name, number, start date, and associated customer.\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly\r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfProjectApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Projects"
        ],
        "summary": "Create a project",
        "description": "Create a new project. The project number must be unique. You can optionally associate the project with a customer.\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Project created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{id}": {
      "get": {
        "tags": [
          "Projects"
        ],
        "summary": "Get a project",
        "description": "Get a specific project by its unique identifier. The response will include the project details, such as name, number, start date, and associated customer.\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly\r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the project to retrieve",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Project not found"
          }
        }
      },
      "put": {
        "tags": [
          "Projects"
        ],
        "summary": "Replace a project",
        "description": "Replace an existing project's data with the provided new data. The project number must be unique if changed.\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique identifier of the project to replace",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Project replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Project not found"
          }
        }
      }
    },
    "/quotedrafts": {
      "get": {
        "tags": [
          "QuoteDrafts"
        ],
        "summary": "Get all quote drafts",
        "description": "Get all quote drafts, or add query parameters to filter the results. The response will include a list of quote drafts with their details, such as customer information, rows, totals, and status.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfQuoteApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "QuoteDrafts"
        ],
        "summary": "Create a quote draft",
        "description": "Create a new quote draft.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Quote draft created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/quotedrafts/statistics": { },
    "/quotedrafts/{id}": {
      "get": {
        "tags": [
          "QuoteDrafts"
        ],
        "summary": "Get a specific quote draft based on id",
        "description": "Get a specific quote draft by its unique identifier. The response will include the quote draft's details, such as customer information, rows, totals, and status.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the quote draft you want to get",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "QuoteDrafts"
        ],
        "summary": "Delete a quote draft",
        "description": "Delete a quote draft.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the quote draft you want to delete",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Quote draft deleted successfully"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "QuoteDrafts"
        ],
        "summary": "Update a quote draft",
        "description": "Replace an existing quote draft's data with the provided new data. \r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the quote draft you want to update",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Quote draft updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/quotedrafts/dryrun": { },
    "/quotedrafts/{id}/convert": {
      "put": {
        "tags": [
          "QuoteDrafts"
        ],
        "summary": "Convert a quote draft to a quote",
        "description": "Converts a quote draft to a quote.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the quote draft you want to convert",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Quote draft converted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/quotes": {
      "get": {
        "tags": [
          "Quotes"
        ],
        "summary": "Get quotes",
        "description": "Get all quotes, or add query parameters to filter the results. The response will include a list of quotes with their details, such as customer information, rows, totals, and status.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfQuoteApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Quotes"
        ],
        "summary": "Create a quote",
        "description": "Create a new quote.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Quote created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/statistics": { },
    "/quotes/{id}": {
      "get": {
        "tags": [
          "Quotes"
        ],
        "summary": "Get a specific quote based on id",
        "description": "Get a specific quote by its unique identifier. The response will include the quote details, such as customer information, rows, totals, and status.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the id of the quote you want to get",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Quotes"
        ],
        "summary": "Update a quote",
        "description": "Replace an existing quote's data with the provided data. \r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the quote.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Quote updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Quotes"
        ],
        "summary": "Delete a quote",
        "description": "Delete a quote.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the quote.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Quote deleted successfully"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{quoteId}/history": { },
    "/quotedrafts/{quoteDraftId}/history": { },
    "/quotes/dryrun": { },
    "/quotes/{id}/accept": {
      "put": {
        "tags": [
          "Quotes"
        ],
        "summary": "Accepts an ongoing quote",
        "description": "Set the status of an ongoing quote to accepted.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the quote.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Quote accepted successfully"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{id}/converttoorder": {
      "post": {
        "tags": [
          "Quotes"
        ],
        "summary": "Convert a quote to an order",
        "description": "Convert a quote to an order.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the quote.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteConversionApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Quote converted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{id}/previeworder": {
      "post": {
        "tags": [
          "Quotes"
        ],
        "summary": "Preview the result of converting a quote to an order",
        "description": "Preview the result of converting a quote to an order.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the quote.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteConversionApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrderApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{id}/converttocustomerinvoice": {
      "post": {
        "tags": [
          "Quotes"
        ],
        "summary": "Convert a quote to a customer invoice",
        "description": "Convert a quote to an invoice.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the quote.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteConversionApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Quote converted successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerInvoiceApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{id}/previewinvoice": { },
    "/quotes/{id}/print": {
      "get": {
        "tags": [
          "Quotes"
        ],
        "summary": "Print a quote as pdf",
        "description": "Print a quote as PDF.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the quote.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerInvoiceApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{id}/email": {
      "post": {
        "tags": [
          "Quotes"
        ],
        "summary": "Send a quote as email",
        "description": "Send a quote as email.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the quote.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/{id}/emailsettings": { },
    "/salesdocumentattachments/{attachmentId}.pdf": {
      "get": {
        "tags": [
          "SalesDocumentAttachments"
        ],
        "summary": "Download sales document attachment",
        "description": "Get a specific sales document attachment by its unique identifier and download it in its original file format.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "attachmentId",
            "in": "path",
            "description": "The attachment Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/salesdocumentattachments/{attachmentId}": {
      "get": {
        "tags": [
          "SalesDocumentAttachments"
        ],
        "summary": "Get sales document attachment information by Id",
        "description": "Get a specific sales document attachment by its unique identifier. The response will include information about the attachment, such as its Id, file name, size, and the date it was created.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "attachmentId",
            "in": "path",
            "description": "The attachment Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesDocumentAttachmentApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/salesdocumentattachments": {
      "get": {
        "tags": [
          "SalesDocumentAttachments"
        ],
        "summary": "Get all sales document attachments",
        "description": "Get all sales document attachments, or use query parameters to filter the results. The response will include details such as attachment Id, file name, upload date, and a link to download the attachment.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfSalesDocumentAttachmentApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "SalesDocumentAttachments"
        ],
        "summary": "Create sales document attachment",
        "description": "Create a sales document attachment.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesDocumentAttachmentUploadApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesDocumentAttachmentApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/salesdocumentattachments/customerinvoicedraft": {
      "post": {
        "tags": [
          "SalesDocumentAttachments"
        ],
        "summary": "Create sales document attachment for customer invoice draft",
        "description": "Create a sales document attachment for a customer invoice draft.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesDocumentAttachmentUploadApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesDocumentAttachmentApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/salesdocumentattachments/customerinvoice": {
      "post": {
        "tags": [
          "SalesDocumentAttachments"
        ],
        "summary": "Create sales document attachment for customer invoice",
        "description": "Create a sales document attachment for a customer invoice.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesDocumentAttachmentUploadApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesDocumentAttachmentApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/salesdocumentattachments/order": {
      "post": {
        "tags": [
          "SalesDocumentAttachments"
        ],
        "summary": "Create sales document attachment for order",
        "description": "Create a sales document attachment for an order or an order draft.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesDocumentAttachmentUploadApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesDocumentAttachmentApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/salesdocumentattachments/quote": {
      "post": {
        "tags": [
          "SalesDocumentAttachments"
        ],
        "summary": "Create sales document attachment for quote",
        "description": "Create a sales document attachment for a quote or a quote draft.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesDocumentAttachmentUploadApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesDocumentAttachmentApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/salesdocumentattachments/{customerInvoiceDraftId}/{attachmentId}": {
      "delete": {
        "tags": [
          "SalesDocumentAttachments"
        ],
        "summary": "Delete customer invoice draft attachment",
        "description": "Delete a specific attachment from a customer invoice draft by its unique identifier.\n\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "customerInvoiceDraftId",
            "in": "path",
            "description": "Customer invoice draft ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "Attachment ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/salesdocumentattachments/customerinvoicedraft/{customerInvoiceDraftId}/{attachmentId}": {
      "delete": {
        "tags": [
          "SalesDocumentAttachments"
        ],
        "summary": "Delete customer invoice draft attachment",
        "description": "Delete a specific attachment from a customer invoice draft by its unique identifier.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "customerInvoiceDraftId",
            "in": "path",
            "description": "Customer invoice draft ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "Attachment ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/salesdocumentattachments/customerinvoice/{customerInvoiceId}/{attachmentId}": {
      "delete": {
        "tags": [
          "SalesDocumentAttachments"
        ],
        "summary": "Delete customer invoice attachment",
        "description": "Delete an attachment from a customer invoice by its unique identifier.\r\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "customerInvoiceId",
            "in": "path",
            "description": "Customer invoice ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "Attachment ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/salesdocumentattachments/order/{orderId}/{attachmentId}": {
      "delete": {
        "tags": [
          "SalesDocumentAttachments"
        ],
        "summary": "Delete order attachment",
        "description": "Delete an attachment from an order or order draft by its unique identifier.\r\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "orderId",
            "in": "path",
            "description": "Order or order draft ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "Attachment ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "403": {
            "description": "Operation not allowed for demo company"
          }
        }
      }
    },
    "/salesdocumentattachments/quote/{quoteId}/{attachmentId}": {
      "delete": {
        "tags": [
          "SalesDocumentAttachments"
        ],
        "summary": "Delete quote attachment",
        "description": "Delete an attachment from a quote or quote draft by its unique identifier.\r\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "quoteId",
            "in": "path",
            "description": "Quote or quote draft ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "Attachment ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "403": {
            "description": "Operation not allowed for demo company"
          }
        }
      }
    },
    "/salespricelists": {
      "get": {
        "tags": [
          "SalesPriceLists"
        ],
        "summary": "Get sales price lists",
        "description": "Get all sales price lists, or add query parameters to filter the results. The response will include a list of sales price lists with their details, such as name, currency, status, and notes.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfSalesPriceListApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "SalesPriceLists"
        ],
        "summary": "Create a sales price list",
        "description": "Create a new sales price list.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesPriceListApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Sales price list created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesPriceListApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/salespricelists/{salesPriceListId}": {
      "get": {
        "tags": [
          "SalesPriceLists"
        ],
        "summary": "Get a specific sales price list based on id",
        "description": "Get a specific sales price list by its unique identifier. The response will include the details of the sales price list, such as name, currency, status, and notes.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "salesPriceListId",
            "in": "path",
            "description": "This represents the Id of the sales price list you want to get",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesPriceListApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "SalesPriceLists"
        ],
        "summary": "Update a sales price list",
        "description": "Replace an existing sales price list's data with the provided new data.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "salesPriceListId",
            "in": "path",
            "description": "This represents the Id of the sales price list you want to update",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SalesPriceListApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Sales price list updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesPriceListApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "SalesPriceLists"
        ],
        "summary": "Delete a sales price list",
        "description": "Delete a specified sales price list. Only price lists without any customers linked to them can be deleted. To hide a price list that is in use, set the `IsActive` property to `false` in a PUT request.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "salesPriceListId",
            "in": "path",
            "description": "This represents the Id of the sales price list you want to delete",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Sales price list deleted successfully"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/salespricelists/prices": {
      "get": {
        "tags": [
          "SalesPriceLists"
        ],
        "summary": "Get sales prices",
        "description": "Get all sales prices from the company. The response will include a paginated list of sales prices with details such as article Id, price list Id, net price, and gross price.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfSalesPriceListRowApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/salespricelists/prices/{salesPriceListId}": {
      "get": {
        "tags": [
          "SalesPriceLists"
        ],
        "summary": "Get sales prices in a price list",
        "description": "Get sales prices in a price list. The response will include a paginated list of sales prices with details such as article Id, price list Id, net price, and gross price.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "salesPriceListId",
            "in": "path",
            "description": "This represents the id of the sales price list",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfSalesPriceListRowApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/salespricelists/prices/{salesPriceListId}/{articleId}": {
      "get": {
        "tags": [
          "SalesPriceLists"
        ],
        "summary": "Get a specific sales price for an article in a price list",
        "description": "Get a specific sales price for an article in a price list. The response will include the sales price details such as net price, gross price, and currency code.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "salesPriceListId",
            "in": "path",
            "description": "This represents the id of the sales price list",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "articleId",
            "in": "path",
            "description": "This represents the id of the article",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesPriceListRowApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/salespricelists/{salesPriceListId}/prices": {
      "put": {
        "tags": [
          "SalesPriceLists"
        ],
        "summary": "Update article prices in a sales price list",
        "description": "Update article prices within a sales price list. You can update up to 1000 price list rows at once. Optionally, you can choose to update recurring invoices that use this price list.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "salesPriceListId",
            "in": "path",
            "description": "This represents the Id of the sales price list",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "updateRecurringInvoices",
            "in": "query",
            "description": "Whether to update recurring invoices",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SalesPriceListRowApi"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Sales prices updated successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfSalesPriceListRowApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/sie4export/{fromDate}/{toDate}": {
      "get": {
        "tags": [
          "SieFileImportExport"
        ],
        "summary": "Export SIE4 file",
        "description": "Exports a SIE4 file that is between FromDate and ToDate inside the same fiscal year.  \nNote: This export includes verifications and documents, \nWhen choosing dates for a whole fiscal year the data file includes:\n#RAR\n#RAR previous fiscal year\n#IB\n#UB\n#RES\n#KONTO\n\nDates that are a part of a fiscal year does not include opening or closing balances (IB/UB), RAR or RES.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "fromDate",
            "in": "path",
            "description": "Start date for the export. Format: yyyy-MM-dd",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toDate",
            "in": "path",
            "description": "End date for the export. Format: yyyy-MM-dd",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/sie4import": {
      "post": {
        "tags": [
          "SieFileImportExport"
        ],
        "summary": "Import SIE4 file",
        "description": "Imports a SIE4 file into the system, parsing and validating the provided data based on the specified parameters. The data is processed to integrate with the accounting system, including mappings for ledger accounts, series, and other settings like opening balances or year-end adjustments. The response will include the number of vouchers successfully imported.\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Sie4Api"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonBatchResponseApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/sie4import/async": { },
    "/sie4import/{referenceId}": { },
    "/supplierinvoicedrafts": {
      "get": {
        "tags": [
          "SupplierInvoiceDrafts"
        ],
        "summary": "Get supplier invoice drafts",
        "description": "Get all supplier invoice drafts, or add query parameters to filter the results. The response will include a list of supplier invoice drafts with their details, such as amounts, dates, and associated accounting rows.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "approvableByCurrentUser",
            "in": "query",
            "description": "If set, invoices with status ready for approval will be filtered, only invoices that user may approve or post to ledger will be included",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfSupplierInvoiceDraftApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "SupplierInvoiceDrafts"
        ],
        "summary": "Create a supplier invoice draft",
        "description": "Create a new supplier invoice draft.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase",
        "parameters": [
          {
            "name": "useDefaultVatCodes",
            "in": "query",
            "description": "Use default VAT codes",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "calculateVatOnCostAccounts",
            "in": "query",
            "description": "Calculate VAT on cost accounts automatically",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "batchProcessExtendedValidation",
            "in": "query",
            "description": "Validate for batch process and fiscal year",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "duplicateCheckExtendedValidation",
            "in": "query",
            "description": "Check if the invoice is duplicate",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierInvoiceDraftApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Supplier invoice draft created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierInvoiceDraftApi"
                }
              }
            }
          },
          "400": {
            "description": "Supplier invoice draft can't be created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/supplierinvoicedrafts/{id}": {
      "get": {
        "tags": [
          "SupplierInvoiceDrafts"
        ],
        "summary": "Get a supplier invoice draft",
        "description": "Get a specific supplier invoice draft by its unique identifier. The response will include all details of the draft, including accounting rows, attachments, and approval status.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the Supplier Invoice Draft.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierInvoiceDraftApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Supplier invoice draft not found"
          }
        }
      },
      "put": {
        "tags": [
          "SupplierInvoiceDrafts"
        ],
        "summary": "Update a supplier invoice draft",
        "description": "Replace an existing supplier invoice draft's data with the provided new data.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the Supplier Invoice Draft.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierInvoiceDraftApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Supplier invoice draft updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierInvoiceDraftApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Supplier invoice draft not found"
          }
        }
      },
      "delete": {
        "tags": [
          "SupplierInvoiceDrafts"
        ],
        "summary": "Delete a supplier invoice draft",
        "description": "Delete a supplier invoice draft.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the Supplier Invoice Draft.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Supplier invoice draft deleted"
          },
          "404": {
            "description": "Supplier invoice draft not found"
          }
        }
      }
    },
    "/supplierinvoicedrafts/{id}/allocationperiods": {
      "delete": {
        "tags": [
          "SupplierInvoiceDrafts"
        ],
        "summary": "Delete allocation periods for a supplier invoice draft",
        "description": "Delete all allocation periods connected to a supplier invoice draft. This will remove period-based cost allocations but keep the main invoice draft intact.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the Supplier Invoice Draft.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Allocation periods deleted"
          },
          "404": {
            "description": "Supplier invoice draft not found"
          }
        }
      }
    },
    "/supplierinvoicedrafts/{id}/convert": {
      "post": {
        "tags": [
          "SupplierInvoiceDrafts"
        ],
        "summary": "Convert a supplier invoice draft to a supplier invoice",
        "description": "Convert a supplier invoice draft to a finalized supplier invoice. This action validates the draft, creates a proper supplier invoice, and removes the draft from the system.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the Supplier Invoice Draft.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Supplier invoice created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierInvoiceApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Supplier invoice draft not found"
          }
        }
      }
    },
    "/supplierinvoicedrafts/statistics": { },
    "/supplierinvoicedrafts/{id}/transactionalcosts": { },
    "/supplierinvoices": {
      "get": {
        "tags": [
          "SupplierInvoices"
        ],
        "summary": "Get supplier invoices",
        "description": "Get all supplier invoices, or add query parameters to filter the results. The response will include a list of supplier invoices with their details, such as amounts, dates, and associated accounting rows.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfSupplierInvoiceApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "SupplierInvoices"
        ],
        "summary": "Create a supplier invoice",
        "description": "Create a new supplier invoice.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "useDefaultVatCodes",
            "in": "query",
            "description": "Use default VAT codes",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "calculateVatOnCostAccounts",
            "in": "query",
            "description": "Calculate VAT on cost accounts automatically",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "duplicateCheckExtendedValidation",
            "in": "query",
            "description": "Check if the invoice is duplicate",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierInvoiceApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Supplier invoice created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierInvoiceApi"
                }
              }
            }
          },
          "400": {
            "description": "Supplier invoice can't be created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/supplierinvoices/{id}": {
      "get": {
        "tags": [
          "SupplierInvoices"
        ],
        "summary": "Get a supplier invoice",
        "description": "Get a specific supplier invoice by its unique identifier. The response includes all details of the invoice including accounting rows, amounts, dates, and supplier information.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the Supplier Invoice.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierInvoiceApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Supplier invoice not found"
          }
        }
      }
    },
    "/supplierinvoices/{invoiceId}/payments": {
      "post": {
        "tags": [
          "SupplierInvoices"
        ],
        "summary": "Create a payment for a supplier invoice",
        "description": "Create payment for a supplier invoice. The payment will be posted to the general ledger.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "description": "This represents the Id of the Supplier Invoice.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoicePaymentApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Payment created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicePaymentApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/supplierinvoices/transactionalcosts": {
      "post": {
        "tags": [
          "SupplierInvoices"
        ],
        "summary": "Validate transactional costs for a supplier invoice",
        "description": "Validate transactional costs for a supplier invoice.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: ",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionalCostsRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateDocumentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/supplierinvoices/statistics": { },
    "/supplierinvoices/previewrows": { },
    "/supplierinvoices/{creditInvoiceId}/offsetcandidates": {
      "get": {
        "tags": [
          "SupplierInvoices"
        ],
        "summary": "Get available debit invoices that can be offset by a credit invoice",
        "description": "Get a list of debit invoices that can be offset against a specific credit invoice. Returns invoices from the same supplier that have remaining amounts available for offsetting. Use this endpoint to find eligible invoices before calling the create offset endpoint.\r\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "creditInvoiceId",
            "in": "path",
            "description": "The credit invoice ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SupplierInvoiceOffsetCandidateApi"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Credit invoice not found"
          }
        }
      }
    },
    "/supplierinvoices/{creditInvoiceId}/offset": {
      "post": {
        "tags": [
          "SupplierInvoices"
        ],
        "summary": "Create an offset between a credit invoice and one or more debit invoices",
        "description": "Create an offset between a credit invoice and one or more debit invoices. This will create a voucher that reduces the remaining amounts on both the credit and debit invoices. The offset amount is automatically calculated based on the available amounts. Multiple debit invoices can be offset in a single request.\r\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase",
        "parameters": [
          {
            "name": "creditInvoiceId",
            "in": "path",
            "description": "The credit invoice ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierInvoiceOffsetCreateApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Offset created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SupplierInvoiceOffsetResponseApi"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/supplierinvoices/{invoiceId}/offset/undo": {
      "post": {
        "tags": [
          "SupplierInvoices"
        ],
        "summary": "Undo an existing offset",
        "description": "Undo an existing offset between a credit invoice and one or more debit invoices. This will reverse the offset voucher and restore the remaining amounts on both the credit and debit invoices. The invoice ID can be either the credit invoice or any of the debit invoices that were part of the offset.\r\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase",
        "parameters": [
          {
            "name": "invoiceId",
            "in": "path",
            "description": "The invoice ID (credit or debit) to undo offset for",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Offset undone successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierInvoiceOffsetUndoResponseApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/supplierinvoicevaluationhistories": { },
    "/supplierledgeritems/batch": { },
    "/suppliers": {
      "get": {
        "tags": [
          "Suppliers"
        ],
        "summary": "Get suppliers",
        "description": "Get all suppliers, or add query parameters to filter the results. The response will include a list of suppliers with their details, such as name, address, and contact information.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfSupplierApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Suppliers"
        ],
        "summary": "Create a supplier",
        "description": "Create a new supplier.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Supplier created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierApi"
                }
              }
            }
          },
          "400": {
            "description": "Supplier can't be created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/suppliers/{id}": {
      "get": {
        "tags": [
          "Suppliers"
        ],
        "summary": "Get a supplier",
        "description": "Get a specific supplier by its unique identifier. The response will contain the supplier's details, including the supplier's name, address, and contact information.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the Supplier.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Suppliers"
        ],
        "summary": "Delete a supplier",
        "description": "Delete a specified supplier. Only suppliers without any linked transactions can be deleted. \r\nTo hide a supplier that has transactions, set the `IsActive` property to `false` in a PUT request.\r\n\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the Supplier.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "404": {
            "description": "Supplier not found"
          },
          "400": {
            "description": "Supplier can't be deleted"
          }
        }
      },
      "put": {
        "tags": [
          "Suppliers"
        ],
        "summary": "Replace a supplier",
        "description": "Replace an existing supplier's data with the provided new data. The supplier must already exist in the system.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:purchase",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the Supplier.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Supplier replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SupplierApi"
                }
              }
            }
          },
          "400": {
            "description": "Supplier can't be replaced",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/suppliers/batch": { },
    "/termsofpayments": {
      "get": {
        "tags": [
          "TermsOfPayment"
        ],
        "summary": "Get all terms of payments",
        "description": "Get all terms of payment, or add query parameters to filter the results. The response will include the name, English name, and number of days for each term of payment.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfTermsOfPaymentApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/termsofpayments/{id}": {
      "get": {
        "tags": [
          "TermsOfPayment"
        ],
        "summary": "Get a terms of payment based on id",
        "description": "Get a specific term of payment by its unique identifier. The response will include the name, English name, and number of days for the term of payment.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the terms of payment.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TermsOfPaymentApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/trials": { },
    "/units": {
      "get": {
        "tags": [
          "Units"
        ],
        "summary": "Get units",
        "description": "Get all units, or add query parameters to filter the results. The response will include a list of units with their details, such as name, code, and abbreviation.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfUnitApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/units/{id}": {
      "get": {
        "tags": [
          "Units"
        ],
        "summary": "Get unit",
        "description": "Get a specific unit by its unique identifier. The response will include the unit details, such as name, code, and abbreviation.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the Unit.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnitApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Unit not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/users": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get users",
        "description": "Get all users, or add query parameters to filter the results. The response will include a list of users with their details, such as name, email, and role.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly\r\n* ea:purchase\r\n* ea:purchase_readonly\r\n* ea:accounting\r\n* ea:accounting_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfUserApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/vatcodes": {
      "get": {
        "tags": [
          "VatCode"
        ],
        "summary": "Get vat codes",
        "description": "Get all VAT codes, or add query parameters to filter the results. The response will include a list of VAT codes with their description and related accounts.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "vatRateDate",
            "in": "query",
            "description": "Default value: Today",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfVatCodeApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. Access denied."
          },
          "403": {
            "description": "Forbidden. The company is not active, or the startup guide is not completed."
          }
        }
      }
    },
    "/vatcodes/{id}": {
      "get": {
        "tags": [
          "VatCode"
        ],
        "summary": "Get a vat code by Id",
        "description": "Get a specific VAT code by its unique identifier. The response includes the VAT rate, OSS code type if applicable, and related account numbers.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the Vat Code.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "vatRateDate",
            "in": "query",
            "description": "Default value: Today",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VatCodeApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          },
          "401": {
            "description": "Unauthorized. Access denied."
          },
          "403": {
            "description": "Forbidden. The company is not active, or the startup guide is not completed."
          }
        }
      }
    },
    "/vatcodesrates": {
      "get": {
        "tags": [
          "VatCode"
        ],
        "summary": "Get vat codes with rates",
        "description": "Get all VAT codes with their historical and future VAT rates. Each VAT code includes a collection of rate changes over time, showing when each rate became effective and related account mappings.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfVatCodeRateApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized. Access denied."
          },
          "403": {
            "description": "Forbidden. The company is not active, or the startup guide is not completed."
          }
        }
      }
    },
    "/vatreports": {
      "get": {
        "tags": [
          "VatReport"
        ],
        "summary": "Get vat reports",
        "description": "Get all VAT reports, or add query parameters to filter the results. The response will include a list of VAT reports with their periods, approval status, and total amounts.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfVatReportApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/vatreports/{id}": {
      "get": {
        "tags": [
          "VatReport"
        ],
        "summary": "Get a vat report by Id",
        "description": "Get a specific VAT report by its unique identifier. The response includes the report period, approval status, approval history, and total amount.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "This represents the Id of the Vat Report.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VatReportApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Not Found"
          }
        }
      }
    },
    "/validatevotoken": { },
    "/voucherdrafts": {
      "get": {
        "tags": [
          "VoucherDrafts"
        ],
        "summary": "Get voucher drafts",
        "description": "Get all voucher drafts, or add query parameters to filter the results. The response will include a list of voucher drafts with their details such as date, text, and associated voucher draft rows.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfVoucherDraftApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "VoucherDrafts"
        ],
        "summary": "Create voucher draft",
        "description": "Create a new voucher draft with transaction rows.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting",
        "parameters": [
          {
            "name": "amountIncludesVat",
            "in": "query",
            "description": "Default value: False. If true, the amounts are used as including VAT when draft is created.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoucherDraftApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Voucher draft created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoucherDraftApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/voucherdrafts/{voucherDraftId}": {
      "get": {
        "tags": [
          "VoucherDrafts"
        ],
        "summary": "Get voucher draft by id",
        "description": "Get a specific voucher draft by its unique identifier. The response will include the voucher draft details such as date, text, and associated voucher draft rows.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "voucherDraftId",
            "in": "path",
            "description": "This represents the Id of the voucher draft.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoucherDraftApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Voucher not found"
          }
        }
      },
      "put": {
        "tags": [
          "VoucherDrafts"
        ],
        "summary": "Update voucher draft",
        "description": "Replace an existing voucher draft's data with the provided new data. The updated voucher draft can be saved for later completion or converted to a voucher.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting",
        "parameters": [
          {
            "name": "voucherDraftId",
            "in": "path",
            "description": "This represents the Id of the voucher draft.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoucherDraftApi"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoucherDraftApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Voucher draft not found"
          }
        }
      },
      "delete": {
        "tags": [
          "VoucherDrafts"
        ],
        "summary": "Delete voucher draft",
        "description": "Delete a specified voucher draft. This action cannot be undone.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting",
        "parameters": [
          {
            "name": "voucherDraftId",
            "in": "path",
            "description": "This represents the Id of the voucher draft.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Voucher draft not found"
          }
        }
      }
    },
    "/voucherdrafts/{voucherDraftId}/convert": {
      "post": {
        "tags": [
          "VoucherDrafts"
        ],
        "summary": "Convert voucher draft to voucher",
        "description": "Convert a voucher draft to a finalized voucher. Once converted, the voucher draft will be removed and a new voucher will be created with the same transaction data.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting",
        "parameters": [
          {
            "name": "voucherDraftId",
            "in": "path",
            "description": "This represents the Id of the voucher draft.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Voucher created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoucherApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Voucher draft not found"
          }
        }
      }
    },
    "/vouchers": {
      "get": {
        "tags": [
          "Vouchers"
        ],
        "summary": "Get vouchers",
        "description": "Get all vouchers, or add query parameters to filter the results. The response will include a list of vouchers with their details such as date, text, and associated voucher rows.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfVoucherApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Vouchers"
        ],
        "summary": "Create a voucher",
        "description": "Create a new voucher. The voucher must have balanced debit and credit amounts.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting",
        "parameters": [
          {
            "name": "useAutomaticVatCalculation",
            "in": "query",
            "description": "Default value: false. Set to true and specify the sales or purchase gross amount and vat rows will be added automatically.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "useDefaultVatCodes",
            "in": "query",
            "description": "Default value: True. Set to false and override default vatcodes on all rows in the request.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "useDefaultVoucherSeries",
            "in": "query",
            "description": "Default value: True. Set to false and override default voucher series.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoucherApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Voucher created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoucherApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/vouchers/{fiscalyearId}": {
      "get": {
        "tags": [
          "Vouchers"
        ],
        "summary": "Get vouchers by fiscal year",
        "description": "Get all vouchers within a specific fiscal year.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "fiscalyearId",
            "in": "path",
            "description": "This represents the Id of the Fiscal Year.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfVoucherApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/vouchers/{fiscalyearId}/{voucherId}": {
      "get": {
        "tags": [
          "Vouchers"
        ],
        "summary": "Get a voucher",
        "description": "Get a specific voucher by its unique identifier. The response will include the voucher's details such as date, text, and associated voucher rows.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "fiscalyearId",
            "in": "path",
            "description": "This represents the Id of the Fiscal Year.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "voucherId",
            "in": "path",
            "description": "This represents the Id of the Voucher.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VoucherApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          },
          "404": {
            "description": "Voucher not found"
          }
        }
      }
    },
    "/voucherwithoverunderpayment/{voucherId}": {
      "get": {
        "tags": [
          "VoucherWithOverunderPayment"
        ],
        "summary": "Get voucher relations",
        "description": "Get all customer or supplier references for a specific voucher with over or under payment.  \r\nThis endpoint is not available for Swedish companies.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "parameters": [
          {
            "name": "voucherId",
            "in": "path",
            "description": "The voucher Id to get relations for",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfLedgerVoucherRelationApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/voucherwithoverunderpayment": {
      "post": {
        "tags": [
          "VoucherWithOverunderPayment"
        ],
        "summary": "Create over/under payment voucher",
        "description": "Create a new voucher with over or under payment details for handling customer or supplier payment differences.  \r\nThis endpoint is not available for Swedish companies.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:accounting\r\n* ea:accounting_readonly",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoucherWithOverunderPaymentApi"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Voucher created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/warmup_wnkq2yfuzq": {
      "get": {
        "tags": [
          "Warmup"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/webhooks": { },
    "/webhooks/{webhookId}": { },
    "/webhooks/{companyId}/faillog": { },
    "/webshoporders": {
      "get": {
        "tags": [
          "WebshopOrders"
        ],
        "summary": "Get webshop orders",
        "description": "Get all webshop orders from Visma Webshop, or add query parameters to filter the results. The response will include a list of webshop orders with their details, such as customer information, order date, currency, and line items.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedResponseOfWebshopOrderApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/webshoporders/statistics": { },
    "/webshoporders/{webshopOrderId}": {
      "get": {
        "tags": [
          "WebshopOrders"
        ],
        "summary": "Get a specific webshop order",
        "description": "Get a specific webshop order by its unique identifier. The response will include the webshop order details, such as customer information, order date, currency, and line items.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "webshopOrderId",
            "in": "path",
            "description": "The unique identifier of the webshop order",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebshopOrderApi"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/webshoporders/{webshopOrderId}/convert": {
      "post": {
        "tags": [
          "WebshopOrders"
        ],
        "summary": "Convert webshop order to invoice",
        "description": "Convert a webshop order to a customer invoice. The resulting invoice will appear as paid in the sales invoice list and will be automatically sent via email to the customer.\r\n<br><br>\r\n___\r\n Requires any of the following scopes: \r\n* ea:sales\r\n* ea:sales_readonly",
        "parameters": [
          {
            "name": "webshopOrderId",
            "in": "path",
            "description": "The unique identifier of the webshop order to convert",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Invoice created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommonExtendedBadRequest"
                }
              }
            }
          }
        }
      }
    },
    "/zapier/supplierinvoicedrafts": { }
  },
  "components": {
    "schemas": {
      "AcceptInterpretationServiceRequest": {
        "required": [
          "Accepted"
        ],
        "type": "object",
        "properties": {
          "Accepted": {
            "type": "boolean",
            "description": "Purpose: True Accepts, False Rejects service"
          }
        },
        "additionalProperties": false
      },
      "AcceptLicenseAgreementsRequest": {
        "required": [
          "ApplicationIdsToAccept"
        ],
        "type": "object",
        "properties": {
          "ApplicationIdsToAccept": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of application IDs (VOSS package external IDs) to accept license agreements for"
          }
        },
        "additionalProperties": false
      },
      "AccountApi": {
        "required": [
          "FiscalYearId",
          "IsActive",
          "Name",
          "Number"
        ],
        "type": "object",
        "properties": {
          "Name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "The name of the account, maximum 100 characters"
          },
          "Number": {
            "minLength": 1,
            "type": "string",
            "description": "The account number"
          },
          "VatCodeId": {
            "type": "string",
            "description": "The Id of the VAT code that is associated with the account. Can be null if account does not have a vat code",
            "format": "uuid",
            "nullable": true
          },
          "VatCodeDescription": {
            "type": "string",
            "description": "Describes what kind of VAT that is associated with the account",
            "nullable": true,
            "readOnly": true
          },
          "FiscalYearId": {
            "type": "string",
            "description": "The Id of the Fiscal year that the account belongs to",
            "format": "uuid"
          },
          "ReferenceCode": {
            "type": "string",
            "description": "Returns the reference code on the account. This feature is for dutch companies only",
            "nullable": true,
            "readOnly": true
          },
          "Type": {
            "type": "integer",
            "description": "Returns account type number. This feature is for dutch companies only",
            "format": "int32",
            "readOnly": true
          },
          "TypeDescription": {
            "type": "string",
            "description": "Returns account type description",
            "nullable": true,
            "readOnly": true
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "UTC timestamp when the account was last modified",
            "format": "date-time",
            "readOnly": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "UTC timestamp when the account was created",
            "format": "date-time",
            "readOnly": true
          },
          "IsActive": {
            "type": "boolean",
            "description": "If the account is active or not"
          },
          "AllowTransactionText": {
            "type": "boolean",
            "description": "If the account is allowed to have transaction text to it"
          },
          "IsFirstCostCenterMandatory": {
            "type": "boolean",
            "description": "If the account must have first cost center to it"
          },
          "IsProjectAllowed": {
            "type": "boolean",
            "description": "If the account is allowed to have projects connected to it"
          },
          "IsCostCenterAllowed": {
            "type": "boolean",
            "description": "If the account is allowed to have cost centers connected to it"
          },
          "IsBlockedForManualBooking": {
            "type": "boolean",
            "description": "If the account is blocked for manual bookkeeping. Automatic bookkeeping will always be available, no matter the setting on this property"
          },
          "Description": {
            "type": "string",
            "description": "If the account has account search information connected to it, will be shown as description",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "AccountBalanceApi": {
        "type": "object",
        "properties": {
          "AccountNumber": {
            "type": "integer",
            "description": "The account number",
            "format": "int64",
            "readOnly": true
          },
          "AccountName": {
            "type": "string",
            "description": "The account name",
            "nullable": true,
            "readOnly": true
          },
          "Balance": {
            "type": "number",
            "description": "The total account balance at the given date",
            "format": "double",
            "readOnly": true
          },
          "AccountType": {
            "type": "integer",
            "description": "The account type number. For reports only",
            "format": "int32",
            "readOnly": true
          },
          "AccountTypeDescription": {
            "type": "string",
            "description": "The Account Type Description. For reports only. Unfilterable property, filter on AccountType instead",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "AccountOpeningBalanceApi": {
        "type": "object",
        "properties": {
          "AccountNumber": {
            "type": "integer",
            "description": "The account number to update",
            "format": "int64"
          },
          "Balance": {
            "type": "number",
            "description": "The opening balance amount to set",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "AccountSuggestionMobileApi": {
        "type": "object",
        "properties": {
          "AccountNumber": {
            "type": "integer",
            "description": "Account number for the suggestion",
            "format": "int64"
          },
          "Probability": {
            "type": "number",
            "description": "Probability score for the suggestion",
            "format": "double"
          },
          "ProbabilityLevel": {
            "type": "string",
            "description": "Confidence level of the probability (e.g. LOW, MID, HIGH, VERY_HIGH)",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AccountTypesApi": {
        "type": "object",
        "properties": {
          "Type": {
            "type": "integer",
            "description": "The unique identifier for the account type",
            "format": "int32"
          },
          "TypeDescription": {
            "type": "string",
            "description": "Description of the account type",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AccountingLockDateApi": {
        "type": "object",
        "properties": {
          "Year": {
            "type": "integer",
            "description": "Year",
            "format": "int32"
          },
          "Month": {
            "maximum": 12,
            "minimum": 1,
            "type": "integer",
            "description": "Month",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Accounting locked as of year and month. Default: No lock"
      },
      "AccountingLockSettingsApi": {
        "type": "object",
        "properties": {
          "AccountingLockedAsOf": {
            "$ref": "#/components/schemas/AccountingLockDateApi"
          },
          "AccountingLockInterval": {
            "maximum": 4,
            "minimum": 0,
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = Month,<br/>2 = Quarter,<br/>3 = Year,<br/>4 = TaxDeclaration<br/><br/>Accounting lock interval.",
            "format": "int32"
          },
          "TaxDeclarationDate": {
            "$ref": "#/components/schemas/TaxDeclarationDateApi"
          }
        },
        "additionalProperties": false
      },
      "AccountingTemplateApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier for the accounting template",
            "format": "uuid",
            "readOnly": true
          },
          "Category": {
            "type": "integer",
            "description": "Category of the accounting template",
            "format": "int32"
          },
          "Name": {
            "type": "string",
            "description": "Name of the accounting template",
            "nullable": true
          },
          "NameEnglish": {
            "type": "string",
            "description": "English name of the accounting template",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "description": "Description of the accounting template",
            "nullable": true
          },
          "IsVisible": {
            "type": "boolean",
            "description": "Indicates if the template is visible"
          },
          "IsChangeable": {
            "type": "boolean",
            "description": "Indicates if the template is changeable"
          },
          "VoucherActionTypeInternal": {
            "type": "integer",
            "description": "Internal voucher action type",
            "format": "int32",
            "nullable": true
          },
          "VoucherSeries": {
            "type": "string",
            "description": "Voucher series",
            "nullable": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountingTemplateRowApi"
            },
            "description": "Collection of template rows",
            "nullable": true
          },
          "VoucherActionType": {
            "type": "integer",
            "description": "Voucher action type",
            "format": "int32"
          },
          "IsAccountChangeable": {
            "type": "boolean",
            "description": "Indicates if the account is changeable"
          },
          "RequiresVat": {
            "type": "string",
            "description": "Indicates if VAT is required",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AccountingTemplateRowApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier for the accounting template row",
            "format": "uuid",
            "readOnly": true
          },
          "AccountNumber": {
            "type": "integer",
            "description": "Account number",
            "format": "int64",
            "nullable": true
          },
          "LineNumber": {
            "type": "integer",
            "description": "Line number in the template",
            "format": "int32"
          },
          "AccountingType": {
            "enum": [
              1,
              2,
              3
            ],
            "type": "integer",
            "description": "Type of accounting entry",
            "format": "int32"
          },
          "CostCenterItemId1": {
            "type": "string",
            "description": "Cost center item ID 1",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId2": {
            "type": "string",
            "description": "Cost center item ID 2",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId3": {
            "type": "string",
            "description": "Cost center item ID 3",
            "format": "uuid",
            "nullable": true
          },
          "ProjectId": {
            "type": "string",
            "description": "Project ID",
            "format": "uuid",
            "nullable": true
          },
          "FormulaAmount": {
            "type": "string",
            "description": "Formula for calculating amount",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AccountsBatchApi": {
        "type": "object",
        "properties": {
          "Accounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountApi"
            },
            "description": "Collection of accounts to create in batch",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AddressApi": {
        "type": "object",
        "properties": {
          "AddressLine1": {
            "type": "string",
            "description": "Address line 1",
            "nullable": true
          },
          "AddressLine2": {
            "type": "string",
            "description": "Address line 2",
            "nullable": true
          },
          "City": {
            "type": "string",
            "description": "City",
            "nullable": true
          },
          "PostalCode": {
            "type": "string",
            "description": "Postal code",
            "nullable": true
          },
          "CountryCode": {
            "type": "string",
            "description": "Country of origin",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AllocationPeriodApi": {
        "required": [
          "Rows"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier of the allocation period",
            "format": "uuid",
            "readOnly": true
          },
          "SupplierInvoiceDraftId": {
            "type": "string",
            "description": "Reference to a supplier invoice draft that may be associated with this allocation period",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "SupplierInvoiceDraftRow": {
            "type": "integer",
            "description": "Reference to a supplier invoice draft row that may be associated with this allocation period",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "SupplierInvoiceId": {
            "type": "string",
            "description": "Reference to a supplier invoice that may be associated with this allocation period",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "SupplierInvoiceRow": {
            "type": "integer",
            "description": "Reference to a supplier invoice row that may be associated with this allocation period",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "ManualVoucherId": {
            "type": "string",
            "description": "Reference to a possible manual voucher that this allocation period belongs to",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "ManualVoucherRow": {
            "type": "integer",
            "description": "Reference to a possible manual voucher row that this allocation period belongs to",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "CustomerInvoiceId": {
            "type": "string",
            "description": "Reference to a possible customer invoice that this allocation period belongs to",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "CustomerInvoiceRow": {
            "type": "integer",
            "description": "Reference to a possible customer invoice row that this allocation period belongs to",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "CustomerInvoiceDraftId": {
            "type": "string",
            "description": "Reference to a possible customer invoice draft that this allocation period belongs to",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "CustomerInvoiceDraftRow": {
            "type": "integer",
            "description": "Reference to a possible customer invoice draft row that this allocation period belongs to",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "VoucherFiscalYearId": {
            "type": "string",
            "description": "Reference to fiscal year id of the voucher coresponding to the source type, if applicable",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "VoucherId": {
            "type": "string",
            "description": "Reference to a possible voucher that this allocation period belongs to",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "AllocationPeriodSourceType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = SupplierInvoice,<br/>1 = ManualVoucher,<br/>2 = CustomerInvoice,<br/>3 = CustomerInvoiceDraft",
            "format": "int32"
          },
          "Status": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Pending,<br/>1 = Revoked,<br/>2 = Booked,<br/>3 = CancelledNotBooked",
            "format": "int32"
          },
          "CostCenterItemId1": {
            "type": "string",
            "description": "Identifier of a cost center item associated with this allocation, if applicable",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "CostCenterItemId2": {
            "type": "string",
            "description": "Identifier of a cost center item associated with this allocation, if applicable",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "CostCenterItemId3": {
            "type": "string",
            "description": "Identifier of a cost center item associated with this allocation, if applicable",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "ProjectId": {
            "type": "string",
            "description": "Reference to a project, if applicable",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "BookkeepingDate": {
            "type": "string",
            "description": "Bookeeping date for this allocation period",
            "format": "date-time"
          },
          "CreatedUtc": {
            "type": "string",
            "description": "When the allocation was created",
            "format": "date-time",
            "readOnly": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AllocationPeriodRowApi"
            },
            "description": "The accounting rows/lines of this alocation"
          },
          "DebitAccountNumber": {
            "type": "integer",
            "description": "The first debit account number for non VAT accounting rows/lines of this alocation",
            "format": "int64",
            "readOnly": true
          },
          "CreditAccountNumber": {
            "type": "integer",
            "description": "The first credit account number for non VAT accounting rows/lines of this alocation",
            "format": "int64",
            "readOnly": true
          },
          "Amount": {
            "type": "number",
            "description": "The amount of the first non VAT accounting row/line of this alocation",
            "format": "double",
            "readOnly": true
          },
          "IsCredit": {
            "type": "boolean",
            "description": "Indicates whether the associated source invoice is of credit type"
          },
          "SourceDate": {
            "type": "string",
            "description": "Voucher date or Invoice date if no source voucher",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "Description": {
            "type": "string",
            "description": "Voucher description or Invoice description if no source voucher",
            "nullable": true,
            "readOnly": true
          },
          "NumberAndNumberSeries": {
            "type": "string",
            "description": "From source voucher or null if no source voucher",
            "nullable": true,
            "readOnly": true
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "Last UTC time the period was changed. If the allocation wasn't changed it takes the value of created UTC",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Allocation period for distributing costs over time"
      },
      "AllocationPeriodRowApi": {
        "required": [
          "DebitCredit"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier of the allocation period row",
            "format": "uuid",
            "readOnly": true
          },
          "AllocationPeriodId": {
            "type": "string",
            "description": "Reference to the allocation period this row belongs to",
            "format": "uuid",
            "readOnly": true
          },
          "AccountNumber": {
            "type": "integer",
            "description": "Account number",
            "format": "int64"
          },
          "Amount": {
            "type": "number",
            "description": "Amount to allocate",
            "format": "double"
          },
          "Quantity": {
            "type": "number",
            "description": "Used for dutch companies that use agricultural settings",
            "format": "double",
            "nullable": true
          },
          "Weight": {
            "type": "number",
            "description": "Used for dutch companies that use agricultural settings",
            "format": "double",
            "nullable": true
          },
          "DebitCredit": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Debit,<br/>2 = Credit",
            "format": "int32"
          },
          "AllocationPeriodRowType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>None = 0,<br/>InputVat = 1",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Row in an allocation period"
      },
      "AllocationPlan": {
        "required": [
          "AllocationAccountNumber",
          "AmountToAllocate",
          "NumberOfAllocationPeriods"
        ],
        "type": "object",
        "properties": {
          "SupplierInvoiceDraftId": {
            "type": "string",
            "description": "Reference to a supplier invoice draft. If assigned, SupplierInvoiceDraftRow must be set",
            "format": "uuid",
            "nullable": true
          },
          "SupplierInvoiceDraftRow": {
            "type": "integer",
            "description": "Reference to a supplier invoice draft row. Required if SupplierInvoiceDraftId is assigned",
            "format": "int32",
            "nullable": true
          },
          "SupplierInvoiceId": {
            "type": "string",
            "description": "Reference to a supplier invoice. If assigned, SupplierInvoiceRow must be set",
            "format": "uuid",
            "nullable": true
          },
          "SupplierInvoiceRow": {
            "type": "integer",
            "description": "Reference to a supplier invoice row. Required if SupplierInvoiceId is assigned",
            "format": "int32",
            "nullable": true
          },
          "VoucherId": {
            "type": "string",
            "description": "Reference to a voucher. If assigned, VoucherRow must be set",
            "format": "uuid",
            "nullable": true
          },
          "VoucherRow": {
            "type": "integer",
            "description": "Reference to a voucher row. Required if VoucherId is assigned",
            "format": "int32",
            "nullable": true
          },
          "BookkeepingStartDate": {
            "type": "string",
            "description": "The start date for bookkeeping allocation",
            "format": "date-time"
          },
          "AmountToAllocate": {
            "maximum": 1000000000,
            "minimum": 1,
            "type": "number",
            "description": "The amount to allocate across periods",
            "format": "double"
          },
          "QuantityToAllocate": {
            "type": "number",
            "description": "Used for Dutch companies that use agricultural settings",
            "format": "double",
            "nullable": true
          },
          "WeightToAllocate": {
            "type": "number",
            "description": "Used for Dutch companies that use agricultural settings",
            "format": "double",
            "nullable": true
          },
          "AllocationAccountNumber": {
            "type": "integer",
            "description": "The account number for allocation",
            "format": "int64"
          },
          "NumberOfAllocationPeriods": {
            "maximum": 9999,
            "minimum": 1,
            "type": "integer",
            "description": "Number of allocation periods to create",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Plan for creating allocation periods to distribute costs over time"
      },
      "AmiliApplicationUrlMobileOnlyApi": {
        "type": "object",
        "properties": {
          "Url": {
            "type": "string",
            "description": "The URL to the Amili application",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "AmiliOnboardingStatusMobileOnlyApi": {
        "type": "object",
        "properties": {
          "Status": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = NotStarted,<br/>1 = Started,<br/>2 = Completed",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "AppStoreActivationStatusApi": {
        "required": [
          "ActivationStatus"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier for the app store activation status",
            "format": "uuid",
            "readOnly": true
          },
          "ActivationStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Active,<br/>1 = Inactive",
            "format": "int32"
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "Date and time when the activation status was last modified (UTC)",
            "format": "date-time",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ApprovalApi": {
        "required": [
          "DocumentApprovalStatus"
        ],
        "type": "object",
        "properties": {
          "DocumentApprovalStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = Approved,<br/>2 = Rejected,<br/>3 = ReadyForApproval",
            "format": "int32"
          },
          "RejectionMessage": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": "<strong>Possible values:</strong><br/>2 = Rejected<br/><br/>Purpose: The message sent to users when rejecting a document. Empty if DocumentApprovalStatus is not.",
            "nullable": true
          },
          "RejectionMessageReceivers": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "<strong>Possible values:</strong><br/>2 = Rejected<br/><br/>Purpose: The recipients of the rejection message. Empty if DocumentApprovalStatus is not. List of user ids. Use GET /v2/users.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ApprovalResponseApi": {
        "type": "object",
        "properties": {
          "DocumentId": {
            "type": "string",
            "description": "Document id which has been approved, rejected or is ready for approval.",
            "format": "uuid",
            "readOnly": true
          },
          "DocumentType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = SupplierInvoiceDraft,<br/>2 = SupplierInvoice",
            "format": "int32",
            "readOnly": true
          },
          "DocumentApprovalStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = Approved,<br/>2 = Rejected,<br/>3 = ReadyForApproval",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ApprovalSettingsApi": {
        "type": "object",
        "properties": {
          "UsesSupplierInvoiceApproval": {
            "type": "boolean",
            "description": "Whether supplier invoice approval is used. Used with: /v2/approval/supplierinvoice/{id}",
            "readOnly": true
          },
          "UsesVatReportApproval": {
            "type": "boolean",
            "description": "Whether VAT report approval is used. Used with: /v2/approval/vatreport/{id}",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Approval company settings"
      },
      "ArticleAccountCodingApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier of the article account coding.",
            "format": "uuid",
            "readOnly": true
          },
          "Name": {
            "type": "string",
            "description": "The name of the article account coding.",
            "nullable": true
          },
          "NameEnglish": {
            "type": "string",
            "description": "The English name of the article account coding.",
            "nullable": true
          },
          "Type": {
            "type": "string",
            "description": "The type of the article account coding.",
            "nullable": true
          },
          "VatRate": {
            "type": "string",
            "description": "The VAT rate code of the article account coding.",
            "nullable": true
          },
          "IsActive": {
            "type": "boolean",
            "description": "Indicates whether the article account coding is active."
          },
          "VatRatePercent": {
            "type": "number",
            "description": "The VAT rate percent of the article account coding.",
            "format": "double"
          },
          "DomesticSalesSubjectToReversedConstructionVatAccountNumber": {
            "type": "integer",
            "description": "The account number for domestic sales subject to reversed construction VAT.",
            "format": "int64",
            "nullable": true
          },
          "DomesticSalesSubjectToVatAccountNumber": {
            "type": "integer",
            "description": "The account number for domestic sales subject to VAT.",
            "format": "int64",
            "nullable": true
          },
          "DomesticSalesVatExemptAccountNumber": {
            "type": "integer",
            "description": "The account number for domestic sales exempt from VAT.",
            "format": "int64",
            "nullable": true
          },
          "ForeignSalesSubjectToMossAccountNumber": {
            "type": "integer",
            "description": "The account number for foreign sales subject to MOSS.",
            "format": "int64",
            "nullable": true
          },
          "ForeignSalesSubjectToThirdPartySalesAccountNumber": {
            "type": "integer",
            "description": "The account number for foreign sales to third party.",
            "format": "int64",
            "nullable": true
          },
          "ForeignSalesSubjectToVatWithinEuAccountNumber": {
            "type": "integer",
            "description": "The account number for foreign sales subject to VAT within EU.",
            "format": "int64",
            "nullable": true
          },
          "ForeignSalesVatExemptOutsideEuAccountNumber": {
            "type": "integer",
            "description": "The account number for foreign sales exempt from VAT outside EU.",
            "format": "int64",
            "nullable": true
          },
          "ForeignSalesVatExemptWithinEuAccountNumber": {
            "type": "integer",
            "description": "The account number for foreign sales exempt from VAT within EU.",
            "format": "int64",
            "nullable": true
          },
          "DomesticSalesVatCodeExemptAccountNumber": {
            "type": "integer",
            "description": "The account number for domestic sales exempt.",
            "format": "int64",
            "nullable": true
          },
          "ChangedUtc": {
            "type": "string",
            "description": "Last time this article account coding was changed",
            "format": "date-time",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ArticleApi": {
        "required": [
          "CodingId",
          "IsActive",
          "Name",
          "Number",
          "UnitId"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by eAccounting",
            "format": "uuid",
            "readOnly": true
          },
          "IsActive": {
            "type": "boolean",
            "description": "Indicates whether the article is active"
          },
          "Number": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "Article number"
          },
          "Name": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Article name (Swedish)"
          },
          "NameEnglish": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Article name (English)",
            "nullable": true
          },
          "NetPrice": {
            "maximum": 99000000,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "NetPriceWithDiscount": {
            "maximum": 99000000,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "GrossPrice": {
            "maximum": 99000000,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "CodingId": {
            "type": "string",
            "description": "Get from /v2/articleaccountcodings",
            "format": "uuid"
          },
          "CodingName": {
            "type": "string",
            "description": "Name of CodingId",
            "nullable": true,
            "readOnly": true
          },
          "UnitId": {
            "type": "string",
            "description": "Source: Get from /v2/units",
            "format": "uuid"
          },
          "UnitName": {
            "type": "string",
            "description": "Purpose: Returns the unit name entered from UnitId",
            "nullable": true,
            "readOnly": true
          },
          "UnitAbbreviation": {
            "type": "string",
            "description": "Purpose: Returns the unit abbreviation entered from UnitId",
            "nullable": true,
            "readOnly": true
          },
          "StockBalance": {
            "maximum": 1000000000000000,
            "minimum": -1000000000000000,
            "type": "number",
            "description": "Purpose: Sets the stock balance for this article Default: 0 When stock module is active, this is read only",
            "format": "double"
          },
          "StockBalanceManuallyChangedUtc": {
            "type": "string",
            "description": "Purpose: Set when the stock balance is changed manually",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "StockBalanceReserved": {
            "type": "number",
            "description": "Purpose: Returns the reserved stock balance for this article",
            "format": "double",
            "readOnly": true
          },
          "StockBalanceAvailable": {
            "type": "number",
            "description": "Purpose: Returns the available stock balance for this article",
            "format": "double",
            "readOnly": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "Purpose: Returns the date and time when the article was created",
            "format": "date-time",
            "readOnly": true
          },
          "ChangedUtc": {
            "type": "string",
            "description": "Purpose: Returns the last date and time from when a change was made on the article",
            "format": "date-time",
            "readOnly": true
          },
          "HouseWorkType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = RotConstructionWork,<br/>2 = RotElectricalWork,<br/>3 = RotGlassSheetMetalWork,<br/>4 = RotGroundWork,<br/>5 = RotBrickWork,<br/>6 = RotPaintDecorateWork,<br/>7 = RotPlumbWork,<br/>9 = RutCleanJobWork,<br/>10 = RutCareClothTextile,<br/>12 = RutSnowRemove,<br/>13 = RutGarden,<br/>14 = RutBabySitting,<br/>15 = RutOtherCare,<br/>18 = RutRemovalServices,<br/>19 = RutITServices,<br/>20 = RotHeatPump,<br/>21 = RotHeatPump2,<br/>22 = RutHomeAppliances,<br/>23 = RotSolarHeatingSystem,<br/>24 = RotWoodBoiler,<br/>25 = RotFuelBoiler,<br/>26 = RutLaundry,<br/>27 = RutFurnishing,<br/>28 = RutGoodsTransport,<br/>29 = RutHomeSupervision",
            "format": "int32",
            "nullable": true
          },
          "PurchasePrice": {
            "maximum": 99000000,
            "minimum": 0,
            "type": "number",
            "description": "Purchase price of the article in domestic currency. When saved on the article this is rounded to 2 decimals.",
            "format": "double"
          },
          "PurchasePriceManuallyChangedUtc": {
            "type": "string",
            "description": "Purpose: Set when the purchase price is changed manually",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "SendToWebshop": {
            "type": "boolean",
            "description": "Purpose: If true, will send article to VismaWebShop (If company has the integration). Default: True"
          },
          "UsesMoss": {
            "type": "boolean",
            "description": "This property can be set if the OSS setting is checked in company settings. Only applicable if using Accrual accounting"
          },
          "ArticleLabels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleLabelApi"
            },
            "description": "Article Labels",
            "nullable": true
          },
          "MessageThreads": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Fetch messages via GET /v2/messagethreads/{messageThreadId}",
            "nullable": true,
            "readOnly": true
          },
          "Notes": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Fetch notes via GET /v2/notes/{noteId}",
            "nullable": true,
            "readOnly": true
          },
          "Note": {
            "maxLength": 4000,
            "minLength": 0,
            "type": "string",
            "description": "Article Note",
            "nullable": true
          },
          "IsStock": {
            "type": "boolean",
            "description": "Article can be stock article if stock module is activated and sales category for the article Goods type"
          },
          "ShowStockInformation": {
            "type": "boolean",
            "description": "ShowStockInformation = TRUE IF company has active stock module, article is stock article and article is not a service article OR company hasn't active stock module and article is not a service article",
            "readOnly": true
          },
          "IsServiceArticle": {
            "type": "boolean",
            "description": "<strong>Possible values:</strong><br/>True = the sales category for the article is of the type Service<br/>False = the sales category for the article is of the type Goods TRUE = the sales category for the article is of the type Service",
            "readOnly": true
          },
          "StockLocationReference": {
            "type": "string",
            "description": "Article stock location reference",
            "nullable": true
          },
          "FreightCosts": {
            "maximum": 99000000,
            "minimum": 0,
            "type": "number",
            "description": "Freight costs per article unit",
            "format": "double"
          },
          "FreightCostsManuallyChangedUtc": {
            "type": "string",
            "description": "Purpose: Set when the freight costs is changed manually",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "UpdateStockPrices": {
            "type": "boolean",
            "description": "Purpose: Update article purchase price and freight costs when creating manual stock adjustment"
          },
          "Barcodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleBarcodeApi"
            },
            "description": "Article barcode (currently only one BarcodeType=Default)",
            "nullable": true
          },
          "StockValue": {
            "type": "number",
            "description": "Total value of articles currently in stock",
            "format": "double",
            "readOnly": true
          },
          "GreenTechnologyType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = SolarCellInstallation,<br/>2 = ElectricEnergyStorageInstallation,<br/>3 = ElectricVehicleChargingPointInstallation<br/><br/>The type of green technology on articles can be.",
            "format": "int32",
            "nullable": true
          },
          "DiscountPercentage": {
            "type": "number",
            "description": "Discount from discount agreement",
            "format": "double"
          },
          "CurrencyCode": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string",
            "description": "The currency code for the purchase price",
            "nullable": true
          },
          "PurchasePriceWithCurrency": {
            "type": "number",
            "description": "The purchase price expressed in the article's currency code",
            "format": "double"
          },
          "FreightCostWithCurrency": {
            "type": "number",
            "description": "The article's freight cost expressed in the article's currency code",
            "format": "double"
          },
          "OrderingPoint": {
            "type": "number",
            "description": "The article's ordering point. Used when: Stock module = activated. Article sales category type = Goods",
            "format": "double",
            "nullable": true
          },
          "SupplierId": {
            "type": "string",
            "description": "Id of the main supplier for the article. Clear by setting to empty GUID. Used when: Stock module = activated",
            "format": "uuid",
            "nullable": true
          },
          "SupplierArticleNumber": {
            "maxLength": 16,
            "minLength": 0,
            "type": "string",
            "description": "Supplier's article number.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ArticleBarcodeApi": {
        "type": "object",
        "properties": {
          "Barcode": {
            "type": "string",
            "description": "Article barcode",
            "nullable": true
          },
          "BarcodeType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>Default = 0<br/><br/>Article barcode type.",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "ArticleBatchApi": {
        "required": [
          "CodingId",
          "IsActive",
          "Name",
          "Number",
          "UnitId"
        ],
        "type": "object",
        "properties": {
          "IsActive": {
            "type": "boolean",
            "description": "Indicates whether the article is active"
          },
          "Number": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "Article number"
          },
          "Name": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Article name"
          },
          "NameEnglish": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Article name (English)",
            "nullable": true
          },
          "NetPrice": {
            "maximum": 99000000,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "GrossPrice": {
            "maximum": 99000000,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "CodingId": {
            "type": "string",
            "description": "Get from /v2/articleaccountcodings",
            "format": "uuid"
          },
          "UnitId": {
            "type": "string",
            "description": "Unit ID for the article",
            "format": "uuid"
          },
          "StockBalance": {
            "type": "number",
            "description": "Purpose: Sets the stock balance for this article Default: 0 When stock module is active, this is read only",
            "format": "double"
          },
          "HouseWorkType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = RotConstructionWork,<br/>2 = RotElectricalWork,<br/>3 = RotGlassSheetMetalWork,<br/>4 = RotGroundWork,<br/>5 = RotBrickWork,<br/>6 = RotPaintDecorateWork,<br/>7 = RotPlumbWork,<br/>9 = RutCleanJobWork,<br/>10 = RutCareClothTextile,<br/>12 = RutSnowRemove,<br/>13 = RutGarden,<br/>14 = RutBabySitting,<br/>15 = RutOtherCare,<br/>18 = RutRemovalServices,<br/>19 = RutITServices,<br/>20 = RotHeatPump,<br/>21 = RotHeatPump2,<br/>22 = RutHomeAppliances,<br/>23 = RotSolarHeatingSystem,<br/>24 = RotWoodBoiler,<br/>25 = RotFuelBoiler,<br/>26 = RutLaundry,<br/>27 = RutFurnishing,<br/>28 = RutGoodsTransport,<br/>29 = RutHomeSupervision",
            "format": "int32",
            "nullable": true
          },
          "PurchasePrice": {
            "maximum": 99000000,
            "minimum": 0,
            "type": "number",
            "description": "Purchase price of the article in domestic currency. When saved on the article this is rounded to 2 decimals.",
            "format": "double"
          },
          "SendToWebshop": {
            "type": "boolean",
            "description": "Purpose: If true, will send article to VismaWebShop (If company has the integration). Default: True"
          },
          "UsesMoss": {
            "type": "boolean",
            "description": "This property can be set if the OSS setting is checked in company settings. Only applicable if using Accrual accounting"
          },
          "IsStock": {
            "type": "boolean",
            "description": "Article can be stock article if stock module is activated and sales category for the article Goods type"
          },
          "StockLocationReference": {
            "type": "string",
            "description": "Article stock location reference",
            "nullable": true
          },
          "FreightCosts": {
            "maximum": 99000000,
            "minimum": 0,
            "type": "number",
            "description": "Freight costs per article unit",
            "format": "double"
          },
          "UpdateStockPrices": {
            "type": "boolean",
            "description": "Purpose: Update article purchase price and freight costs when creating manual stock adjustment"
          },
          "Barcodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleBarcodeApi"
            },
            "description": "Article barcode (currently only one BarcodeType=Default)",
            "nullable": true
          },
          "GreenTechnologyType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = SolarCellInstallation,<br/>2 = ElectricEnergyStorageInstallation,<br/>3 = ElectricVehicleChargingPointInstallation<br/><br/>The type of green technology on articles can be.",
            "format": "int32",
            "nullable": true
          },
          "SupplierId": {
            "type": "string",
            "description": "Id of the main supplier for the article. Clear by setting to empty GUID. Used when: Stock module = activated",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ArticleBatchLabelApi": {
        "type": "object",
        "properties": {
          "ArticleNumber": {
            "type": "string",
            "description": "The connected to article number",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "description": "Name of the article label ()",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "description": "Description of the article label ()",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ArticleLabelApi": {
        "required": [
          "Name"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system",
            "format": "uuid",
            "readOnly": true
          },
          "Name": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Name of the article label"
          },
          "Description": {
            "maxLength": 400,
            "minLength": 0,
            "type": "string",
            "description": "Description of the article label",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ArticleSalesSummary": {
        "type": "object",
        "properties": {
          "BestSellingArticle": {
            "$ref": "#/components/schemas/BestArticleDetails"
          },
          "SecondBestSellingArticle": {
            "$ref": "#/components/schemas/BestArticleDetails"
          },
          "ThirdBestSellingArticle": {
            "$ref": "#/components/schemas/BestArticleDetails"
          }
        },
        "additionalProperties": false
      },
      "ArticlesBatchApi": {
        "type": "object",
        "properties": {
          "Articles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleBatchApi"
            },
            "description": "A collection of articles to be created or updated in a batch operation",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ArticlesLabelBatchApi": {
        "type": "object",
        "properties": {
          "Labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleBatchLabelApi"
            },
            "description": "A collection of article labels to be created or updated in a batch operation",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Attachment": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier for the attachment",
            "format": "uuid",
            "readOnly": true
          },
          "ContentType": {
            "type": "string",
            "description": "MIME type of the attachment file",
            "nullable": true
          },
          "DocumentId": {
            "type": "string",
            "description": "Identifier of the linked document (if any)",
            "format": "uuid",
            "nullable": true
          },
          "AttachedDocumentType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = SupplierInvoice,<br/>2 = Receipt,<br/>3 = Voucher,<br/>4 = SupplierInvoiceDraft,<br/>5 = AllocationPeriod,<br/>6 = Transfer,<br/>8 = BankTransaction<br/><br/>Type of the attached document.",
            "format": "int32"
          },
          "MessageThreads": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Collection of message thread IDs. Fetch messages via GET /v2/messagethreads/{messageThreadId}",
            "nullable": true,
            "readOnly": true
          },
          "Notes": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Collection of note IDs. Fetch notes via GET /v2/notes/{notesId}",
            "nullable": true,
            "readOnly": true
          },
          "PhotoSource": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VismaScannerApp,<br/>2 = CompanyEmail,<br/>3 = EmployeeEmail,<br/>4 = eAccountingApp,<br/>100 = DragAndDrop,<br/>101 = eInvoice,<br/>102 = ScanPDF,<br/>103 = ScanLetter,<br/>105 = Integration,<br/>106 = KivraCompanyMailbox<br/><br/>Source from which the photo was uploaded.",
            "format": "int32",
            "readOnly": true
          },
          "FileName": {
            "type": "string",
            "description": "Original file name of the attachment",
            "nullable": true
          },
          "TemporaryUrl": {
            "type": "string",
            "description": "Temporary URL for downloading the attachment file",
            "nullable": true
          },
          "Comment": {
            "type": "string",
            "description": "User comment on the attachment",
            "nullable": true
          },
          "SupplierName": {
            "type": "string",
            "description": "Name of the supplier extracted from the attachment",
            "nullable": true
          },
          "CurrencyCode": {
            "type": "string",
            "description": "Currency code used in the invoice amount",
            "nullable": true
          },
          "AmountInvoiceCurrency": {
            "type": "number",
            "description": "Invoice amount in the invoice currency",
            "format": "double"
          },
          "Type": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Invoice,<br/>1 = Receipt,<br/>2 = Document<br/><br/>Type of photo document.",
            "format": "int32"
          },
          "AttachmentStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Matched,<br/>1 = Unmatched<br/><br/>Status of the attachment.",
            "format": "int32"
          },
          "UploadedBy": {
            "type": "string",
            "description": "Name of the user who uploaded the attachment",
            "nullable": true,
            "readOnly": true
          },
          "ImageDate": {
            "type": "string",
            "description": "Date and time when the source image was uploaded",
            "format": "date-time",
            "readOnly": true
          },
          "TransactionDate": {
            "type": "string",
            "description": "The interpreted transaction date of the source image (e.g., invoice date for an invoice, payment date for a receipt). Can be null if not interpreted.",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "Ocr": {
            "type": "string",
            "description": "OCR",
            "nullable": true
          },
          "InvoiceNumber": {
            "type": "string",
            "description": "Invoice Number",
            "nullable": true
          },
          "Vat": {
            "type": "number",
            "description": "Total VAT amount",
            "format": "double",
            "nullable": true
          },
          "DueDate": {
            "type": "string",
            "description": "Payment due date",
            "format": "date-time",
            "nullable": true
          },
          "SupplierCorporateIdentityNumber": {
            "type": "string",
            "description": "Supplier corporate identity number",
            "nullable": true
          },
          "PaymentDate": {
            "type": "string",
            "description": "Invoice payment date",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AttachmentInterpretationApi": {
        "type": "object",
        "properties": {
          "AttachmentId": {
            "type": "string",
            "description": "Set when interpretation is stored in database",
            "format": "uuid",
            "readOnly": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "Set when interpretation is stored in database",
            "format": "date-time",
            "readOnly": true
          },
          "PhotoSource": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VismaScannerApp,<br/>2 = CompanyEmail,<br/>3 = EmployeeEmail,<br/>4 = eAccountingApp,<br/>100 = DragAndDrop,<br/>101 = eInvoice,<br/>102 = ScanPDF,<br/>103 = ScanLetter,<br/>105 = Integration,<br/>106 = KivraCompanyMailbox<br/><br/>Photo source type.",
            "format": "int32",
            "nullable": true
          },
          "TotalVat": {
            "type": "number",
            "description": "Total VAT amount extracted from the document",
            "format": "double",
            "nullable": true
          },
          "ConfidenceTotalVat": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching total vat amount.",
            "format": "int32"
          },
          "TotalAmountIncludingVat": {
            "type": "number",
            "description": "Total amount including VAT extracted from the document",
            "format": "double",
            "nullable": true
          },
          "ConfidenceTotalAmountIncludingVat": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching total amount including VAT.",
            "format": "int32"
          },
          "TotalAmountExcludingVat": {
            "type": "number",
            "description": "Total amount excluding VAT extracted from the document",
            "format": "double",
            "nullable": true
          },
          "ConfidenceTotalAmountExcludingVat": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching total amount excluding VAT.",
            "format": "int32"
          },
          "Currency": {
            "type": "string",
            "description": "The currency code (e.g., SEK, EUR) used in the document",
            "nullable": true
          },
          "ConfidenceCurrency": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching currency code.",
            "format": "int32"
          },
          "SupplierCountryCode": {
            "type": "string",
            "description": "<strong>Possible values:</strong><br/>3166-1 alpha-2)<br/><br/>The country code of the supplier (ISO.",
            "nullable": true
          },
          "ConfidenceSupplierCountryCode": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching supplier country code.",
            "format": "int32"
          },
          "SupplierOrganisationNumber": {
            "type": "string",
            "description": "The organisation number of the supplier",
            "nullable": true
          },
          "ConfidenceSupplierOrganisationNumber": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching supplier organisation number.",
            "format": "int32"
          },
          "SupplierVatNumber": {
            "type": "string",
            "description": "The supplier's VAT number extracted from the document",
            "nullable": true
          },
          "ConfidenceSupplierVatNumber": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching supplier VAT number.",
            "format": "int32"
          },
          "SupplierName": {
            "type": "string",
            "description": "The supplier's name extracted from the document",
            "nullable": true
          },
          "ConfidenceSupplierName": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching supplier name.",
            "format": "int32"
          },
          "SupplierAddress": {
            "type": "string",
            "description": "The supplier's address extracted from the document",
            "nullable": true
          },
          "ConfidenceSupplierAddress": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching supplier address.",
            "format": "int32"
          },
          "DocumentDate": {
            "type": "string",
            "description": "The date of the document (e.g., invoice or receipt date)",
            "format": "date-time",
            "nullable": true
          },
          "ConfidenceDocumentDate": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching document date.",
            "format": "int32"
          },
          "DocumentNumber": {
            "type": "string",
            "description": "The document number extracted from the document",
            "nullable": true
          },
          "ConfidenceDocumentNumber": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching document number.",
            "format": "int32"
          },
          "DocumentType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = Invoice,<br/>2 = Receipt,<br/>3 = CreditNote,<br/>4 = DebitNote<br/><br/>The document type (e.g., Invoice, Receipt).",
            "format": "int32",
            "nullable": true
          },
          "ConfidenceDocumentType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching document type.",
            "format": "int32"
          },
          "OrderNumber": {
            "type": "string",
            "description": "The order number referenced in the document",
            "nullable": true
          },
          "ConfidenceOrderNumber": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching order number.",
            "format": "int32"
          },
          "CustomerNumber": {
            "type": "string",
            "description": "The customer number extracted from the document",
            "nullable": true
          },
          "ConfidenceCustomerNumber": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching customer number.",
            "format": "int32"
          },
          "PaymentIdSE": {
            "type": "string",
            "description": "The Swedish payment identifier (OCR or similar)",
            "nullable": true
          },
          "ConfidencePaymentIdSE": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching Swedish payment identifier.",
            "format": "int32"
          },
          "PaymentIdFI": {
            "type": "string",
            "description": "The Finnish payment identifier",
            "nullable": true
          },
          "ConfidencePaymentIdFI": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching Finnish payment identifier.",
            "format": "int32"
          },
          "PaymentIdNO": {
            "type": "string",
            "description": "The Norwegian payment identifier (KID or similar)",
            "nullable": true
          },
          "ConfidencePaymentIdNO": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching Norwegian payment identifier.",
            "format": "int32"
          },
          "PaymentIdNL": {
            "type": "string",
            "description": "The Dutch payment identifier",
            "nullable": true
          },
          "ConfidencePaymentIdNL": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching Dutch payment identifier.",
            "format": "int32"
          },
          "PaymentMethod": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = Cash,<br/>2 = CreditCard,<br/>3 = BankTransfer<br/><br/>The payment method used in the document.",
            "format": "int32"
          },
          "ConfidencePaymentMethod": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching payment method.",
            "format": "int32"
          },
          "PaymentDueDate": {
            "type": "string",
            "description": "The due date for payment as specified in the document",
            "format": "date-time",
            "nullable": true
          },
          "ConfidencePaymentDueDate": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching payment due date.",
            "format": "int32"
          },
          "Iban": {
            "type": "string",
            "description": "The IBAN (International Bank Account Number) for payment",
            "nullable": true
          },
          "ConfidenceIban": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching IBAN.",
            "format": "int32"
          },
          "Bic": {
            "type": "string",
            "description": "The BIC (Bank Identifier Code) for payment",
            "nullable": true
          },
          "ConfidenceBic": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching BIC.",
            "format": "int32"
          },
          "BankAccountNumber": {
            "type": "string",
            "description": "The bank account number for payment",
            "nullable": true
          },
          "ConfidenceBankAccountNumber": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching bank account number.",
            "format": "int32"
          },
          "BankGiroNumber": {
            "type": "string",
            "description": "The Bankgiro number for payment (Sweden)",
            "nullable": true
          },
          "ConfidenceBankGiroNumber": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching Bankgiro number.",
            "format": "int32"
          },
          "PlusGiroNumber": {
            "type": "string",
            "description": "The PlusGiro number for payment (Sweden)",
            "nullable": true
          },
          "ConfidencePlusGiroNumber": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching PlusGiro number.",
            "format": "int32"
          },
          "BankRegistrationNumber": {
            "type": "string",
            "description": "The bank registration number",
            "nullable": true
          },
          "ConfidenceBankRegistrationNumber": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = VERY_HIGH,<br/>2 = HIGH,<br/>3 = MID,<br/>4 = LOW,<br/>5 = VERY_LOW<br/><br/>Confidence level when matching bank registration number.",
            "format": "int32"
          },
          "Text": {
            "type": "string",
            "description": "Full OCR text output from source document",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AttachmentLinkApi": {
        "required": [
          "AttachmentIds",
          "DocumentType"
        ],
        "type": "object",
        "properties": {
          "DocumentId": {
            "type": "string",
            "description": "The id from the system of the corresponding linked document. Source: Get from endpoints corresponding to your document type",
            "format": "uuid"
          },
          "DocumentType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = SupplierInvoice,<br/>2 = Receipt,<br/>3 = Voucher,<br/>4 = SupplierInvoiceDraft,<br/>5 = AllocationPeriod,<br/>6 = Transfer,<br/>8 = BankTransaction",
            "format": "int32"
          },
          "AttachmentIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of guids representing the attachment ids fetched from the system"
          }
        },
        "additionalProperties": false
      },
      "AttachmentUpdateApi": {
        "type": "object",
        "properties": {
          "SupplierName": {
            "type": "string",
            "description": "Supplier name",
            "nullable": true
          },
          "SupplierCorporateIdentityNumber": {
            "type": "string",
            "description": "Supplier corporate identity number",
            "nullable": true
          },
          "InvoiceDate": {
            "type": "string",
            "description": "Invoice issue date",
            "format": "date-time",
            "nullable": true
          },
          "DueDate": {
            "type": "string",
            "description": "Payment due date",
            "format": "date-time",
            "nullable": true
          },
          "Amount": {
            "type": "number",
            "description": "Total invoice amount",
            "format": "double",
            "nullable": true
          },
          "Vat": {
            "type": "number",
            "description": "Total VAT amount",
            "format": "double",
            "nullable": true
          },
          "Currency": {
            "type": "string",
            "description": "Invoice currency",
            "nullable": true
          },
          "InvoiceNumber": {
            "type": "string",
            "description": "Invoice Number",
            "nullable": true
          },
          "Ocr": {
            "type": "string",
            "description": "OCR",
            "nullable": true
          },
          "PaymentDate": {
            "type": "string",
            "description": "Invoice payment date",
            "format": "date-time",
            "nullable": true
          },
          "Comment": {
            "type": "string",
            "description": "Free‑form description or comment for the attachment",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AttachmentUploadApi": {
        "required": [
          "ContentType",
          "FileName"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier for the attachment",
            "format": "uuid"
          },
          "ContentType": {
            "maxLength": 15,
            "minLength": 0,
            "type": "string",
            "description": "Content type of the attachment. Allowed values: 'image/jpeg', 'image/png', 'image/tiff', 'application/pdf'"
          },
          "FileName": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": "File name of the attachment. Allowed characters are alphabetic letters, numbers and characters - _ ()"
          },
          "Data": {
            "type": "string",
            "description": "Base64 encoded byte array of the file content. Individual file size limits: Sweden 20 MB, other countries 10 MB. Total size of all attachments on a document cannot exceed 20 MB",
            "nullable": true
          },
          "Url": {
            "type": "string",
            "description": "Public URL for the attachment file. Individual file size limits: Sweden 20 MB, other countries 10 MB. Total size of all attachments on a document cannot exceed 20 MB",
            "nullable": true
          },
          "Comment": {
            "type": "string",
            "description": "Optional comment for the attachment",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AutoInvoiceAddressApi": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string",
            "description": "Name of the recipient",
            "nullable": true
          },
          "ElectronicAddress": {
            "type": "string",
            "description": "Electronic address for the recipient",
            "nullable": true
          },
          "EdiServiceDelivererId": {
            "type": "string",
            "description": "EDI service deliverer id for the recipient",
            "nullable": true
          },
          "Address1": {
            "type": "string",
            "description": "First line of the address",
            "nullable": true
          },
          "Address2": {
            "type": "string",
            "description": "Second line of the address, if applicable",
            "nullable": true
          },
          "CorporateIdentityNumber": {
            "type": "string",
            "description": "Corporate identity number of the recipient",
            "nullable": true
          },
          "CountryCode": {
            "type": "string",
            "description": "Country code of the recipient",
            "nullable": true
          },
          "City": {
            "type": "string",
            "description": "City of the recipient",
            "nullable": true
          },
          "Gln": {
            "type": "string",
            "description": "Gln of the recipient",
            "nullable": true
          },
          "PostalCode": {
            "type": "string",
            "description": "Postal code of the recipient",
            "nullable": true
          },
          "VatNumber": {
            "type": "string",
            "description": "VAT number of the recipient",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AutoInvoiceApi": {
        "type": "object",
        "properties": {
          "AutoInvoiceActivationStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unregistered,<br/>1 = Registered,<br/>2 = Activated<br/><br/>Auto invoice activation status.",
            "format": "int32",
            "readOnly": true
          },
          "AutoInvoiceB2CStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = NotActivated,<br/>1 = Pending,<br/>2 = Activated<br/><br/>Auto invoice B2C status, only for Norway and Finland.",
            "format": "int32",
            "readOnly": true
          },
          "AutoInvoiceInboundStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Deactivated,<br/>1 = Activated<br/><br/>Auto invoice inbound status.",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Auto invoice settings"
      },
      "AutoInvoiceInboundApi": {
        "type": "object",
        "properties": {
          "AutoInvoiceInboundStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Deactivated,<br/>1 = Activated<br/><br/>Auto invoice inbound status.",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "BalanceAndDateApi": {
        "type": "object",
        "properties": {
          "Balance": {
            "type": "number",
            "description": "The balance amount",
            "format": "double"
          },
          "Date": {
            "type": "string",
            "description": "The date when this balance was recorded",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "BankAccountApi": {
        "required": [
          "BankAccountType",
          "LedgerAccountNumber",
          "Name"
        ],
        "type": "object",
        "properties": {
          "Bank": {
            "type": "string",
            "description": "Bank identifier. Not required for dutch companies and bank accounts of cash or tax account type.",
            "format": "uuid",
            "nullable": true
          },
          "BankAccountType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = ChequeAccount,<br/>2 = CashAccount,<br/>3 = SavingsAccount,<br/>4 = CurrencyAccount,<br/>5 = DigitalWalletAccount,<br/>6 = CashCreditAccount,<br/>7 = TaxAccount<br/><br/>Type of bank account.",
            "format": "int32"
          },
          "BankAccountTypeDescription": {
            "type": "string",
            "description": "Description of the bank account type",
            "nullable": true,
            "readOnly": true
          },
          "Bban": {
            "maxLength": 35,
            "minLength": 0,
            "type": "string",
            "description": "Bank account number (BBAN). Not required for cash or tax account types.",
            "nullable": true
          },
          "Iban": {
            "maxLength": 35,
            "minLength": 0,
            "type": "string",
            "description": "International Bank Account Number (IBAN).",
            "nullable": true
          },
          "Name": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": "Name of the bank account."
          },
          "NameEnglish": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": "English name of the bank account.",
            "nullable": true
          },
          "Id": {
            "type": "string",
            "description": "Unique identifier provided by the system",
            "format": "uuid",
            "readOnly": true
          },
          "IsActive": {
            "type": "boolean",
            "description": "Indicates if the bank account is active"
          },
          "LedgerAccountNumber": {
            "type": "integer",
            "description": "The general ledger account number",
            "format": "int64"
          },
          "HasActiveBankAgreement": {
            "type": "boolean",
            "description": "Indicates if the bank account has an active bank agreement"
          },
          "IsDefaultChequeAccount": {
            "type": "boolean",
            "description": "Indicates if this is the default cheque account. Only used when having several cheque accounts."
          },
          "CurrencyCode": {
            "type": "string",
            "description": "Currency code for the bank account. Default value: Base currency of the company.",
            "nullable": true,
            "readOnly": true
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "Last modification timestamp in UTC",
            "format": "date-time",
            "readOnly": true
          },
          "Balance": {
            "$ref": "#/components/schemas/BalanceAndDateApi"
          },
          "BankAccountHolderName": {
            "type": "string",
            "description": "Bank account holder name. Used for dutch companies.",
            "nullable": true
          },
          "IsEnabledDirectDebit": {
            "type": "boolean",
            "description": "Indicates if the bank account is used for direct debit. Applicable for NL only. This property is ignored in PUT and POST operations.",
            "nullable": true,
            "readOnly": true
          },
          "DirectDebitCreditorId": {
            "type": "string",
            "description": "Creditor identifier from the direct debit contract. Applicable for NL only. This property is ignored in PUT and POST operations.",
            "nullable": true,
            "readOnly": true
          },
          "DirectDebitBatchBooking": {
            "type": "boolean",
            "description": "Indicates if batch booking is enabled for Direct debit. Applicable for NL only. This property is ignored in PUT and POST operations.",
            "nullable": true,
            "readOnly": true
          },
          "DirectDebitSendDirectlyToBank": {
            "type": "boolean",
            "description": "Indicates if automatic direct debit service is used. Applicable for NL only. This property is ignored in PUT and POST operations.",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "BankAccountSummary": {
        "type": "object",
        "properties": {
          "LastDayOfMonthBalance": {
            "type": "number",
            "description": "Balance on the last day of the month",
            "format": "double"
          },
          "LastDayOfMonthBalanceLastYear": {
            "type": "number",
            "description": "Balance on the last day of the same month last year",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "BankApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Bank identifier",
            "format": "uuid",
            "readOnly": true
          },
          "Name": {
            "type": "string",
            "description": "Bank name",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BankTransactionApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier of the bank transaction",
            "format": "uuid",
            "readOnly": true
          },
          "TransactionDate": {
            "type": "string",
            "description": "Date when the bank transaction occurred",
            "format": "date-time"
          },
          "IsReconciled": {
            "type": "boolean",
            "description": "True if the transaction has been matched"
          },
          "Reference": {
            "type": "string",
            "description": "Represents the invoice reference of the bank transaction",
            "nullable": true
          },
          "OriginalAmount": {
            "type": "number",
            "description": "The amount which represents the original amount of the bank transaction",
            "format": "double"
          },
          "ChargeAmount": {
            "type": "number",
            "description": "The amount which represents bank charges",
            "format": "double"
          },
          "ChargeCurrency": {
            "type": "string",
            "description": "The currency of the bank charges amount",
            "nullable": true
          },
          "TransactionAmount": {
            "type": "number",
            "description": "The total amount of the bank transaction, including bank charges",
            "format": "double"
          },
          "TransactionAmountCurrency": {
            "type": "string",
            "description": "The currency corresponding to the transaction amount",
            "nullable": true
          },
          "OriginalCurrency": {
            "type": "string",
            "description": "The currency corresponding to the original amount",
            "nullable": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BankTransactionRowApi"
            },
            "description": "Represents the accounting transactions related to the bank transaction",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "BankTransactionRowApi": {
        "type": "object",
        "properties": {
          "PaymentVoucherId": {
            "type": "string",
            "description": "Source: Get from /v2/vouchers",
            "format": "uuid",
            "nullable": true
          },
          "PaymentVoucherNumber": {
            "type": "string",
            "description": "Payment voucher number",
            "nullable": true
          },
          "AmountTransactionCurrency": {
            "type": "number",
            "description": "Amount in transaction currency",
            "format": "double"
          },
          "Number": {
            "type": "string",
            "description": "Depending on the Source property, it displays the number of the document associated to it",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "description": "Depending on the Source property, displays information like invoice customer or supplier name, or document description",
            "nullable": true
          },
          "Reference": {
            "type": "string",
            "description": "If the source is a customer or supplier invoice, it represents the OCR number of the specific invoice",
            "nullable": true
          },
          "Source": {
            "type": "string",
            "description": "The origin of the bank transaction",
            "nullable": true
          },
          "SourceId": {
            "type": "string",
            "description": "Represents the unique identifier of the Source property",
            "format": "uuid"
          },
          "VoucherId": {
            "type": "string",
            "description": "Source: Get from /v2/vouchers",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "BestArticleDetails": {
        "type": "object",
        "properties": {
          "Amount": {
            "type": "number",
            "description": "Total amount sold",
            "format": "double",
            "nullable": true
          },
          "ArticleName": {
            "type": "string",
            "description": "Name of the article",
            "nullable": true
          },
          "ArticleNumber": {
            "type": "string",
            "description": "Article number",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ChartDatasetApiOfDateTime": {
        "type": "object",
        "properties": {
          "Type": {
            "type": "integer",
            "format": "int32"
          },
          "Label": {
            "type": "string",
            "nullable": true
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChartSeriesDataPointApiOfDateTime"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ChartSeriesDataPointApiOfDateTime": {
        "type": "object",
        "properties": {
          "X": {
            "type": "string",
            "format": "date-time"
          },
          "Y": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "CollectiveCustomerInvoiceRelationToOrderApi": {
        "type": "object",
        "properties": {
          "OrderId": {
            "type": "string",
            "description": "Unique Id provided by the system for order",
            "format": "uuid"
          },
          "OrderNumber": {
            "type": "integer",
            "description": "Order document number",
            "format": "int32",
            "nullable": true
          },
          "OrderReference": {
            "type": "string",
            "description": "Buyers order reference",
            "nullable": true
          },
          "DeliveryDate": {
            "type": "string",
            "description": "Delivery date set in order document",
            "format": "date-time",
            "nullable": true
          },
          "RelatedInvoiceRows": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "List of invoice row numbers related to the order",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommonBankAccountWithIntegration": {
        "type": "object",
        "properties": {
          "BankName": {
            "type": "string",
            "nullable": true
          },
          "Bank": {
            "$ref": "#/components/schemas/CommonBankDetails"
          },
          "Iban": {
            "type": "string",
            "nullable": true
          },
          "Bban": {
            "type": "string",
            "nullable": true
          },
          "BankgiroNumber": {
            "type": "string",
            "nullable": true
          },
          "PlusgiroNumber": {
            "type": "string",
            "nullable": true
          },
          "GlAccountNumber": {
            "type": "integer",
            "format": "int64"
          },
          "BankAccountHolderName": {
            "type": "string",
            "nullable": true
          },
          "IsDefaultChequeAccount": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CommonBankDetails": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "format": "uuid"
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Bic": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommonBatchResponseApi": {
        "type": "object",
        "properties": {
          "CreatedRows": {
            "type": "integer",
            "description": "The number of rows created in the batch operation.",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "CommonCommonBatchResponseApi": {
        "type": "object",
        "properties": {
          "CreatedRows": {
            "type": "integer",
            "description": "The number of rows created in the batch operation.",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CommonCompanyMetadata": {
        "type": "object",
        "properties": {
          "CompanyName": {
            "type": "string",
            "nullable": true
          },
          "CompanySystemType": {
            "type": "string",
            "nullable": true
          },
          "Address1": {
            "type": "string",
            "nullable": true
          },
          "Address2": {
            "type": "string",
            "nullable": true
          },
          "ZipCode": {
            "type": "string",
            "nullable": true
          },
          "City": {
            "type": "string",
            "nullable": true
          },
          "PhoneNumber": {
            "type": "string",
            "nullable": true
          },
          "CurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "CorporateIdentityNumber": {
            "type": "string",
            "nullable": true
          },
          "CountryCode": {
            "type": "string",
            "nullable": true
          },
          "UseEducationStartData": {
            "type": "boolean"
          },
          "GeneralLedgerBankAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommonGeneralLedgerBankAccount"
            },
            "nullable": true
          },
          "TypeOfBusinesses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommonTypeOfBusinessItem"
            },
            "nullable": true
          },
          "VatPeriods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommonVatPeriodItem"
            },
            "nullable": true
          },
          "Banks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommonBankDetails"
            },
            "nullable": true
          },
          "BankAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommonBankAccountWithIntegration"
            },
            "nullable": true
          },
          "HasToCreate1930BankAccount": {
            "type": "boolean"
          },
          "StandardAccounts": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64",
              "nullable": true
            },
            "nullable": true
          },
          "ListedStandardAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommonStandardAccountListItem"
            },
            "nullable": true
          },
          "TemplateCompanies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommonTemplateCompany"
            },
            "nullable": true
          },
          "ProductVariant": {
            "enum": [
              1,
              2,
              3,
              4,
              5,
              6,
              8
            ],
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "Modules": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "AutoInvoiceReceiveElectronicUnitPrice": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "AutoInvoiceReceiveAttachmentUnitPrice": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommonError": {
        "type": "object",
        "properties": {
          "Field": {
            "type": "string",
            "nullable": true
          },
          "ErrorCode": {
            "type": "string",
            "nullable": true
          },
          "Message": {
            "type": "string",
            "nullable": true
          },
          "Key": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommonExtendedBadRequest": {
        "type": "object",
        "properties": {
          "ErrorCode": {
            "type": "integer",
            "format": "int32"
          },
          "DeveloperErrorMessage": {
            "type": "string",
            "nullable": true
          },
          "ErrorId": {
            "type": "string",
            "format": "uuid"
          },
          "Errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommonError"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommonGeneralLedgerBankAccount": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommonPaginationMetadata": {
        "required": [
          "CurrentPage",
          "PageSize",
          "ServerTimeUtc",
          "TotalNumberOfPages",
          "TotalNumberOfResults"
        ],
        "type": "object",
        "properties": {
          "CurrentPage": {
            "type": "integer",
            "description": "The current page number",
            "format": "int32"
          },
          "PageSize": {
            "type": "integer",
            "description": "The number of results per page",
            "format": "int32"
          },
          "TotalNumberOfPages": {
            "type": "integer",
            "description": "The total number of pages available",
            "format": "int32"
          },
          "TotalNumberOfResults": {
            "type": "integer",
            "description": "The total number of results available for the query",
            "format": "int32"
          },
          "ServerTimeUtc": {
            "type": "string",
            "description": "<strong>Possible values:</strong><br/>2017-07-21T17:32:28Z<br/><br/>The date-time notation as defined by RFC 3339, section 5.6.",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CommonStandardAccountListItem": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "Account": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommonTemplateCompany": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "format": "uuid"
          },
          "CorporateIdentityNumber": {
            "type": "string",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "TemplateDescription": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommonTypeOfBusinessItem": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "nullable": true
          },
          "NumericId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "NameEnglish": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommonVatPeriodItem": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "nullable": true
          },
          "NumericId": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "NameEnglish": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CompanyGreenTechnologySettingsApi": {
        "type": "object",
        "properties": {
          "GreenTechnologyDeductionMaxAmount": {
            "type": "number",
            "description": "Green technology deduction maximum amount",
            "format": "double",
            "readOnly": true
          },
          "SollarCellDiscountPercentage": {
            "type": "number",
            "description": "Solar cell discount percentage",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Green Technology settings"
      },
      "CompanyInfoResponseApi": {
        "type": "object",
        "properties": {
          "State": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = GuideNotCompleted,<br/>1 = GuideCompleted,<br/>2 = GuideNotCompletedUpgradeFromInvoicing,<br/>3 = GuideNotCompletedUpgradeFromBookkeeping,<br/>4 = GuideNotCompletedUpgradeFromCloudPayroll,<br/>5 = GuideNotCompletedUpgradeToCloudPayroll",
            "format": "int32"
          },
          "ProductVariant": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Standard,<br/>2 = Invoicing,<br/>3 = Bookkeeping,<br/>4 = Solo,<br/>5 = Pro,<br/>6 = InvoicingCollaboration,<br/>8 = CloudPayroll",
            "format": "int32"
          },
          "Modules": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of enabled modules for the company",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CompanyRotRutSettingsApi": {
        "type": "object",
        "properties": {
          "RutMaxAmountForPersBelow65Year": {
            "maximum": 999999,
            "minimum": 0,
            "type": "number",
            "description": "RUT maximum amount for persons below 65 years",
            "format": "double"
          },
          "RutMaxAmountForPersOver65Year": {
            "maximum": 999999,
            "minimum": 0,
            "type": "number",
            "description": "RUT maximum amount for persons over 65 years",
            "format": "double"
          },
          "RutReducedInvoicingPercent": {
            "maximum": 1,
            "minimum": 0,
            "type": "number",
            "description": "RUT reduced invoicing percentage",
            "format": "double"
          },
          "RotReducedInvoicingMaxAmount": {
            "maximum": 999999,
            "minimum": 0,
            "type": "number",
            "description": "ROT reduced invoicing maximum amount",
            "format": "double"
          },
          "RotReducedInvoicingPercent": {
            "maximum": 1,
            "minimum": 0,
            "type": "number",
            "description": "ROT reduced invoicing percentage",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "ROT/RUT settings for Swedish companies. Use PUT v2/companysettings/rotrutsettings to update in combination with UsesRotReducedInvoicing set to true"
      },
      "CompanyScanningAddressApi": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string",
            "description": "The name of the person to receive the invoice scanning",
            "nullable": true
          },
          "Address1": {
            "type": "string",
            "description": "The first line of the address",
            "nullable": true
          },
          "Address2": {
            "type": "string",
            "description": "The second line of the address",
            "nullable": true
          },
          "PostCode": {
            "type": "string",
            "description": "The postal code of the address",
            "nullable": true
          },
          "PostOffice": {
            "type": "string",
            "description": "The postal office of the address",
            "nullable": true
          },
          "Email": {
            "type": "string",
            "description": "The email of the person to receive the invoice scanning",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Electronic invoice scanning address. Only valid if autoinvoice scanning is activated otherwise null"
      },
      "CompanySettingsApi": {
        "required": [
          "Address1",
          "City",
          "CountryCode",
          "Name",
          "PostalCode"
        ],
        "type": "object",
        "properties": {
          "CompanyScanningAddress": {
            "$ref": "#/components/schemas/CompanyScanningAddressApi"
          },
          "Name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Company name."
          },
          "Email": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Company email address.",
            "nullable": true
          },
          "Phone": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Company phone number. Required for all countries except Sweden",
            "nullable": true
          },
          "MobilePhone": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Company mobile phone number.",
            "nullable": true
          },
          "Address1": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "Primary address line."
          },
          "Address2": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "Secondary address line.",
            "nullable": true
          },
          "CountryCode": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "description": "<strong>Possible values:</strong><br/>3166-1 alpha-2)<br/><br/>Country code (ISO."
          },
          "PostalCode": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "description": "Postal code."
          },
          "City": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "City name."
          },
          "Website": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Company website URL.",
            "nullable": true
          },
          "OurReference": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Default company reference.",
            "nullable": true
          },
          "CurrencyCode": {
            "type": "string",
            "description": "Currency code used by the company",
            "nullable": true,
            "readOnly": true
          },
          "TermsOfPaymentId": {
            "type": "string",
            "description": "Terms of payment identifier. Source: Get from /v2/termsofpayments",
            "format": "uuid",
            "readOnly": true
          },
          "CorporateIdentityNumber": {
            "type": "string",
            "description": "Corporate identity number",
            "nullable": true,
            "readOnly": true
          },
          "PeppolId": {
            "type": "string",
            "description": "PEPPOL participant identifiers separated by semicolons. If identifier is empty in DB, then we try to fetch it from InExchange.",
            "nullable": true,
            "readOnly": true
          },
          "VatCode": {
            "type": "string",
            "description": "VAT identification number",
            "nullable": true,
            "readOnly": true
          },
          "BankGiro": {
            "type": "string",
            "description": "Bank giro number. Only used in Sweden",
            "nullable": true
          },
          "PlusGiro": {
            "type": "string",
            "description": "Plus giro number. Only used in Sweden",
            "nullable": true
          },
          "BankAccount": {
            "type": "string",
            "description": "Company bank account number",
            "nullable": true,
            "readOnly": true
          },
          "Iban": {
            "type": "string",
            "description": "International Bank Account Number (IBAN)",
            "nullable": true,
            "readOnly": true
          },
          "AccountNumberDigits": {
            "type": "integer",
            "description": "Accountnumber",
            "format": "int32",
            "readOnly": true
          },
          "AccountingLockedTo": {
            "type": "string",
            "description": "Date until which accounting is locked",
            "format": "date-time",
            "readOnly": true
          },
          "AccountingLockInterval": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = Month,<br/>2 = Quarter,<br/>3 = Year,<br/>4 = TaxDeclaration<br/><br/>Accounting lock interval.",
            "format": "int32",
            "readOnly": true
          },
          "TaxDeclarationDate": {
            "$ref": "#/components/schemas/TaxDeclarationDateApi"
          },
          "Gln": {
            "type": "string",
            "description": "Global Location Number (GLN)",
            "nullable": true,
            "readOnly": true
          },
          "ProductVariant": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Standard,<br/>2 = Invoicing,<br/>3 = Bookkeeping,<br/>4 = Solo,<br/>5 = Pro,<br/>6 = InvoicingCollaboration<br/><br/>Product variant.",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "TypeOfBusiness": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Corporation,<br/>2 = SoleProprietorship,<br/>3 = EconomicAssociation,<br/>4 = NonProfitOrganization,<br/>5 = GeneralPartnership,<br/>6 = LimitedPartnership,<br/>7 = Cooperatives,<br/>9 = PublicLimited<br/><br/>Type of business.",
            "format": "int32",
            "readOnly": true
          },
          "VatPeriod": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = OnceAMonth12th,<br/>2 = OnceAMonth26th,<br/>3 = OnceAQuarter,<br/>4 = OnceAYear,<br/>5 = Never,<br/>6 = Bimonthly,<br/>7 = OnceAMonth,<br/>8 = TwiceAYear,<br/>9 = OnceAQuarterFloating<br/><br/>VAT reporting period.",
            "format": "int32",
            "readOnly": true
          },
          "ActivatedModules": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of activated modules for the company",
            "nullable": true,
            "readOnly": true
          },
          "CompanyText": {
            "$ref": "#/components/schemas/CompanyTextsApi"
          },
          "NextCustomerNumber": {
            "type": "integer",
            "description": "Next available customer number",
            "format": "int32",
            "readOnly": true
          },
          "NextSupplierNumber": {
            "type": "integer",
            "description": "Next available supplier number",
            "format": "int32",
            "readOnly": true
          },
          "NextCustomerInvoiceNumber": {
            "type": "integer",
            "description": "Next available customer invoice number",
            "format": "int32",
            "readOnly": true
          },
          "NextQuoteNumber": {
            "type": "integer",
            "description": "Next available quote number",
            "format": "int32",
            "readOnly": true
          },
          "NextOrderNumber": {
            "type": "integer",
            "description": "Next available order number",
            "format": "int32",
            "readOnly": true
          },
          "NextArticleNumber": {
            "type": "integer",
            "description": "Next available article number",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "ShowPricesExclVatPC": {
            "type": "boolean",
            "description": "Show prices excluding VAT for private individuals",
            "readOnly": true
          },
          "ShowContributionMargin": {
            "type": "boolean",
            "description": "Show contribution margin",
            "readOnly": true
          },
          "HasProportionalVatEnabled": {
            "type": "boolean",
            "description": "Whether proportional VAT is enabled",
            "readOnly": true
          },
          "ProportionalVatValue": {
            "type": "integer",
            "description": "Proportional VAT percentage value",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "IsPayslipActivated": {
            "type": "boolean",
            "description": "Whether payslip functionality is activated",
            "nullable": true,
            "readOnly": true
          },
          "UsesCostCenter": {
            "type": "boolean",
            "description": "Whether cost centers are used",
            "readOnly": true
          },
          "UsesProject": {
            "type": "boolean",
            "description": "Whether projects are used",
            "readOnly": true
          },
          "UsesMoss": {
            "type": "boolean",
            "description": "Whether MOSS (Mini One Stop Shop) is used"
          },
          "UsesPaymentReferenceNumber": {
            "type": "boolean",
            "description": "Show OCR/KID reference number on invoice"
          },
          "UsesSupplierInvoiceEdit": {
            "type": "boolean",
            "description": "Allow editing of purchase invoices",
            "nullable": true
          },
          "UseAdvancedMode": {
            "type": "boolean",
            "description": "Show debit and credit on purchase invoices",
            "nullable": true
          },
          "DomesticCurrencyRounding": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = HalfAwayFromZero<br/><br/>Domestic currency rounding type.",
            "format": "int32",
            "readOnly": true
          },
          "AutoInvoice": {
            "$ref": "#/components/schemas/AutoInvoiceApi"
          },
          "ApprovalSettings": {
            "$ref": "#/components/schemas/ApprovalSettingsApi"
          },
          "UsesReverseConstructionVat": {
            "type": "boolean",
            "description": "Whether VAT reverse charge rules apply for construction sector"
          },
          "UsesRotReducedInvoicing": {
            "type": "boolean",
            "description": "Whether ROT/RUT reduced invoicing is used. Only for Swedish companies"
          },
          "CompanyRotRutSettings": {
            "$ref": "#/components/schemas/CompanyRotRutSettingsApi"
          },
          "CompanyStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Inactive,<br/>1 = Active,<br/>2 = ReadOnly<br/><br/>Company status.",
            "format": "int32",
            "readOnly": true
          },
          "CompanyIdentifier": {
            "type": "string",
            "description": "Unique company identifier",
            "nullable": true,
            "readOnly": true
          },
          "BankgiroNumberPrint": {
            "type": "string",
            "description": "Alternative bank giro number for sales invoice printouts",
            "nullable": true
          },
          "KeepOriginalDraftDate": {
            "type": "boolean",
            "description": "Keep original draft date as invoice date. Default: false",
            "nullable": true
          },
          "UsePaymentFilesForOutgoingPayments": {
            "type": "boolean",
            "description": "Use payment files for outgoing payments"
          },
          "UseAutomaticVatCalculation": {
            "type": "boolean",
            "description": "Use automatic VAT calculation. Used for SE, NO, FI. When set to true, vat rows are added (when creating a voucher for example), if the account used relates to.",
            "nullable": true
          },
          "ShowCostCenterReminder": {
            "type": "boolean",
            "description": "Show cost center reminder when creating invoices",
            "readOnly": true
          },
          "ShowProjectReminder": {
            "type": "boolean",
            "description": "Show project reminder when creating invoices",
            "readOnly": true
          },
          "UsesGreenTechnology": {
            "type": "boolean",
            "description": "<strong>Possible values:</strong><br/>True = company uses Green Technology functionality<br/>False = company does not use Green Technology functionality",
            "readOnly": true
          },
          "CompanyGreenTechnologySettings": {
            "$ref": "#/components/schemas/CompanyGreenTechnologySettingsApi"
          },
          "UsesVatTriangulationRules": {
            "type": "boolean",
            "description": "Use VAT triangulation rules for EU transactions"
          },
          "Swish": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Swish payment number.",
            "nullable": true
          },
          "CompanyEmailForUpload": {
            "type": "string",
            "description": "Company email for source document upload. Only valid if email upload is activated",
            "nullable": true,
            "readOnly": true
          },
          "VismaWebshopStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = Enabled,<br/>2 = Disabled,<br/>3 = Requested<br/><br/>Visma Webshop synchronization status.",
            "format": "int32",
            "readOnly": true
          },
          "UsesTransactionText": {
            "type": "boolean",
            "description": "Use transaction text for narration",
            "readOnly": true
          },
          "FirstPaymentReminderWithoutFee": {
            "type": "boolean",
            "description": "First payment reminder without fee. Set to null to skip updating",
            "nullable": true
          },
          "LatePaymentFee": {
            "maximum": 99999,
            "minimum": 0,
            "type": "number",
            "description": "<strong>Possible values:</strong><br/>0-99999)<br/><br/>Late payment fee (. Set to null to skip updating.",
            "format": "double",
            "nullable": true
          },
          "DefaultBackgroundId": {
            "type": "string",
            "description": "Default background ID for sales documents. Source: Get from /v2/backgrounds",
            "format": "uuid",
            "nullable": true
          },
          "InvoicePrintSettingsType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = CompanyNameAndFooter,<br/>2 = LogotypeAndFooter,<br/>3 = InvoiceBackground<br/><br/>Type of background that is used for PDF sales documents.",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CompanySettingsExtendedApi": {
        "required": [
          "Address1",
          "BankId",
          "Bban",
          "City",
          "CorporateIdentityNumber",
          "FiscalYears",
          "GLAccount",
          "Name",
          "PostalCode"
        ],
        "type": "object",
        "properties": {
          "Name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Company name."
          },
          "Email": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Company email address.",
            "nullable": true
          },
          "Phone": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Company phone number. Required for all countries except Sweden",
            "nullable": true
          },
          "MobilePhone": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Company mobile phone number.",
            "nullable": true
          },
          "Address1": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "Primary address line."
          },
          "Address2": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "Secondary address line.",
            "nullable": true
          },
          "PostalCode": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "description": "Postal code."
          },
          "City": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "City name."
          },
          "Website": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Company website URL.",
            "nullable": true
          },
          "OurReference": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Default company reference.",
            "nullable": true
          },
          "TermsOfPaymentId": {
            "type": "string",
            "description": "Terms of payment identifier. Source: Get from /v2/termsofpayments",
            "format": "uuid"
          },
          "CorporateIdentityNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Corporate identity number"
          },
          "VatCode": {
            "type": "string",
            "description": "VAT identification number",
            "nullable": true
          },
          "BankGiro": {
            "type": "string",
            "description": "Bank giro number. Only used in Sweden",
            "nullable": true
          },
          "PlusGiro": {
            "type": "string",
            "description": "Plus giro number. Only used in Sweden",
            "nullable": true
          },
          "BankId": {
            "type": "string",
            "description": "Bank identifier",
            "format": "uuid"
          },
          "Bban": {
            "minLength": 1,
            "type": "string",
            "description": "Basic Bank Account Number (BBAN)"
          },
          "BankAccountHolderName": {
            "type": "string",
            "description": "Bank account holder name",
            "nullable": true
          },
          "Iban": {
            "type": "string",
            "description": "International Bank Account Number (IBAN)",
            "nullable": true
          },
          "GLAccount": {
            "type": "integer",
            "description": "General Ledger account for invoices",
            "format": "int64"
          },
          "AccountingLockInterval": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = Month,<br/>2 = Quarter,<br/>3 = Year,<br/>4 = TaxDeclaration<br/><br/>Accounting lock interval.",
            "format": "int32"
          },
          "TaxDeclarationDate": {
            "$ref": "#/components/schemas/TaxDeclarationDateApi"
          },
          "TypeOfBusiness": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Corporation,<br/>2 = SoleProprietorship,<br/>3 = EconomicAssociation,<br/>4 = NonProfitOrganization,<br/>5 = GeneralPartnership,<br/>6 = LimitedPartnership,<br/>7 = Cooperatives,<br/>9 = PublicLimited<br/><br/>Type of business.",
            "format": "int32"
          },
          "VatPeriod": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = OnceAMonth12th,<br/>2 = OnceAMonth26th,<br/>3 = OnceAQuarter,<br/>4 = OnceAYear,<br/>5 = Never,<br/>6 = Bimonthly,<br/>7 = OnceAMonth,<br/>8 = TwiceAYear,<br/>9 = OnceAQuarterFloating<br/><br/>VAT reporting period.",
            "format": "int32"
          },
          "FiscalYears": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FiscalYearApi"
            },
            "description": "Fiscal years that will be created for the company"
          },
          "NextCustomerInvoiceNumber": {
            "type": "integer",
            "description": "Next customer invoice number",
            "format": "int32"
          },
          "NextQuoteNumber": {
            "type": "integer",
            "description": "Next quote number",
            "format": "int32"
          },
          "NextOrderNumber": {
            "type": "integer",
            "description": "Next order number",
            "format": "int32"
          },
          "ShowPricesExclVatPC": {
            "type": "boolean",
            "description": "Show prices excluding VAT for private individuals"
          },
          "UsesCostCenter": {
            "type": "boolean",
            "description": "Whether the company uses cost centers (resultatenhet)"
          },
          "UsesProject": {
            "type": "boolean",
            "description": "Whether the company uses projects"
          },
          "UsesUnit": {
            "type": "boolean",
            "description": "Whether the company uses units"
          },
          "UsesQuantity": {
            "type": "boolean",
            "description": "Whether the company uses quantity"
          },
          "UsesPrice": {
            "type": "boolean",
            "description": "Whether the company uses price"
          },
          "AutoInvoice": {
            "$ref": "#/components/schemas/AutoInvoiceApi"
          },
          "UsesReverseConstructionVat": {
            "type": "boolean",
            "description": "Whether VAT reverse charge rules apply for construction sector"
          },
          "UsesRotReducedInvoicing": {
            "type": "boolean",
            "description": "Whether ROT/RUT reduced invoicing is used. Only for Swedish companies"
          },
          "CompanyRotRutSettings": {
            "$ref": "#/components/schemas/CompanyRotRutSettingsApi"
          },
          "CompanyStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Inactive,<br/>1 = Active,<br/>2 = ReadOnly<br/><br/>Company status.",
            "format": "int32"
          },
          "HasFTaxCard": {
            "type": "boolean",
            "description": "Whether the company has F-tax card"
          },
          "UsesGreenTechnology": {
            "type": "boolean",
            "description": "<strong>Possible values:</strong><br/>True = Green Technology is activated for the company<br/>False = Green Technology is Not activated for the company"
          },
          "GreenTechnologyDeductionMaxAmount": {
            "type": "number",
            "description": "Maximum green technology deduction amount",
            "format": "double"
          },
          "SollarCellDiscountPercentage": {
            "type": "number",
            "description": "Percentage of deduction for solar cell installation",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "CompanySettingsMobileOnlyApi": {
        "type": "object",
        "properties": {
          "ShowOrder": {
            "type": "boolean",
            "description": "Show Orders in the menu",
            "readOnly": true
          },
          "ShowQuote": {
            "type": "boolean",
            "description": "Show Quotes in the menu",
            "readOnly": true
          },
          "EmailSubjects": {
            "$ref": "#/components/schemas/EmailSubjectsApi"
          },
          "CompanySystemType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Normal,<br/>1 = Demo,<br/>2 = Education,<br/>3 = Prospect,<br/>4 = YoungEntrepreneur,<br/>5 = Trial,<br/>6 = TrialDemo,<br/>7 = Invited,<br/>8 = TrialProspect,<br/>9 = Sandbox,<br/>10 = NewTrial<br/><br/>Company system type.",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CompanyTextsApi": {
        "type": "object",
        "properties": {
          "CustomerInvoiceTextDomestic": {
            "maxLength": 400,
            "minLength": 0,
            "type": "string",
            "description": "Customer invoice text for domestic customers.",
            "nullable": true
          },
          "CustomerInvoiceTextForeign": {
            "maxLength": 400,
            "minLength": 0,
            "type": "string",
            "description": "Customer invoice text for foreign customers.",
            "nullable": true
          },
          "OrderTextDomestic": {
            "maxLength": 400,
            "minLength": 0,
            "type": "string",
            "description": "Order text for domestic customers.",
            "nullable": true
          },
          "OrderTextForeign": {
            "maxLength": 400,
            "minLength": 0,
            "type": "string",
            "description": "Order text for foreign customers.",
            "nullable": true
          },
          "OverDueTextDomestic": {
            "maxLength": 400,
            "minLength": 0,
            "type": "string",
            "description": "Overdue text for domestic customers.",
            "nullable": true
          },
          "OverDueTextForeign": {
            "maxLength": 400,
            "minLength": 0,
            "type": "string",
            "description": "Overdue text for foreign customers.",
            "nullable": true
          },
          "QuoteEmailDomestic": {
            "maxLength": 2048,
            "minLength": 0,
            "type": "string",
            "description": "Quote email text for domestic customers.",
            "nullable": true
          },
          "QuoteEmailForeign": {
            "maxLength": 2048,
            "minLength": 0,
            "type": "string",
            "description": "Quote email text for foreign customers.",
            "nullable": true
          },
          "InvoiceEmailDomestic": {
            "maxLength": 2048,
            "minLength": 0,
            "type": "string",
            "description": "Invoice email text for domestic customers.",
            "nullable": true
          },
          "InvoiceEmailForeign": {
            "maxLength": 2048,
            "minLength": 0,
            "type": "string",
            "description": "Invoice email text for foreign customers.",
            "nullable": true
          },
          "OrderEmailDomestic": {
            "maxLength": 2048,
            "minLength": 0,
            "type": "string",
            "description": "Order email text for domestic customers.",
            "nullable": true
          },
          "OrderEmailForeign": {
            "maxLength": 2048,
            "minLength": 0,
            "type": "string",
            "description": "Order email text for foreign customers.",
            "nullable": true
          },
          "PurchaseOrderEmailDomestic": {
            "maxLength": 2048,
            "minLength": 0,
            "type": "string",
            "description": "Purchase order email text for domestic suppliers.",
            "nullable": true
          },
          "PurchaseOrderEmailForeign": {
            "maxLength": 2048,
            "minLength": 0,
            "type": "string",
            "description": "Purchase order email text for foreign suppliers.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Company additional text information"
      },
      "ContributionMarginApi": {
        "type": "object",
        "properties": {
          "Amount": {
            "type": "number",
            "description": "Amount of contribution margin",
            "format": "double",
            "nullable": true
          },
          "Percentage": {
            "type": "number",
            "description": "Percentage of contribution margin",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CostCenterApi": {
        "required": [
          "Name"
        ],
        "type": "object",
        "properties": {
          "Name": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "The name of the cost center. Maximum 20 characters."
          },
          "Number": {
            "type": "integer",
            "description": "The unique number assigned to the cost center by eAccounting (read-only).",
            "format": "int32",
            "readOnly": true
          },
          "IsActive": {
            "type": "boolean",
            "description": "Indicates whether the cost center is active or inactive."
          },
          "Items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CostCenterItemApi"
            },
            "description": "Collection of cost center items associated with this cost center.",
            "nullable": true,
            "readOnly": true
          },
          "Id": {
            "type": "string",
            "description": "The unique identifier assigned by eAccounting (read-only).",
            "format": "uuid",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CostCenterItemApi": {
        "required": [
          "CostCenterId",
          "IsActive",
          "Name",
          "ShortName"
        ],
        "type": "object",
        "properties": {
          "CostCenterId": {
            "type": "string",
            "description": "The unique identifier of the cost center this item belongs to. Get from /v2/costcenters endpoint.",
            "format": "uuid"
          },
          "Id": {
            "type": "string",
            "description": "The unique identifier assigned by eAccounting (read-only).",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "Name": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "The name of the cost center item. Maximum 50 characters."
          },
          "ShortName": {
            "maxLength": 9,
            "minLength": 0,
            "type": "string",
            "description": "The short name or code for the cost center item. Maximum 9 characters."
          },
          "IsActive": {
            "type": "boolean",
            "description": "Indicates whether the cost center item is active or inactive."
          },
          "CreatedUtc": {
            "type": "string",
            "description": "The UTC timestamp when this cost center item was created (read-only).",
            "format": "date-time",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CostRevenueSummaryApi": {
        "type": "object",
        "properties": {
          "FiscalYearId": {
            "type": "string",
            "description": "Fiscal year ID",
            "format": "uuid"
          },
          "Result": {
            "type": "number",
            "description": "Revenues - Costs",
            "format": "double"
          },
          "Revenues": {
            "type": "number",
            "description": "The sum of total amount of all sales documents in domestic company currency",
            "format": "double"
          },
          "Costs": {
            "type": "number",
            "description": "Total amount of all purchase documents in domestic company currency",
            "format": "double"
          },
          "StartDate": {
            "type": "string",
            "description": "Fiscal year start date in yyyy-MM-dd format",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "description": "Fiscal year end date in yyyy-MM-dd format",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CountryApi": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string",
            "description": "The localized name of the country",
            "nullable": true
          },
          "NameEnglish": {
            "type": "string",
            "description": "The English name of the country",
            "nullable": true
          },
          "Code": {
            "type": "string",
            "description": "<strong>Possible values:</strong><br/>3166-1 alpha-2)<br/><br/>The two letter country code (ISO.",
            "nullable": true
          },
          "IsEuMember": {
            "type": "boolean",
            "description": "Indicates whether the country is a member of the European Union"
          }
        },
        "additionalProperties": false
      },
      "CreateAgreementRequestApi": {
        "required": [
          "CompanyLegalName",
          "DisplayName",
          "GeneralEmail"
        ],
        "type": "object",
        "properties": {
          "DisplayName": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "Company display name. Max length 40 characters"
          },
          "GeneralEmail": {
            "maxLength": 80,
            "minLength": 0,
            "type": "string",
            "description": "Company's email address. Max length 80 characters",
            "format": "email"
          },
          "CompanyLegalName": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "Company legal name (registered with Bolagsverket). Max length 40 characters"
          },
          "PubAgreement": {
            "type": "boolean",
            "description": "Personal Data Processing Agreement. As the controller of personal data for the above company, I have read and consent to Kivra's https://kivra.se/om-oss/om-kivra/villkor/personuppgiftsbitradesavtal-for-avsandare"
          },
          "TermsAndConditions": {
            "type": "boolean",
            "description": "Kivra's terms and conditions. I have read and consent to https://kivra.se/om-oss/om-kivra/villkor/allmanna-villkor-for-formedlingstjansten"
          }
        },
        "additionalProperties": false
      },
      "CreateAmiliCaseMobileOnlyApi": {
        "type": "object",
        "properties": {
          "AmiliCaseId": {
            "type": "string",
            "description": "The case id in Amili",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CreditedByApi": {
        "type": "object",
        "properties": {
          "CreditInvoiceId": {
            "type": "string",
            "description": "The Id of the customer invoice",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "CurrencyApi": {
        "type": "object",
        "properties": {
          "Code": {
            "type": "string",
            "description": "Currency code",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomerApi": {
        "required": [
          "InvoiceCity",
          "InvoicePostalCode",
          "IsActive",
          "IsPrivatePerson",
          "Name",
          "TermsOfPaymentId"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system",
            "format": "uuid",
            "readOnly": true
          },
          "InvoiceCity": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string"
          },
          "InvoicePostalCode": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string"
          },
          "GLN": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "NOTE: Obsolete. Please use EdiGlnNumber instead",
            "nullable": true
          },
          "EmailAddressOrder": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "This is a default email address for sending orders.",
            "nullable": true
          },
          "EmailAddressQuote": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "This is a default email address for sending quotes.",
            "nullable": true
          },
          "PayToAccountId": {
            "type": "string",
            "description": "The account Id on which payments are registered",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "TermsOfPayment": {
            "$ref": "#/components/schemas/TermsOfPaymentApi"
          },
          "LastInvoiceDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "TaxDeductionNumber": {
            "type": "string",
            "nullable": true
          },
          "PropertyType": {
            "maximum": 2,
            "minimum": 1,
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Apartment,<br/>2 = Property<br/><br/>Possible values are.",
            "format": "int32",
            "nullable": true
          },
          "PropertyReference": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ChangedUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "CustomerLabels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerLabelApi"
            },
            "nullable": true
          },
          "MessageThreads": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Fetch messages via GET /v2/messagethreads/{messageThreadId}",
            "nullable": true,
            "readOnly": true
          },
          "Notes": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Fetch notes via GET /v2/notes/{noteId}",
            "nullable": true,
            "readOnly": true
          },
          "IsFutureInvoiceDateAllowed": {
            "type": "boolean",
            "description": "Future dates on invoices are allowed based on terms of payments and invoice currency code settings",
            "readOnly": true
          },
          "Iban": {
            "maxLength": 35,
            "minLength": 0,
            "type": "string",
            "description": "Customer's bank account IBAN (manual entry). Default value is existing database value (PUT) or empty string (POST)",
            "nullable": true
          },
          "IsDirectDebitEnabled": {
            "type": "boolean",
            "description": "Setting for Direct Debit payments. Default value is existing database value (PUT) or empty string (POST)",
            "nullable": true
          },
          "DirectDebitCustomerSettings": {
            "$ref": "#/components/schemas/DirectDebitCustomerSettingsApi"
          },
          "DiscountAgreementId": {
            "type": "string",
            "description": "The discount agreement id that is connected to the customer. It will be used only for Pro variant companies",
            "format": "uuid",
            "nullable": true
          },
          "UnpaidInvoicesAmount": {
            "type": "number",
            "description": "The total amount of unpaid invoices for the customer.",
            "format": "double",
            "readOnly": true
          },
          "CustomerNumber": {
            "maxLength": 16,
            "minLength": 0,
            "type": "string",
            "description": "Unique identifier, if not provided, the system will provide one. For batch POST requests it is mandatory.",
            "nullable": true
          },
          "CorporateIdentityNumber": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ContactPersonEmail": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ContactPersonMobile": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ContactPersonName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ContactPersonPhone": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "CurrencyCode": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string",
            "description": "Default value: Currency of the user company",
            "nullable": true
          },
          "EmailAddress": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "This is a default email address for sending customer invoices.",
            "nullable": true
          },
          "InvoiceAddress1": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "InvoiceAddress2": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "InvoiceCountryCode": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "description": "When setting a VAT number this should be filled in as well.",
            "nullable": true
          },
          "DeliveryAddress1": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "DeliveryAddress2": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "DeliveryCity": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "DeliveryCountryCode": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "description": "Only used if invoice country code differs from delivery country code",
            "nullable": true
          },
          "DeliveryPostalCode": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "description": "If DeliveryBasedVat is set to true this should be filled in as well",
            "nullable": true
          },
          "DeliveryCustomerName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "DeliveryMethodId": {
            "type": "string",
            "description": "Source: Get from /v2/deliverymethods",
            "format": "uuid",
            "nullable": true
          },
          "DeliveryTermId": {
            "type": "string",
            "description": "Source: Get from /v2/deliveryterms",
            "format": "uuid",
            "nullable": true
          },
          "Name": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string"
          },
          "Note": {
            "maxLength": 4000,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ReverseChargeOnConstructionServices": {
            "type": "boolean",
            "description": "Default: false. If true, VatNumber must be set aswell"
          },
          "WebshopCustomerNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "MobilePhone": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "Telephone": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "TermsOfPaymentId": {
            "type": "string",
            "description": "Source: Get from /v2/termsofpayment",
            "format": "uuid"
          },
          "VatNumber": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "<strong>Possible values:</strong><br/>8-12 numbers and letters<br/><br/>Format: 2 character country code followed by.",
            "nullable": true
          },
          "WwwAddress": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "IsPrivatePerson": {
            "type": "boolean"
          },
          "IsNorthernIreland": {
            "type": "boolean",
            "nullable": true
          },
          "DiscountPercentage": {
            "maximum": 1,
            "minimum": 0,
            "type": "number",
            "description": "Format: 4 decimals",
            "format": "double"
          },
          "IsActive": {
            "type": "boolean"
          },
          "ForceBookkeepVat": {
            "type": "boolean",
            "description": "Include VAT on invoices for non-EU customer. It cannot be true if InvoiceCountryCode belongs to a country inside EU"
          },
          "EdiGlnNumber": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "SalesDocumentLanguage": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ElectronicAddress": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ElectronicReference": {
            "maxLength": 35,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "EdiServiceDelivererId": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "AutoInvoiceActivationEmailSentDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "AutoInvoiceRegistrationRequestSentDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "EmailAddresses": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A maximum of 5 email addresses can be provided. This field is for CC emails and requires primary email address to be set in EmailAddress property.",
            "nullable": true
          },
          "DeliveryBasedVat": {
            "type": "boolean",
            "description": "Option to set the delivery address as the base for vat and oss calculations. Delivery city, country code and postal code must be set as well"
          },
          "SalesPriceListId": {
            "type": "string",
            "description": "The sales price list id that is connected to the customer. It will be used only for Pro variant companies",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomerBatchApi": {
        "required": [
          "IsActive",
          "IsPrivatePerson",
          "Name",
          "TermsOfPaymentId"
        ],
        "type": "object",
        "properties": {
          "CustomerNumber": {
            "maxLength": 16,
            "minLength": 0,
            "type": "string",
            "description": "Unique identifier, if not provided, the system will provide one. For batch POST requests it is mandatory.",
            "nullable": true
          },
          "CorporateIdentityNumber": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ContactPersonEmail": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ContactPersonMobile": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ContactPersonName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ContactPersonPhone": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "CurrencyCode": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string",
            "description": "Default value: Currency of the user company",
            "nullable": true
          },
          "EmailAddress": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "This is a default email address for sending customer invoices.",
            "nullable": true
          },
          "InvoiceAddress1": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "InvoiceAddress2": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "InvoiceCity": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "InvoiceCountryCode": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "description": "When setting a VAT number this should be filled in as well.",
            "nullable": true
          },
          "InvoicePostalCode": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "DeliveryAddress1": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "DeliveryAddress2": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "DeliveryCity": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "DeliveryCountryCode": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "description": "Only used if invoice country code differs from delivery country code",
            "nullable": true
          },
          "DeliveryPostalCode": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "description": "If DeliveryBasedVat is set to true this should be filled in as well",
            "nullable": true
          },
          "DeliveryCustomerName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "DeliveryMethodId": {
            "type": "string",
            "description": "Source: Get from /v2/deliverymethods",
            "format": "uuid",
            "nullable": true
          },
          "DeliveryTermId": {
            "type": "string",
            "description": "Source: Get from /v2/deliveryterms",
            "format": "uuid",
            "nullable": true
          },
          "Name": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string"
          },
          "Note": {
            "maxLength": 4000,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ReverseChargeOnConstructionServices": {
            "type": "boolean",
            "description": "Default: false. If true, VatNumber must be set aswell"
          },
          "WebshopCustomerNumber": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "MobilePhone": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "Telephone": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "TermsOfPaymentId": {
            "type": "string",
            "description": "Source: Get from /v2/termsofpayment",
            "format": "uuid"
          },
          "VatNumber": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "<strong>Possible values:</strong><br/>8-12 numbers and letters<br/><br/>Format: 2 character country code followed by.",
            "nullable": true
          },
          "WwwAddress": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "IsPrivatePerson": {
            "type": "boolean"
          },
          "IsNorthernIreland": {
            "type": "boolean",
            "nullable": true
          },
          "DiscountPercentage": {
            "maximum": 1,
            "minimum": 0,
            "type": "number",
            "description": "Format: 4 decimals",
            "format": "double"
          },
          "IsActive": {
            "type": "boolean"
          },
          "ForceBookkeepVat": {
            "type": "boolean",
            "description": "Include VAT on invoices for non-EU customer. It cannot be true if InvoiceCountryCode belongs to a country inside EU"
          },
          "EdiGlnNumber": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "SalesDocumentLanguage": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ElectronicAddress": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ElectronicReference": {
            "maxLength": 35,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "EdiServiceDelivererId": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "AutoInvoiceActivationEmailSentDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "AutoInvoiceRegistrationRequestSentDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "EmailAddresses": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A maximum of 5 email addresses can be provided. This field is for CC emails and requires primary email address to be set in EmailAddress property.",
            "nullable": true
          },
          "DeliveryBasedVat": {
            "type": "boolean",
            "description": "Option to set the delivery address as the base for vat and oss calculations. Delivery city, country code and postal code must be set as well"
          },
          "SalesPriceListId": {
            "type": "string",
            "description": "The sales price list id that is connected to the customer. It will be used only for Pro variant companies",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomerInvoiceApi": {
        "required": [
          "CustomerId",
          "EuThirdParty",
          "RotReducedInvoicingType",
          "Rows"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system",
            "format": "uuid",
            "readOnly": true
          },
          "EuThirdParty": {
            "type": "boolean",
            "description": "Default is false. True only if EU intermediary, VAT triangulation rules apply. Only if EU company is invoicing to a company from a different EU country, may set to True if desired."
          },
          "IsCreditInvoice": {
            "type": "boolean"
          },
          "CurrencyCode": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "CurrencyRate": {
            "type": "number",
            "description": "Default: Automatic calculation of the currency rate. Enter this value to provide a custom rate",
            "format": "double",
            "nullable": true
          },
          "CreatedByUserId": {
            "type": "string",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "TotalAmount": {
            "type": "number",
            "description": "Total amount on this invoice expressed in base currency",
            "format": "double",
            "readOnly": true
          },
          "TotalVatAmount": {
            "type": "number",
            "description": "Total VAT amount on this invoice expressed in base currency",
            "format": "double",
            "readOnly": true
          },
          "TotalRoundings": {
            "type": "number",
            "description": "Total roundings amount on this invoice expressed in base currency",
            "format": "double",
            "readOnly": true
          },
          "TotalAmountInvoiceCurrency": {
            "type": "number",
            "description": "Total amount on this invoice expressed in the invoice currecy",
            "format": "double",
            "readOnly": true
          },
          "TotalVatAmountInvoiceCurrency": {
            "type": "number",
            "description": "Total VAT amount on this invoice expressed in the invoice currency",
            "format": "double",
            "readOnly": true
          },
          "SetOffAmountInvoiceCurrency": {
            "type": "number",
            "description": "Total credited amount on this invoice expressed in the invoice currency",
            "format": "double",
            "readOnly": true
          },
          "CustomerId": {
            "type": "string",
            "format": "uuid"
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerInvoiceRowApi"
            }
          },
          "VatSpecification": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerInvoiceVatApi"
            },
            "description": "Contains a summary of amounts for each VAT rate",
            "nullable": true,
            "readOnly": true
          },
          "InvoiceDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "DueDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "DeliveryDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "RotReducedInvoicingType": {
            "maximum": 2,
            "minimum": 0,
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Normal,<br/>1 = Rot,<br/>2 = Rut",
            "format": "int32"
          },
          "MaxAllowedTaxReductionAmount": {
            "type": "number",
            "description": "Default: maximum allowed tax reduction amount",
            "format": "double",
            "readOnly": true
          },
          "RotReducedInvoicingAmount": {
            "type": "number",
            "description": "Default is automatic tax reduction calculation. Used for the manual input of the deducted tax reduction",
            "format": "double",
            "nullable": true
          },
          "RotReducedInvoicingPercent": {
            "type": "number",
            "description": "Format: 4 decimals",
            "format": "double",
            "readOnly": true
          },
          "RotReducedInvoicingPropertyName": {
            "type": "string",
            "description": "Used for providing a custom name. Is required when RotPropertyType or UsesGreenTechnology is set",
            "nullable": true
          },
          "RotReducedInvoicingOrgNumber": {
            "maxLength": 11,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "Persons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDocumentRotRutReductionPersonApi"
            },
            "description": "Purpose: Required for ROT, RUT or Green Technology invoices only",
            "nullable": true
          },
          "RotReducedInvoicingAutomaticDistribution": {
            "type": "boolean",
            "readOnly": true
          },
          "ElectronicReference": {
            "type": "string",
            "description": "Optional reference for sending invoices electronically",
            "nullable": true
          },
          "SubscriptionNumber": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ContractNumber": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ElectronicAddress": {
            "type": "string",
            "description": "Electronic address for sending invoices electronically",
            "nullable": true,
            "readOnly": true
          },
          "EdiServiceDelivererId": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "OurReference": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "YourReference": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "BuyersOrderReference": {
            "maxLength": 35,
            "minLength": 0,
            "type": "string",
            "description": "Used when sending electronic invoices. Can be null or empty",
            "nullable": true
          },
          "InvoiceCustomerName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "InvoiceAddress1": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "If the value is null it will be filled with the value from the customer",
            "nullable": true
          },
          "InvoiceAddress2": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "If the value is null it will be filled with the value from the customer",
            "nullable": true
          },
          "InvoicePostalCode": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Default value is the value from the selected customer",
            "nullable": true
          },
          "InvoiceCity": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Default value is the value from the selected customer",
            "nullable": true
          },
          "InvoiceCountryCode": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "description": "Default value is the value from the selected customer",
            "nullable": true
          },
          "DeliveryCustomerName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true
          },
          "DeliveryAddress1": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true
          },
          "DeliveryAddress2": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true
          },
          "DeliveryPostalCode": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true
          },
          "DeliveryCity": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true
          },
          "DeliveryCountryCode": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "DeliveryMethodName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "DeliveryTermName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "DeliveryMethodCode": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "DeliveryTermCode": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "CustomerIsPrivatePerson": {
            "type": "boolean",
            "description": "True if the customer of this invoice is a private individual, false otherwise",
            "readOnly": true
          },
          "TermsOfPaymentId": {
            "type": "string",
            "description": "Specify a different terms of payment for the invoice. If not filled customer's terms of payment will be used",
            "format": "uuid"
          },
          "CustomerEmail": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "InvoiceNumber": {
            "type": "integer",
            "format": "int32",
            "readOnly": true
          },
          "CustomerNumber": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "CustomerName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "PaymentReferenceNumber": {
            "type": "string",
            "description": "Empty if UsesPaymentReferenceNumber not activated on the company. Use /v2/companysettings",
            "nullable": true,
            "readOnly": true
          },
          "RotPropertyType": {
            "maximum": 2,
            "minimum": 1,
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Apartment,<br/>2 = Property<br/><br/>Leave blank or set to null if you do not intend to use ROT or Green Technology functionality.",
            "format": "int32",
            "nullable": true
          },
          "SalesDocumentAttachments": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Attachments for the customer invoice. Use POST /v2/salesdocumentattachments/customerinvoice to upload attachments.",
            "nullable": true,
            "readOnly": true
          },
          "MessageThreads": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Fetch messages via GET /v2/messagethreads/{messageThreadId}",
            "nullable": true,
            "readOnly": true
          },
          "Notes": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Fetch notes via GET /v2/notes/{noteId}",
            "nullable": true,
            "readOnly": true
          },
          "HasAutoInvoiceError": {
            "type": "boolean",
            "description": "True if there was an error when trying to send the invoice via AutoInvoice, false otherwise",
            "readOnly": true
          },
          "IsNotDelivered": {
            "type": "boolean",
            "description": "True if sending by email has failed, false otherwise",
            "readOnly": true
          },
          "ReverseChargeOnConstructionServices": {
            "type": "boolean",
            "description": "True if this invoice contains reverse charge on construction services. False otherwise",
            "readOnly": true
          },
          "WorkHouseOtherCosts": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "RemainingAmount": {
            "type": "number",
            "description": "Remaining amount to be paid on the invoice expressed in base currency",
            "format": "double",
            "readOnly": true
          },
          "RemainingAmountInvoiceCurrency": {
            "type": "number",
            "description": "Remaining amount to be paid on the invoice expressed in invoice currency",
            "format": "double",
            "readOnly": true
          },
          "ReferringInvoiceId": {
            "type": "string",
            "description": "Id of the invoice that serves as source for this invoice",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "CreatedFromOrderId": {
            "type": "string",
            "description": "Id of the order this invoice was created from, if the invoice was created by converting an order",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "CreatedFromQuoteId": {
            "type": "string",
            "description": "Id of the quote this invoice was created from, if the invoice was created by converting a quote",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "CreatedFromDraftId": {
            "type": "string",
            "description": "If a valid customer invoice draft Id is provided, it will be bookkeeped using the option entered in the SendType property.",
            "format": "uuid",
            "nullable": true
          },
          "VoucherNumber": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "VoucherId": {
            "type": "string",
            "format": "uuid",
            "readOnly": true
          },
          "CreatedUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "ModifiedUtc": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "ReversedConstructionVatInvoicing": {
            "type": "boolean",
            "readOnly": true
          },
          "IncludesVat": {
            "type": "boolean",
            "description": "True if company settings checkbox \"ShowPricesExclVatPC\" is checked and customer type is \"Private\", otherwise false",
            "readOnly": true
          },
          "SendType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = AutoInvoiceElectronic,<br/>2 = AutoInvoicePrint,<br/>3 = AutoInvoiceB2C (not available for Swedish customers),<br/>4 = Kivra<br/><br/>Used for sending the invoice via Autoinvoice. Default: None.",
            "format": "int32",
            "nullable": true
          },
          "PaymentReminderIssued": {
            "type": "boolean",
            "description": "True if a payment reminder has been sent for the overdue invoice, otherwise false. To send a payment reminder please use the v2/customerinvoices/{invoiceId}/paymentreminders endpoint",
            "readOnly": true
          },
          "PaymentRemindersCount": {
            "type": "integer",
            "description": "Number of payment reminders sent for the overdue invoice.",
            "format": "int32",
            "readOnly": true
          },
          "LastPaymentReminderSentDate": {
            "type": "string",
            "description": "Last payment reminder date for the overdue invoice. Null if no payment reminder has been sent.",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "UsesGreenTechnology": {
            "type": "boolean",
            "description": "<strong>Possible values:</strong><br/>True = This order uses green technology<br/>False = Otherwise"
          },
          "IsSold": {
            "type": "boolean",
            "description": "True if the customer invoice was sold using an integration with factoring partner, false otherwise.",
            "readOnly": true
          },
          "FactoringInvoiceStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Unknown,<br/>1 = Applied (applies for soft offers),<br/>2 = Withdrawn (applies for soft offers),<br/>3 = Rejected (applies for soft offers),<br/>4 = Sold,<br/>5 = Approved (applies for soft offers),<br/>6 = FirstReminderSent,<br/>7 = DebtCollection,<br/>8 = Reclaimed,<br/>9 = FullyPaid,<br/>10 = Closed,<br/>11 = SecondReminderSent",
            "format": "int32",
            "readOnly": true
          },
          "PaymentDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "PaymentStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Paid,<br/>1 = Unpaid,<br/>2 = Overdue",
            "format": "int32",
            "readOnly": true
          },
          "CreditedBy": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreditedByApi"
            },
            "description": "Credit customer invoices created based on the customer invoice. Only applicable when IsCreditInvoice is false",
            "nullable": true,
            "readOnly": true
          },
          "ContributionMargin": {
            "$ref": "#/components/schemas/ContributionMarginApi"
          },
          "IsDirectDebit": {
            "type": "boolean",
            "description": "Indicates whether direct debit should be applied, based on IsDirectDebitEnabled from customer settings",
            "nullable": true
          },
          "IsQuickInvoice": {
            "type": "boolean",
            "description": "Indicates if the invoice was created from journal entries posted manually or imported from another program.",
            "readOnly": true
          },
          "IsCollectiveInvoice": {
            "type": "boolean",
            "description": "Indicates if the invoice was created from more than one order document.",
            "readOnly": true
          },
          "CollectiveCustomerInvoiceRowsRelationToOrders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CollectiveCustomerInvoiceRelationToOrderApi"
            },
            "description": "Describes the relation between the collective invoice rows and the orders that the invoice is generated from.",
            "nullable": true,
            "readOnly": true
          },
          "ReplaceUnitPriceWhenZero": {
            "type": "boolean",
            "description": "<strong>Possible values:</strong><br/>True = replaces row unit prices that are equal to zero with article's unit price<br/>False = always uses the value on the row"
          },
          "TaxDeductionStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = ApplicableForDeductionExport,<br/>2 = ExportedToTaxAuthority,<br/>3 = RejectedByTaxAuthority",
            "format": "int32",
            "readOnly": true
          },
          "BackgroundId": {
            "type": "string",
            "description": "Identifier for the background image or template used on the PDF printout",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomerInvoiceBookkeepingHistoryApi": {
        "type": "object",
        "properties": {
          "InvoiceId": {
            "type": "string",
            "description": "Id of the invoice for the bookkeeping event.",
            "format": "uuid",
            "readOnly": true
          },
          "VoucherId": {
            "type": "string",
            "description": "Id of the voucher for the bookkeeping event.",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "EventDate": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "CreatedUtc": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "InvoiceCurrencyCode": {
            "type": "string",
            "description": "Currency code for the bookkeeping event",
            "nullable": true,
            "readOnly": true
          },
          "TotalAmountInvoiceCurrency": {
            "type": "number",
            "description": "Total amount of the bookkeeping event expressed in invoice currency.",
            "format": "double",
            "readOnly": true
          },
          "TotalAmountBaseCurrency": {
            "type": "number",
            "description": "Total amount of the bookkeeping event expressed in company base currency.",
            "format": "double",
            "readOnly": true
          },
          "RemainingAmountInvoiceCurrency": {
            "type": "number",
            "description": "Remaining amount of the bookkeeping event expressed in invoice currency.",
            "format": "double",
            "readOnly": true
          },
          "RemainingAmountBaseCurrency": {
            "type": "number",
            "description": "Remaining amount of the bookkeeping event expressed in company base currency.",
            "format": "double",
            "readOnly": true
          },
          "ChangeValueBaseCurrency": {
            "type": "number",
            "description": "Value change for the bookkeeping event expressed in company base currency.",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "ChangeValueInvoiceCurrency": {
            "type": "number",
            "description": "Value change for the bookkeeping event expressed in invoice currency.",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "RoundingAmount": {
            "type": "number",
            "description": "Used only for Rounding event types. Value in base currency.",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "BankTransactionId": {
            "type": "string",
            "description": "The id from the system of the bank transaction if the event involves one",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "BankTransactionEventAmount": {
            "type": "number",
            "description": "Amount of the bank transaction if the event involves one",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "BankTransactionEventAmountCurrency": {
            "type": "string",
            "description": "Currency of the bank transaction event",
            "nullable": true,
            "readOnly": true
          },
          "BankTransactionEventOriginalAmount": {
            "type": "number",
            "description": "Original amount of the bank transaction if the event involves one",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "BankTransactionEventOriginalAmountCurrency": {
            "type": "string",
            "description": "Currency of the original amount of the bank transaction",
            "nullable": true,
            "readOnly": true
          },
          "BankTransactionEventCharge": {
            "type": "number",
            "description": "Charge amount of the bank transaction if the event involves one",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "BankTransactionEventChargeCurrency": {
            "type": "string",
            "description": "Currency of the charge amount of the bank transaction if the event involves one",
            "nullable": true,
            "readOnly": true
          },
          "BankTransactionEventExchangeRate": {
            "type": "number",
            "description": "Exchange rate of the bank transaction if the event involves one",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "BankTransactionOrigin": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Bank,<br/>2 = UserManual,<br/>3 = UserCopyPaste,<br/>4 = UserUniversalAccountStatement,<br/>5 = EAccApi,<br/>6 = VismaAdminEAccApi<br/><br/>Origin of the bank transaction. Possible values are.",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "BookkeepingEventType": {
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5,
              6,
              7,
              8
            ],
            "type": "integer",
            "description": "Bookkeeping event type",
            "format": "int32"
          },
          "BankAccountId": {
            "type": "string",
            "description": "Use /v2/bankaccounts. Null for customer loss events.",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "BankAmountBaseCurrency": {
            "type": "number",
            "description": "Represents the amount entered on voucher for bank account",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "RoundingAmountInvoiceCurrency": {
            "type": "number",
            "description": "Roundings amount expressed in invoice currency",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CustomerInvoiceDraftApi": {
        "required": [
          "CustomerId",
          "EuThirdParty",
          "RotReducedInvoicingType"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system",
            "format": "uuid",
            "readOnly": true
          },
          "CustomerId": {
            "type": "string",
            "description": "Source: Get from /v2/customers",
            "format": "uuid"
          },
          "CreatedUtc": {
            "type": "string",
            "description": "Is automatically set",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "IsCreditInvoice": {
            "type": "boolean"
          },
          "RotReducedInvoicingType": {
            "enum": [
              0,
              1,
              2
            ],
            "type": "integer",
            "format": "int32"
          },
          "RotReducedInvoicingPropertyName": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "RotReducedInvoicingOrgNumber": {
            "maxLength": 11,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "MaxAllowedTaxReductionAmount": {
            "type": "number",
            "description": "Maximum allowed tax reduction amount",
            "format": "double",
            "readOnly": true
          },
          "RotReducedInvoicingAmount": {
            "type": "number",
            "description": "Format: 2 decimals.",
            "format": "double"
          },
          "RotReducedInvoicingAutomaticDistribution": {
            "type": "boolean"
          },
          "RotPropertyType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Apartment,<br/>2 = Property<br/><br/>Leave blank or set to null if you do not intend to use ROT or Green Technology functionality.",
            "format": "int32",
            "nullable": true
          },
          "HouseWorkOtherCosts": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerInvoiceDraftRowApi"
            },
            "nullable": true
          },
          "Persons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDocumentRotRutReductionPersonApi"
            },
            "nullable": true
          },
          "YourReference": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "OurReference": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "BuyersOrderReference": {
            "maxLength": 35,
            "minLength": 0,
            "type": "string",
            "description": "Can be null or empty",
            "nullable": true
          },
          "ElectronicReference": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Set this if you later intend to send the invoice electronically. Can only be set for non-private individuals",
            "nullable": true
          },
          "SubscriptionNumber": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ContractNumber": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "InvoiceCustomerName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Value is automatically set up depending on the selected customer's properties",
            "nullable": true,
            "readOnly": true
          },
          "InvoiceAddress1": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Sending a null value will make the draft use the value on the customer",
            "nullable": true
          },
          "InvoiceAddress2": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Sending a null value will make the draft use the value on the customer",
            "nullable": true
          },
          "InvoicePostalCode": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "InvoiceCity": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "InvoiceCountryCode": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "InvoiceCurrencyCode": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "DeliveryCustomerName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Set a value if you want to override the existing property value taken from the customer.",
            "nullable": true
          },
          "DeliveryAddress1": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Set a value if you want to override the existing property value taken from the customer.",
            "nullable": true
          },
          "DeliveryAddress2": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Set a value if you want to override the existing property value taken from the customer.",
            "nullable": true
          },
          "DeliveryPostalCode": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "description": "Set a value if you want to override the existing property value taken from the customer.",
            "nullable": true
          },
          "DeliveryCity": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Set a value if you want to override the existing property value taken from the customer.",
            "nullable": true
          },
          "DeliveryCountryCode": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "description": "Set a value if you want to override the existing property value taken from the customer.",
            "nullable": true
          },
          "DeliveryMethodName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "DeliveryTermName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "TermsOfPaymentId": {
            "type": "string",
            "description": "Specify a different terms of payment for the invoice. If not filled customer's terms of payment will be used",
            "format": "uuid",
            "nullable": true
          },
          "DeliveryMethodCode": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "DeliveryTermCode": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "EuThirdParty": {
            "type": "boolean"
          },
          "CustomerIsPrivatePerson": {
            "type": "boolean",
            "readOnly": true
          },
          "ReverseChargeOnConstructionServices": {
            "type": "boolean",
            "readOnly": true
          },
          "SalesDocumentAttachments": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true,
            "readOnly": true
          },
          "MessageThreads": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Fetch messages via GET /v2/messagethreads/{messageThreadId}",
            "nullable": true,
            "readOnly": true
          },
          "Notes": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Fetch notes via GET /v2/notes/{noteId}",
            "nullable": true,
            "readOnly": true
          },
          "InvoiceDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "DueDate": {
            "type": "string",
            "description": "Due date of the customer invoice draft",
            "format": "date-time",
            "nullable": true
          },
          "DeliveryDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "TotalAmount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "TotalVatAmount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "TotalRoundings": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "TotalAmountBaseCurrency": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "TotalVatAmountBaseCurrency": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "CustomerNumber": {
            "maxLength": 16,
            "minLength": 0,
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "CustomerName": {
            "type": "string",
            "description": "Customer's actual name",
            "nullable": true,
            "readOnly": true
          },
          "IncludesVat": {
            "type": "boolean",
            "description": "<strong>Possible values:</strong><br/>True = Company settings checkbox 'ShowPricesExclVatPC' is checked and customer type is 'Private'<br/>False = Otherwise",
            "readOnly": true
          },
          "ReplaceUnitPriceWhenZero": {
            "type": "boolean",
            "description": "<strong>Possible values:</strong><br/>True = Replaces row unit prices that are equal to zero with article's unit price<br/>False = Always uses the value on the row"
          },
          "UsesGreenTechnology": {
            "type": "boolean",
            "description": "<strong>Possible values:</strong><br/>True = Customer invoice draft benefits from deduction on Green Technology and must have RotReducedInvoicingType set to normal and contain at least one row with applicable deduction<br/>False = Customer invoice draft does not use Green Technology deduction"
          },
          "ContributionMargin": {
            "$ref": "#/components/schemas/ContributionMarginApi"
          },
          "IsDirectDebit": {
            "type": "boolean",
            "description": "Indicate whether direct debit should be applied, based on IsDirectDebitEnabled from customer settings",
            "nullable": true
          },
          "BackgroundId": {
            "type": "string",
            "description": "Identifier for the background image or template used on the PDF printout.",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomerInvoiceDraftDryRunApi": {
        "required": [
          "CustomerId",
          "EuThirdParty",
          "RotReducedInvoicingType"
        ],
        "type": "object",
        "properties": {
          "CustomerId": {
            "type": "string",
            "description": "Source: Get from /v2/customers",
            "format": "uuid"
          },
          "IsCreditInvoice": {
            "type": "boolean"
          },
          "RotReducedInvoicingType": {
            "enum": [
              0,
              1,
              2
            ],
            "type": "integer",
            "format": "int32"
          },
          "RotReducedInvoicingAmount": {
            "type": "number",
            "description": "Format: 2 decimals.",
            "format": "double"
          },
          "RotReducedInvoicingAutomaticDistribution": {
            "type": "boolean",
            "description": "Default value is False"
          },
          "RotPropertyType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Apartment,<br/>2 = Property<br/><br/>Leave blank or set to null if you do not intend to use ROT or Green Technology functionality.",
            "format": "int32",
            "nullable": true
          },
          "HouseWorkOtherCosts": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerInvoiceDraftRowApi"
            },
            "nullable": true
          },
          "Persons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDocumentRotRutReductionPersonApi"
            },
            "nullable": true
          },
          "EuThirdParty": {
            "type": "boolean"
          },
          "InvoiceDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "DueDate": {
            "type": "string",
            "description": "Due date of the customer invoice draft",
            "format": "date-time",
            "nullable": true
          },
          "DeliveryDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "IncludesVat": {
            "type": "boolean",
            "description": "<strong>Possible values:</strong><br/>True = company settings checkbox \"ShowPricesExclVatPC\" is checked and customer type is \"Private\"<br/>False = Otherwise",
            "nullable": true
          },
          "UsesGreenTechnology": {
            "type": "boolean",
            "description": "<strong>Possible values:</strong><br/>True = Customer invoice draft benefits from deduction on Green Technology and must have RotReducedInvoicingType set to normal and contain at least one row with applicable deduction<br/>False = Customer invoice draft does not use Green Technology deduction"
          },
          "ContributionMargin": {
            "$ref": "#/components/schemas/ContributionMarginApi"
          },
          "IsDirectDebit": {
            "type": "boolean",
            "description": "Indicate whether direct debit should be applied, based on IsDirectDebitEnabled from customer settings."
          }
        },
        "additionalProperties": false
      },
      "CustomerInvoiceDraftRowApi": {
        "required": [
          "IsTextRow",
          "ReversedConstructionServicesVatFree"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system for every row",
            "format": "uuid",
            "readOnly": true
          },
          "LineNumber": {
            "maximum": 1000,
            "minimum": 0,
            "type": "integer",
            "description": "Automatic calculation based on the order of the row in the JSON",
            "format": "int32",
            "nullable": true
          },
          "ArticleId": {
            "type": "string",
            "description": "Source: Get from /v2/articles. Required if IsTextRow is false",
            "format": "uuid",
            "nullable": true
          },
          "IsServiceArticle": {
            "type": "boolean",
            "description": "True if the article is a service article. False otherwise",
            "readOnly": true
          },
          "UnitId": {
            "type": "string",
            "description": "Source: Get from /v2/units/{id}",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "ArticleNumber": {
            "type": "string",
            "description": "Purpose: Returns the article number from the entered ArticleId",
            "nullable": true
          },
          "IsTextRow": {
            "type": "boolean"
          },
          "Text": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string",
            "description": "Default: For non text rows, default value will be the article's name; for text rows, there should be at least one character in place",
            "nullable": true
          },
          "UnitPrice": {
            "type": "number",
            "description": "Format: 2 decimals allowed if the customer is domestic or 4 decimals if foreign. The default behavior when unit price is zero is specified by setting ReplaceUnitPriceWhenZero on the customer invoice draft.",
            "format": "double"
          },
          "IsDiscountInFixedAmount": {
            "type": "boolean",
            "description": "If true, then discount of the row is in fixed amount. If false, then discount of the row is in percentage.",
            "readOnly": true
          },
          "DiscountFixedAmount": {
            "type": "number",
            "description": "Format: 2 decimals. Discount of the row in fixed amount.",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "DiscountPercentage": {
            "maximum": 1,
            "minimum": 0,
            "type": "number",
            "description": "Format: 4 decimals allowed. Discount of the row in percentage.",
            "format": "double"
          },
          "Quantity": {
            "type": "number",
            "description": "Format: 2 decimals. Quantity of the article on the row.",
            "format": "double"
          },
          "WorkCostType": {
            "type": "integer",
            "description": "Only used for Rot/Rut invoice.",
            "format": "int32"
          },
          "IsWorkCost": {
            "type": "boolean"
          },
          "WorkHours": {
            "type": "number",
            "description": "Only used for ROT/RUT invoices.",
            "format": "double",
            "nullable": true
          },
          "MaterialCosts": {
            "type": "number",
            "description": "Only used for ROT/RUT invoices.",
            "format": "double",
            "nullable": true
          },
          "ReversedConstructionServicesVatFree": {
            "type": "boolean"
          },
          "CostCenterItemId1": {
            "type": "string",
            "description": "Source: Get from /v2/costcenteritems",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId2": {
            "type": "string",
            "description": "Source: Get from /v2/costcenteritems",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId3": {
            "type": "string",
            "description": "Source: Get from /v2/costcenteritems",
            "format": "uuid",
            "nullable": true
          },
          "UnitAbbreviation": {
            "type": "string",
            "nullable": true
          },
          "UnitAbbreviationEnglish": {
            "type": "string",
            "description": "Unit Abbrevation in English",
            "nullable": true
          },
          "VatRateId": {
            "type": "string",
            "description": "Source: Get from /v2/articleaccountcodings",
            "nullable": true,
            "readOnly": true
          },
          "VatRate": {
            "type": "number",
            "description": "Provides VatRate value for the row. When row is a comment, value is null.",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "UnitName": {
            "type": "string",
            "nullable": true
          },
          "ProjectId": {
            "type": "string",
            "description": "Get from /v2/projects",
            "format": "uuid",
            "nullable": true
          },
          "GreenTechnologyType": {
            "maximum": 3,
            "minimum": 0,
            "type": "integer",
            "description": "Type of green technology for the row",
            "format": "int32"
          },
          "ContributionMargin": {
            "$ref": "#/components/schemas/ContributionMarginApi"
          },
          "PurchasePrice": {
            "type": "number",
            "description": "Purchase price for the article on this row, valid only if it is an article row",
            "format": "double",
            "readOnly": true
          },
          "Amount": {
            "type": "number",
            "description": "Returns a total amount of row. Format: 2 decimals",
            "format": "double",
            "readOnly": true
          },
          "FreightCosts": {
            "type": "number",
            "description": "Freight costs for the article on this row, valid only if it is an article row",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CustomerInvoiceDraftValidationApi": {
        "type": "object",
        "properties": {
          "TotalAmountInvoiceCurrency": {
            "type": "number",
            "description": "Invoice total amount. Should be negative when credit invoice",
            "format": "double",
            "nullable": true
          },
          "TotalVatAmountInvoiceCurrency": {
            "type": "number",
            "description": "Invoice VAT amount. Should be negative when credit invoice",
            "format": "double",
            "nullable": true
          },
          "TotalRoundingsInvoiceCurrency": {
            "type": "number",
            "description": "Invoice Roundings amount. Can be both positive and negative depending on the rounding.",
            "format": "double",
            "nullable": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerInvoiceDraftValidationRowApi"
            },
            "description": "A set of invoice rows to validate. We match upon the line number.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomerInvoiceDraftValidationRowApi": {
        "type": "object",
        "properties": {
          "LineNumber": {
            "type": "integer",
            "description": "Line number from the customer invoice draft",
            "format": "int32"
          },
          "TotalAmountNoVatInvoiceCurrency": {
            "type": "number",
            "description": "Total amount without VAT ((Quantity * Unit price) - Discount)",
            "format": "double",
            "nullable": true
          },
          "TotalAmountIncVatInvoiceCurrency": {
            "type": "number",
            "description": "Total amount with VAT ((Quantity * Unit price) - Discount)",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomerInvoiceDryRunApi": {
        "required": [
          "CustomerId",
          "EuThirdParty",
          "RotReducedInvoicingType",
          "Rows"
        ],
        "type": "object",
        "properties": {
          "CustomerId": {
            "type": "string",
            "format": "uuid"
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerInvoiceRowApi"
            }
          },
          "RotReducedInvoicingType": {
            "maximum": 2,
            "minimum": 0,
            "enum": [
              0,
              1,
              2
            ],
            "type": "integer",
            "format": "int32"
          },
          "InvoiceDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "RotReducedInvoicingPropertyName": {
            "type": "string",
            "description": "Used for providing a custom name. Is required when RotPropertyType or UsesGreenTechnology is set",
            "nullable": true
          },
          "Persons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDocumentRotRutReductionPersonApi"
            },
            "description": "Purpose: Required for ROT, RUT or Green Technology invoices only",
            "nullable": true
          },
          "RotPropertyType": {
            "type": "integer",
            "description": "Value 1 is for apartment and 2 is for property.Leave blank or set to null if you do not intend to use ROT or Green Technology",
            "format": "int32",
            "nullable": true
          },
          "WorkHouseOtherCosts": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "EuThirdParty": {
            "type": "boolean",
            "description": "Default is false. True only if EU intermediary, VAT triangulation rules apply. Only if EU company is invoicing to a company from a different EU country, may set to True if desired."
          },
          "UsesGreenTechnology": {
            "type": "boolean",
            "description": "<strong>Possible values:</strong><br/>True = This order uses green technology<br/>False = Otherwise"
          },
          "IncludesVat": {
            "type": "boolean",
            "description": "True if company settings checkbox \"ShowPricesExclVatPC\" is checked and customer type is \"Private\", otherwise false",
            "nullable": true
          },
          "RotReducedInvoicingOrgNumber": {
            "maxLength": 11,
            "minLength": 0,
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomerInvoicePatchRequestApi": {
        "type": "object",
        "properties": {
          "DueDate": {
            "type": "string",
            "description": "Due date for the invoice",
            "format": "date-time",
            "nullable": true
          },
          "RotReducedInvoicingPropertyName": {
            "type": "string",
            "description": "Property name for the invoice. Is required when RotPropertyType or UsesGreenTechnology is set",
            "nullable": true
          },
          "WorkHouseOtherCosts": {
            "type": "number",
            "description": "Other costs for the invoice. Only used for ROT/RUT invoices",
            "format": "double",
            "nullable": true
          },
          "ElectronicReference": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Max length 100 characters",
            "nullable": true
          },
          "SubscriptionNumber": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Max length 100 characters",
            "nullable": true
          },
          "ContractNumber": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Max length 100 characters",
            "nullable": true
          },
          "ElectronicAddress": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Max length 255 characters",
            "nullable": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerInvoiceRowPatchRequestApi"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomerInvoiceRowApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system for every row",
            "format": "uuid",
            "readOnly": true
          },
          "ArticleNumber": {
            "type": "string",
            "description": "Number of the article on the row",
            "nullable": true,
            "readOnly": true
          },
          "ArticleId": {
            "type": "string",
            "description": "Purpose: Null if text row",
            "format": "uuid",
            "nullable": true
          },
          "IsServiceArticle": {
            "type": "boolean",
            "description": "True if the article is a service article. False otherwise",
            "readOnly": true
          },
          "AmountNoVat": {
            "type": "number",
            "description": "Amount on the row excluding VAT",
            "format": "double",
            "readOnly": true
          },
          "PercentVat": {
            "type": "number",
            "format": "double",
            "readOnly": true,
            "deprecated": true
          },
          "VatRate": {
            "type": "number",
            "description": "When row is a text row the value is null. Default value is also null",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "LineNumber": {
            "type": "integer",
            "description": "Number of the line in order on the row",
            "format": "int32",
            "readOnly": true
          },
          "IsTextRow": {
            "type": "boolean",
            "description": "True if this is a text row. False otherwise",
            "readOnly": true
          },
          "Text": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string",
            "description": "Default: For non text rows, default value will be the article's name; for text rows, there should be at least one character in place",
            "nullable": true
          },
          "UnitPrice": {
            "type": "number",
            "description": "Format: 2 decimals allowed if the customer and currency are domestic or 4 decimals if customer or currency is foreign",
            "format": "double"
          },
          "UnitAbbreviation": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "UnitAbbreviationEnglish": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "IsDiscountInFixedAmount": {
            "type": "boolean",
            "description": "True if the discount on the row is a fixed amount, false otherwise",
            "readOnly": true
          },
          "DiscountFixedAmount": {
            "type": "number",
            "description": "Fixed amount discount on the row. Only applicable if IsDiscountInFixedAmount is true. Format: 2 decimals",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "DiscountPercentage": {
            "maximum": 1,
            "minimum": 0,
            "type": "number",
            "description": "Percentage discount n the row. Format: 4 decimals",
            "format": "double"
          },
          "Quantity": {
            "type": "number",
            "description": "Format: 4 decimals",
            "format": "double"
          },
          "IsWorkCost": {
            "type": "boolean",
            "description": "Only used for Rot/Rut",
            "readOnly": true
          },
          "IsVatFree": {
            "type": "boolean",
            "description": "True if this row is marked as VAT free. False otherwise"
          },
          "CostCenterItemId1": {
            "type": "string",
            "description": "Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId2": {
            "type": "string",
            "description": "Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId3": {
            "type": "string",
            "description": "Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "UnitId": {
            "type": "string",
            "description": "Source: Get from /v2/units/{id}",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "ProjectId": {
            "type": "string",
            "description": "Get from /v2/projects",
            "format": "uuid",
            "nullable": true
          },
          "WorkCostType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>None = 0,<br/>RotConstructionWork = 1,<br/>RotElectricalWork = 2,<br/>RotGlassSheetMetalWork = 3,<br/>RotGroundWork = 4,<br/>RotBrickWork = 5,<br/>RotPaintDecorateWork = 6,<br/>RotPlumbWork = 7,<br/>RutCleanJobWork = 9,<br/>RutCareClothTextile = 10,<br/>RutSnowRemove = 12,<br/>RutGarden = 13,<br/>RutBabySitting = 14,<br/>RutOtherCare = 15,<br/>RutRemovalServices = 18,<br/>RutITServices = 19,<br/>RotHeatPump = 20,<br/>RotHeatPump2 = 21,<br/>RutHomeAppliances = 22,<br/>RotSolarHeatingSystem = 23,<br/>RotWoodBoiler = 24,<br/>RotFuelBoiler = 25,<br/>RutLaundry = 26,<br/>RutFurnishing = 27,<br/>RutGoodsTransport = 28,<br/>RutHomeSupervision = 29<br/><br/>Only used for Rot/Rut.",
            "format": "int32"
          },
          "WorkHours": {
            "type": "number",
            "description": "Only used for Rot/Rut",
            "format": "double",
            "nullable": true
          },
          "MaterialCosts": {
            "type": "number",
            "description": "Only used for Rot/Rut",
            "format": "double",
            "nullable": true
          },
          "GreenTechnologyType": {
            "maximum": 3,
            "minimum": 0,
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>None = 0,<br/>SolarCellInstallation = 1,<br/>ElectricEnergyStorageInstallation = 2,<br/>ElectricVehicleChargingPointInstallation = 3<br/><br/>Type of green technology for the row.",
            "format": "int32"
          },
          "ContributionMargin": {
            "$ref": "#/components/schemas/ContributionMarginApi"
          },
          "PurchasePrice": {
            "type": "number",
            "description": "Purchase price for the article on this row, valid only if it is an article row",
            "format": "double",
            "readOnly": true
          },
          "FreightCosts": {
            "type": "number",
            "description": "Freight costs for the article on this row, valid only if it is an article row",
            "format": "double",
            "readOnly": true
          },
          "Amount": {
            "type": "number",
            "description": "Returns a total amount of row. Format: 2 decimals",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CustomerInvoiceRowPatchRequestApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Id of the row to patch",
            "format": "uuid"
          },
          "WorkCostType": {
            "type": "integer",
            "description": "The work cost type for the row. Only used for ROT/RUT invoices",
            "format": "int32",
            "nullable": true
          },
          "WorkHours": {
            "type": "number",
            "description": "Work hours for the row. Only used for ROT/RUT invoices",
            "format": "double",
            "nullable": true
          },
          "MaterialCosts": {
            "type": "number",
            "description": "Material costs for the row. Only used for ROT/RUT invoices",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomerInvoiceValuationHistoryApi": {
        "type": "object",
        "properties": {
          "BookkeepingMethod": {
            "enum": [
              0,
              1,
              2
            ],
            "type": "integer",
            "description": "The bookkeeping method used for this customer invoice.",
            "format": "int32",
            "readOnly": true
          },
          "CurrencyCode": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string",
            "description": "The currency code of the customer invoice.",
            "nullable": true,
            "readOnly": true
          },
          "CustomerInvoiceId": {
            "type": "string",
            "description": "The unique identifier of the customer invoice.",
            "format": "uuid",
            "readOnly": true
          },
          "CustomerLossStatus": {
            "enum": [
              0,
              1,
              2
            ],
            "type": "integer",
            "description": "The current loss status of the customer invoice.",
            "format": "int32",
            "readOnly": true
          },
          "AnticipatedCustomerLossDate": {
            "type": "string",
            "description": "The anticipated date when customer loss is expected (if applicable).",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "AnticipatedCustomerLossAmount": {
            "type": "number",
            "description": "The anticipated amount of customer loss (if applicable).",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "CustomerName": {
            "type": "string",
            "description": "The name of the customer associated with this invoice.",
            "nullable": true,
            "readOnly": true
          },
          "CustomerNumber": {
            "type": "string",
            "description": "The customer number associated with this invoice.",
            "nullable": true,
            "readOnly": true
          },
          "RotReducedInvoicingType": {
            "enum": [
              0,
              1,
              2
            ],
            "type": "integer",
            "description": "The ROT reduction type for invoicing.",
            "format": "int32",
            "readOnly": true
          },
          "InvoiceDate": {
            "type": "string",
            "description": "The date when the invoice was issued.",
            "format": "date-time",
            "readOnly": true
          },
          "InvoiceDueDate": {
            "type": "string",
            "description": "The due date for payment of the invoice.",
            "format": "date-time",
            "readOnly": true
          },
          "InvoiceNumber": {
            "type": "integer",
            "description": "The invoice number.",
            "format": "int32",
            "readOnly": true
          },
          "IsCreditInvoice": {
            "type": "boolean",
            "description": "Indicates whether this is a credit invoice.",
            "readOnly": true
          },
          "RelatedVouchers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VoucherRelationApi"
            },
            "description": "List of vouchers related to this customer invoice.",
            "nullable": true,
            "readOnly": true
          },
          "RemainingAmountBaseCurrency": {
            "type": "number",
            "description": "The remaining amount to be paid in base currency.",
            "format": "double",
            "readOnly": true
          },
          "RemainingAmountInvoiceCurrency": {
            "type": "number",
            "description": "The remaining amount to be paid in invoice currency.",
            "format": "double",
            "readOnly": true
          },
          "RoundingAmountInvoiceCurrency": {
            "type": "number",
            "description": "The rounding amount in invoice currency.",
            "format": "double",
            "readOnly": true
          },
          "TotalAmountBaseCurrency": {
            "type": "number",
            "description": "The total amount of the invoice in base currency.",
            "format": "double",
            "readOnly": true
          },
          "TotalAmountInvoiceCurrency": {
            "type": "number",
            "description": "The total amount of the invoice in invoice currency.",
            "format": "double",
            "readOnly": true
          },
          "ValuationHistory": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerInvoiceValuationRowsApi"
            },
            "description": "The history of valuation changes for this customer invoice.",
            "nullable": true,
            "readOnly": true
          },
          "VatAmountBaseCurrency": {
            "type": "number",
            "description": "The VAT amount in base currency.",
            "format": "double",
            "readOnly": true
          },
          "VatAmountInvoiceCurrency": {
            "type": "number",
            "description": "The VAT amount in invoice currency.",
            "format": "double",
            "readOnly": true
          },
          "LatePaymentFeeInvoiceCurrency": {
            "type": "number",
            "description": "The late payment fee amount in invoice currency.",
            "format": "double",
            "readOnly": true
          },
          "GroupAccountNumber": {
            "type": "integer",
            "description": "New group account number defined on the customer, used instead of standard receivable account 1510.",
            "format": "int64",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CustomerInvoiceValuationRowsApi": {
        "type": "object",
        "properties": {
          "Type": {
            "enum": [
              1,
              2,
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15,
              16
            ],
            "type": "integer",
            "description": "The type of customer invoice valuation history entry.",
            "format": "int32",
            "readOnly": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "The UTC timestamp when this valuation history entry was created.",
            "format": "date-time",
            "readOnly": true
          },
          "Date": {
            "type": "string",
            "description": "Date of the valuation history entry.",
            "format": "date-time",
            "readOnly": true
          },
          "InvoiceCurrencyCode": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string",
            "description": "Currency code of the invoice associated with the valuation.",
            "nullable": true,
            "readOnly": true
          },
          "RemainingAmountBaseCurrency": {
            "type": "number",
            "description": "Remaining amount in base currency after valuation.",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "RemainingAmountInvoiceCurrency": {
            "type": "number",
            "description": "Remaining amount in invoice currency after valuation.",
            "format": "double",
            "readOnly": true
          },
          "ValueChangeBaseCurrency": {
            "type": "number",
            "description": "Value change in base currency due to valuation.",
            "format": "double",
            "readOnly": true
          },
          "ValueChangeInvoiceCurrency": {
            "type": "number",
            "description": "Value change in invoice currency due to valuation.",
            "format": "double",
            "readOnly": true
          },
          "VoucherId": {
            "type": "string",
            "description": "Identifier of the voucher associated with the valuation.",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "VoucherNumberAndSeries": {
            "type": "string",
            "description": "Number and series of the voucher associated with the valuation.",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CustomerInvoiceVatApi": {
        "type": "object",
        "properties": {
          "AmountInvoiceCurrency": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "VatAmountInvoiceCurrency": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "VatPercent": {
            "type": "number",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CustomerLabelApi": {
        "required": [
          "Name"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system",
            "format": "uuid",
            "readOnly": true
          },
          "Name": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Name of the customer label"
          },
          "Description": {
            "maxLength": 400,
            "minLength": 0,
            "type": "string",
            "description": "Description of the customer label",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomerLabelBatchApi": {
        "required": [
          "CustomerNumber",
          "Name"
        ],
        "type": "object",
        "properties": {
          "CustomerNumber": {
            "type": "string",
            "description": "The customer number to associate with the label",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "description": "Name of the customer label ()",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "description": "Description of the customer label ()",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomerLabelsBatchApi": {
        "required": [
          "CustomerLabels"
        ],
        "type": "object",
        "properties": {
          "CustomerLabels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerLabelBatchApi"
            },
            "description": "A collection of customer labels to be created or updated in a batch operation",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomerLedgerItemApi": {
        "required": [
          "CurrencyCode",
          "CustomerId",
          "InvoiceNumber",
          "IsCreditInvoice",
          "RemainingAmountInvoiceCurrency",
          "TotalAmountInvoiceCurrency",
          "VoucherId"
        ],
        "type": "object",
        "properties": {
          "CurrencyCode": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string",
            "description": "Maximum length: 3 characters"
          },
          "CurrencyRate": {
            "type": "number",
            "format": "double"
          },
          "CurrencyRateUnit": {
            "type": "integer",
            "format": "int32"
          },
          "CustomerId": {
            "type": "string",
            "description": "Source: Get from /v2/customers.",
            "format": "uuid"
          },
          "DueDate": {
            "type": "string",
            "description": "Format: YYYY-MM-DD",
            "format": "date-time"
          },
          "Id": {
            "type": "string",
            "description": "Unique Id provided by eAccounting",
            "format": "uuid",
            "readOnly": true
          },
          "InvoiceDate": {
            "type": "string",
            "description": "Format: YYYY-MM-DD",
            "format": "date-time"
          },
          "InvoiceNumber": {
            "type": "integer",
            "description": "Invoice number for this ledger item",
            "format": "int32"
          },
          "IsCreditInvoice": {
            "type": "boolean"
          },
          "ModifiedUtc": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "PaymentReferenceNumber": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Maximum length: 50 characters",
            "nullable": true
          },
          "RemainingAmountInvoiceCurrency": {
            "maximum": 99999999.99,
            "minimum": -99999999.99,
            "type": "number",
            "description": "2 decimal precision.",
            "format": "double"
          },
          "RoundingsAmountInvoiceCurrency": {
            "type": "number",
            "description": "2 decimal precision.",
            "format": "double"
          },
          "TotalAmountInvoiceCurrency": {
            "maximum": 99999999.99,
            "minimum": -99999999.99,
            "type": "number",
            "description": "2 decimal precision.",
            "format": "double"
          },
          "VATAmountInvoiceCurrency": {
            "type": "number",
            "description": "2 decimal precision.",
            "format": "double"
          },
          "VoucherId": {
            "type": "string",
            "description": "Source: Get from /v2/vouchers.",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "CustomerLedgerItemBatchApi": {
        "type": "object",
        "properties": {
          "InvoiceNumber": {
            "type": "integer",
            "description": "The number of the invoice to create",
            "format": "int32"
          },
          "CustomerNumber": {
            "type": "string",
            "description": "The number of the customer to create the item for.",
            "nullable": true
          },
          "CustomerLedgerAccountNumber": {
            "type": "integer",
            "description": "The ledger account number to use when creating the item.",
            "format": "int64"
          },
          "IsCreditInvoice": {
            "type": "boolean"
          },
          "InvoiceDate": {
            "type": "string",
            "description": "Invoice date to use when creating the item",
            "format": "date-time"
          },
          "DueDate": {
            "type": "string",
            "description": "Due date to use when creating the item",
            "format": "date-time"
          },
          "PaymentReferenceNumber": {
            "type": "string",
            "description": "Payment reference number if applicable.",
            "nullable": true
          },
          "CurrencyCode": {
            "type": "string",
            "description": "Currency code to use for the item. If null or empty, the company's base currency will be used. Maximum length: 3 characters",
            "nullable": true
          },
          "CurrencyRate": {
            "type": "number",
            "format": "double"
          },
          "CurrencyRateUnit": {
            "type": "integer",
            "format": "int32"
          },
          "TotalAmountInvoiceCurrency": {
            "type": "number",
            "description": "Total amount for the invoice in the specified currency.",
            "format": "double"
          },
          "RemainingAmountInvoiceCurrency": {
            "type": "number",
            "description": "Remaining amount for the invoice in the specified currency.",
            "format": "double"
          },
          "TotalVatAmount": {
            "type": "number",
            "description": "Total VAT amount for the invoice in the specified currency.",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "CustomerLedgerItemWithVoucherApi": {
        "required": [
          "CurrencyCode",
          "CustomerId",
          "InvoiceNumber",
          "IsCreditInvoice",
          "RemainingAmountInvoiceCurrency",
          "TotalAmountInvoiceCurrency",
          "Voucher"
        ],
        "type": "object",
        "properties": {
          "CurrencyCode": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string",
            "description": "Maximum length: 3 characters"
          },
          "CurrencyRate": {
            "type": "number",
            "format": "double"
          },
          "CurrencyRateUnit": {
            "type": "integer",
            "format": "int32"
          },
          "CustomerId": {
            "type": "string",
            "description": "Source: Get from /v2/customers.",
            "format": "uuid"
          },
          "DueDate": {
            "type": "string",
            "description": "Format: YYYY-MM-DD",
            "format": "date-time"
          },
          "Id": {
            "type": "string",
            "description": "Unique Id provided by eAccounting",
            "format": "uuid",
            "readOnly": true
          },
          "InvoiceDate": {
            "type": "string",
            "description": "Format: YYYY-MM-DD",
            "format": "date-time"
          },
          "InvoiceNumber": {
            "type": "integer",
            "description": "The number of the invoice to create",
            "format": "int32"
          },
          "ModifiedUtc": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "PaymentReferenceNumber": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Maximum length: 50 characters",
            "nullable": true
          },
          "RemainingAmountInvoiceCurrency": {
            "maximum": 99999999.99,
            "minimum": -99999999.99,
            "type": "number",
            "description": "Remaining amount in invoice currency. Precision: 2 decimals",
            "format": "double"
          },
          "RoundingsAmountInvoiceCurrency": {
            "type": "number",
            "description": "Rounding amount in invoice currency. Precision: 2 decimals",
            "format": "double"
          },
          "TotalAmountInvoiceCurrency": {
            "maximum": 99999999.99,
            "minimum": -99999999.99,
            "type": "number",
            "description": "Total amount in invoice currency. Precision: 2 decimals",
            "format": "double"
          },
          "VATAmountInvoiceCurrency": {
            "type": "number",
            "description": "VAT amount in invoice currency. Precision: 2 decimals",
            "format": "double"
          },
          "IsCreditInvoice": {
            "type": "boolean"
          },
          "Voucher": {
            "$ref": "#/components/schemas/VoucherApi"
          }
        },
        "additionalProperties": false
      },
      "CustomerLedgerItemsBatchApi": {
        "type": "object",
        "properties": {
          "CustomerLedgerItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerLedgerItemBatchApi"
            },
            "description": "List of customer ledger in the batch",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomersBatchApi": {
        "type": "object",
        "properties": {
          "Customers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerBatchApi"
            },
            "description": "Customer list in this batch",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DeletedAllocationPeriodApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier of the deleted allocation period",
            "format": "uuid",
            "readOnly": true
          },
          "DeletedUtc": {
            "type": "string",
            "description": "UTC timestamp when the allocation period was deleted",
            "format": "date-time",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a deleted allocation period. Contains minimal information about allocation periods that have been deleted from the system."
      },
      "DeliveryMethodApi": {
        "required": [
          "Name"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier for the delivery method",
            "format": "uuid",
            "readOnly": true
          },
          "Name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Name of the delivery method"
          },
          "NameEnglish": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": "English name of the delivery method",
            "nullable": true
          },
          "Code": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Code of the delivery method",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DeliveryTermApi": {
        "required": [
          "Name"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier for the delivery term",
            "format": "uuid",
            "readOnly": true
          },
          "Name": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Name of the delivery term"
          },
          "NameEnglish": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": "English name of the delivery term",
            "nullable": true
          },
          "Code": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Code of the delivery term",
            "nullable": true
          },
          "Editable": {
            "type": "boolean",
            "description": "Indicates if this delivery term is editable or not"
          }
        },
        "additionalProperties": false
      },
      "DirectDebitCustomerSettingsApi": {
        "type": "object",
        "properties": {
          "MandateId": {
            "maxLength": 35,
            "minLength": 0,
            "type": "string",
            "description": "Maximum length 35 characters",
            "nullable": true
          },
          "MandateType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Core,<br/>2 = B2B",
            "format": "int32"
          },
          "SequenceType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Recurring,<br/>2 = Recurring,<br/>3 = One-off",
            "format": "int32"
          },
          "SigningDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "EndDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "LatestDirectDebit": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "Bic": {
            "maxLength": 11,
            "minLength": 0,
            "type": "string",
            "description": "Maximum length 11 characters",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DiscountAgreementApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system of the discount agreement",
            "format": "uuid",
            "readOnly": true
          },
          "Name": {
            "type": "string",
            "description": "Name of the discount agreement",
            "nullable": true,
            "readOnly": true
          },
          "Number": {
            "type": "integer",
            "description": "Number of the discount agreement",
            "format": "int32",
            "readOnly": true
          },
          "Notes": {
            "type": "string",
            "description": "Additional notes for the discount agreement",
            "nullable": true,
            "readOnly": true
          },
          "IsActive": {
            "type": "boolean",
            "description": "Indicates if the discount agreement is active",
            "readOnly": true
          },
          "ChangedUtc": {
            "type": "string",
            "description": "Date and time when the discount agreement was last changed (UTC)",
            "format": "date-time",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "DocumentApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier for the document",
            "format": "uuid",
            "readOnly": true
          },
          "ContentType": {
            "type": "string",
            "description": "MIME content type of the document",
            "nullable": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "Date and time when the document was created (UTC)",
            "format": "date-time",
            "readOnly": true
          },
          "Name": {
            "type": "string",
            "description": "Full name of the document including extension",
            "nullable": true
          },
          "NameWithoutExtension": {
            "type": "string",
            "description": "Name of the document without the file extension",
            "nullable": true
          },
          "Size": {
            "type": "integer",
            "description": "Size of the document in bytes",
            "format": "int32"
          },
          "Type": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = SupplierInvoiceDraftAttachment,<br/>1 = SupplierInvoiceAttachment,<br/>2 = SupplierInvoiceXml,<br/>10 = CustomerInvoiceXml,<br/>11 = CustomerInvoicePdf,<br/>12 = CustomerInvoicePaymentReminderPdf,<br/>13 = CompanyLogo,<br/>14 = DocumentBackgroundPdf,<br/>15 = DocumentBackgroundImage,<br/>16 = DeletedDocumentBackground,<br/>20 = PhotoReceipt,<br/>21 = PhotoSupplierInvoice,<br/>30 = AutoInvoiceAssembly,<br/>40 = FinvoiceReceiverInfoXml,<br/>41 = VatReportPdf<br/><br/>Type of the document - see DocumentTypeApi enum for available values.",
            "format": "int32"
          },
          "TemporaryUrl": {
            "type": "string",
            "description": "Temporary URL for accessing the document. This URL will expire and should not be stored.",
            "nullable": true
          },
          "Title": {
            "type": "string",
            "description": "Title or descriptive name of the document",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DocumentApprovalEventApi": {
        "type": "object",
        "properties": {
          "DocumentApprovalStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = Approved,<br/>2 = Rejected,<br/>3 = ReadyForApproval<br/><br/>The document approval status for this event.",
            "format": "int32",
            "readOnly": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "The UTC timestamp when the approval event was created",
            "format": "date-time",
            "readOnly": true
          },
          "CreatedByUserId": {
            "type": "string",
            "description": "The user id that performed the approval action. Use GET /v2/users",
            "format": "uuid",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "DocumentFinancialOverviewApi": {
        "type": "object",
        "properties": {
          "TotalRevenuesAmount": {
            "type": "number",
            "description": "The sum of total amount of all sales documents in domestic company currency",
            "format": "double"
          },
          "UnpaidSalesInvoicesAmount": {
            "type": "number",
            "description": "Total amount for unpaid sales invoices",
            "format": "double"
          },
          "UnpaidSalesInvoicesDocumentsNumber": {
            "type": "integer",
            "description": "Total number of unpaid sales invoices",
            "format": "int32"
          },
          "UnpaidOverdueSalesInvoicesAmount": {
            "type": "number",
            "description": "Total amount for unpaid sales invoices with status 'Overdue'",
            "format": "double"
          },
          "UnpaidOverdueSalesInvoicesDocumentsNumber": {
            "type": "integer",
            "description": "Total number of unpaid overdue sales invoices",
            "format": "int32"
          },
          "UnpaidNonDueSalesInvoicesAmount": {
            "type": "number",
            "description": "Total amount for unpaid sales invoices that don't have the status 'Overdue'",
            "format": "double"
          },
          "UnpaidNonDueSalesInvoicesDocumentsNumber": {
            "type": "integer",
            "description": "Total number of unpaid non-due sales invoices",
            "format": "int32"
          },
          "TotalCostsAmount": {
            "type": "number",
            "description": "Total amount of costs in domestic company currency",
            "format": "double"
          },
          "UnpaidPurchaseInvoicesAmount": {
            "type": "number",
            "description": "Total amount for unpaid purchase invoices",
            "format": "double"
          },
          "UnpaidPurchaseInvoicesAmountDocumentsNumber": {
            "type": "integer",
            "description": "Total number of unpaid purchase invoices",
            "format": "int32"
          },
          "UnpaidOverduePurchaseInvoicesAmount": {
            "type": "number",
            "description": "Total amount for unpaid purchase invoices with status 'Overdue'",
            "format": "double"
          },
          "UnpaidOverduePurchaseInvoicesDocumentsNumber": {
            "type": "integer",
            "description": "Total number of unpaid overdue purchase invoices",
            "format": "int32"
          },
          "UnpaidNonDuePurchaseInvoicesAmount": {
            "type": "number",
            "description": "Total amount for unpaid purchase invoices that don't have the status 'Overdue'",
            "format": "double"
          },
          "UnpaidNonDuePurchaseInvoicesDocumentsNumber": {
            "type": "integer",
            "description": "Total number of unpaid non-due purchase invoices",
            "format": "int32"
          },
          "ProfitAmount": {
            "type": "number",
            "description": "Total amount of profit (TotalRevenuesAmount - TotalCostsAmount) in domestic company currency",
            "format": "double"
          },
          "TotalAmountProcessingOrders": {
            "type": "number",
            "description": "Total amount for orders with status 'Processing'",
            "format": "double"
          },
          "TotalDocumentsNumberProcessingOrders": {
            "type": "integer",
            "description": "Total number of orders with status 'Processing'",
            "format": "int32"
          },
          "TotalAmountCompletedOrders": {
            "type": "number",
            "description": "Total amount for orders with status 'Completed'",
            "format": "double"
          },
          "TotalDocumentsNumberCompletedOrders": {
            "type": "integer",
            "description": "Total number of orders with status 'Completed'",
            "format": "int32"
          },
          "TotalAmountAwaitingQuotes": {
            "type": "number",
            "description": "Total amount for quotes with status 'Awaiting'",
            "format": "double"
          },
          "TotalDocumentsNumberAwaitingQuotes": {
            "type": "integer",
            "description": "Total number of quotes with status 'Awaiting'",
            "format": "int32"
          },
          "TotalAmountAcceptedQuotes": {
            "type": "number",
            "description": "Total amount for quotes with status 'Accepted'",
            "format": "double"
          },
          "TotalDocumentsNumberAcceptedQuotes": {
            "type": "integer",
            "description": "Total number of quotes with status 'Accepted'",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "DocumentStatisticsApi": {
        "type": "object",
        "properties": {
          "TotalAmountSum": {
            "type": "number",
            "description": "Sum of total amounts for all documents in the statistic",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "RemainingAmountSum": {
            "type": "number",
            "description": "Sum of remaining amounts for all documents in the statistic",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "TotalNumberOfDocuments": {
            "type": "integer",
            "description": "Number of documents in the statistic",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "DocumentUploadApi": {
        "type": "object",
        "properties": {
          "FileData": {
            "type": "string",
            "description": "The uploaded file content (from multipart/form-data).",
            "format": "byte",
            "nullable": true
          },
          "FileName": {
            "type": "string",
            "description": "The file name of the uploaded document.",
            "nullable": true
          },
          "ContentType": {
            "type": "string",
            "description": "Content type of the file (e.g. 'application/pdf', 'image/jpeg', 'image/tiff', 'image/png').",
            "nullable": true
          },
          "DocumentType": {
            "enum": [
              0,
              1,
              2
            ],
            "type": "integer",
            "description": "Optional. The type of document to create. If omitted, the type is determined by SmartScan interpretation.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Model for uploading a document to create a purchase draft. Used with multipart/form-data."
      },
      "DocumentUploadResultApi": {
        "type": "object",
        "properties": {
          "DocumentType": {
            "enum": [
              0,
              1,
              2
            ],
            "type": "integer",
            "description": "The type of document that was created. Null if draft creation was not possible.",
            "format": "int32",
            "nullable": true
          },
          "DraftId": {
            "type": "string",
            "description": "The Id of the created draft. Null if draft creation was not possible due to insufficient interpretation data.",
            "format": "uuid",
            "nullable": true
          },
          "AttachmentId": {
            "type": "string",
            "description": "The Id of the uploaded attachment in the photo service. Always returned regardless of whether a draft was created.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Result of uploading and interpreting a purchase document"
      },
      "ElectronicInvoiceRequestApi": {
        "type": "object",
        "properties": {
          "SendType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = AutoInvoiceElectronic,<br/>2 = AutoInvoicePrint,<br/>3 = AutoInvoiceB2C,<br/>4 = Kivra<br/><br/>Used for sending the invoice via Autoinvoice. Possible values are.",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "EmailApi": {
        "type": "object",
        "properties": {
          "Email": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Default value is the customer's email address",
            "nullable": true
          },
          "CcRecipients": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Default value is the customer's cc email addresses (if omitted or empty list). Set to null to skip using any CC addresses.",
            "nullable": true
          },
          "Subject": {
            "type": "string",
            "description": "The default email subject found in the system followed by the company's name.The special pattern #### in the subject text will be replaced by the sales document number (quote, order or invoice).This allows you to create a subject that contains the sales document number without querying for the document first",
            "nullable": true
          },
          "Message": {
            "type": "string",
            "description": "Default value is the the domestic or foreign company text from /v2/companysettings",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "EmailSettingsApi": {
        "type": "object",
        "properties": {
          "Email": {
            "type": "string",
            "nullable": true
          },
          "CcRecipients": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "Subject": {
            "type": "string",
            "nullable": true
          },
          "Message": {
            "type": "string",
            "description": "Default email body content.",
            "nullable": true
          },
          "SuppressEmailWindow": {
            "type": "boolean",
            "description": "Suppresses the email content customization window for the user"
          }
        },
        "additionalProperties": false
      },
      "EmailSubjectsApi": {
        "type": "object",
        "properties": {
          "Quote": {
            "type": "string",
            "description": "The default quote email subject in the company's language",
            "nullable": true,
            "readOnly": true
          },
          "QuoteForeign": {
            "type": "string",
            "description": "The default quote email subject in English language",
            "nullable": true,
            "readOnly": true
          },
          "Order": {
            "type": "string",
            "description": "The default order email subject in the company's language",
            "nullable": true,
            "readOnly": true
          },
          "OrderForeign": {
            "type": "string",
            "description": "The default order email subject in English language",
            "nullable": true,
            "readOnly": true
          },
          "CustomerInvoice": {
            "type": "string",
            "description": "The default customer invoice email subject in the company's language",
            "nullable": true,
            "readOnly": true
          },
          "CustomerInvoiceForeign": {
            "type": "string",
            "description": "The default customer invoice email subject in English language",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "EmailWindowSettingsApi": {
        "type": "object",
        "properties": {
          "SuppressQuoteMailWindow": {
            "type": "boolean",
            "description": "Email content customization window suppression settings for the quote"
          },
          "SuppressOrderMailWindow": {
            "type": "boolean",
            "description": "Email content customization window suppression settings for the order"
          },
          "SuppressCustomerInvoiceMailWindow": {
            "type": "boolean",
            "description": "Email content customization window suppression settings for the customer invoice"
          }
        },
        "additionalProperties": false
      },
      "ExchangeRateApi": {
        "type": "object",
        "properties": {
          "Date": {
            "type": "string",
            "description": "Date of the exchange rate",
            "format": "date-time",
            "readOnly": true
          },
          "SourceCurrency": {
            "type": "string",
            "description": "Source currency code",
            "nullable": true,
            "readOnly": true
          },
          "TargetCurrency": {
            "type": "string",
            "description": "Target currency code",
            "nullable": true,
            "readOnly": true
          },
          "Rate": {
            "type": "number",
            "description": "Exchange rate value",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "FiscalYearApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "The unique identifier for the fiscal year",
            "format": "uuid",
            "readOnly": true
          },
          "StartDate": {
            "type": "string",
            "description": "The start date of the fiscal year",
            "format": "date-time"
          },
          "EndDate": {
            "type": "string",
            "description": "The end date of the fiscal year",
            "format": "date-time"
          },
          "IsLockedForAccounting": {
            "type": "boolean",
            "description": "Indicates if the fiscal year is locked for accounting purposes",
            "readOnly": true
          },
          "BookkeepingMethod": {
            "enum": [
              0,
              1,
              2
            ],
            "type": "integer",
            "description": "The bookkeeping method used for the fiscal year",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "FiscalYearUpdateApi": {
        "type": "object",
        "properties": {
          "IsLockedForAccounting": {
            "type": "boolean",
            "description": "Indicates if the fiscal year should be locked for accounting purposes"
          }
        },
        "additionalProperties": false
      },
      "ForeignPaymentCode": {
        "type": "object",
        "properties": {
          "Code": {
            "type": "integer",
            "format": "int32"
          },
          "Description": {
            "type": "string",
            "nullable": true
          },
          "Id": {
            "type": "string",
            "format": "uuid"
          },
          "CountryCode": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ForeignPaymentCodesApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "The unique identifier of the foreign payment code",
            "format": "uuid",
            "readOnly": true
          },
          "Code": {
            "type": "integer",
            "description": "The foreign payment code value",
            "format": "int32",
            "readOnly": true
          },
          "Description": {
            "type": "string",
            "description": "Description of the foreign payment code",
            "nullable": true,
            "readOnly": true
          },
          "CountryCode": {
            "type": "string",
            "description": "Country code for which this foreign payment code applies",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GetAmiliCaseIdMobileOnlyApi": {
        "type": "object",
        "properties": {
          "AmiliCaseId": {
            "type": "string",
            "description": "The case id in Amili",
            "nullable": true,
            "readOnly": true
          },
          "IsCaseClosed": {
            "type": "boolean",
            "description": "Indicates whether the case is closed",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "GraphDataResponseApiOfSalesAndPurchaseInvoicesChartMetadataApiDateTime": {
        "type": "object",
        "properties": {
          "Metadata": {
            "$ref": "#/components/schemas/SalesAndPurchaseInvoicesChartMetadataApi"
          },
          "Datasets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChartDatasetApiOfDateTime"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "IdentityApi": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string",
            "description": "Name of the identity",
            "nullable": true
          },
          "Number": {
            "type": "string",
            "description": "Identity number",
            "nullable": true
          },
          "Address": {
            "$ref": "#/components/schemas/AddressApi"
          },
          "Phone": {
            "type": "string",
            "description": "Phone",
            "nullable": true
          },
          "Type": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Company,<br/>2 = PrivatePerson<br/><br/>IdentityType.",
            "format": "int32"
          },
          "IsLiableToVat": {
            "type": "boolean",
            "description": "Bool: IsLiableToVat",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InventoryAccountingTemplateApi": {
        "required": [
          "Name"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id",
            "format": "uuid",
            "readOnly": true
          },
          "Active": {
            "type": "boolean",
            "description": "Whether the template is active"
          },
          "NoDepreciations": {
            "type": "boolean",
            "description": "Whether the template has no depreciations"
          },
          "IsCustom": {
            "type": "boolean",
            "description": "Whether the template is custom"
          },
          "Name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the template"
          },
          "NameEnglish": {
            "type": "string",
            "description": "The English name of the template",
            "nullable": true
          },
          "InventoryAccountNumber": {
            "type": "integer",
            "description": "The inventory account number",
            "format": "int64"
          },
          "InventoryAccountUseCostCenter": {
            "type": "boolean",
            "description": "Whether the inventory account uses cost center"
          },
          "DepreciationAssetAccountNumber": {
            "type": "integer",
            "description": "The depreciation asset account number",
            "format": "int64",
            "nullable": true
          },
          "DepreciationAssetAccountUseCostCenter": {
            "type": "boolean",
            "description": "Whether the depreciation asset account uses cost center"
          },
          "DepreciationResultAccountNumber": {
            "type": "integer",
            "description": "The depreciation result account number",
            "format": "int64",
            "nullable": true
          },
          "DepreciationResultAccountUseCostCenter": {
            "type": "boolean",
            "description": "Whether the depreciation result account uses cost center"
          },
          "CapitalGainAccountNumber": {
            "type": "integer",
            "description": "The capital gain account number",
            "format": "int64"
          },
          "CapitalGainAccountUseCostCenter": {
            "type": "boolean",
            "description": "Whether the capital gain account uses cost center"
          },
          "CapitalLossAccountNumber": {
            "type": "integer",
            "description": "The capital loss account number",
            "format": "int64"
          },
          "CapitalLossAccountUseCostCenter": {
            "type": "boolean",
            "description": "Whether the capital loss account uses cost center"
          },
          "TaxationDepreciation": {
            "type": "string",
            "description": "The taxation depreciation",
            "nullable": true
          },
          "AppreciationsAccountNumber": {
            "type": "integer",
            "description": "The appreciations account number",
            "format": "int64",
            "nullable": true
          },
          "AppreciationAccountUseCostCenter": {
            "type": "boolean",
            "description": "Whether the appreciation account uses cost center"
          },
          "AccumulatedImpairmentLossAccountNumber": {
            "type": "integer",
            "description": "The accumulated impairment loss account number",
            "format": "int64",
            "nullable": true
          },
          "AccumulatedImpairmentLossAccountUseCostCenter": {
            "type": "boolean",
            "description": "Whether the accumulated impairment loss account uses cost center"
          },
          "ImpairmentLossAccountNumber": {
            "type": "integer",
            "description": "The impairment loss account number",
            "format": "int64",
            "nullable": true
          },
          "ImpairmentLossAccountUseCostCenter": {
            "type": "boolean",
            "description": "Whether the impairment loss account uses cost center"
          },
          "ReversalOfImpairmentAccountNumber": {
            "type": "integer",
            "description": "The reversal of impairment account number",
            "format": "int64",
            "nullable": true
          },
          "ReversalOfImpairmentAccountUseCostCenter": {
            "type": "boolean",
            "description": "Whether the reversal of impairment account uses cost center"
          }
        },
        "additionalProperties": false
      },
      "InventoryAccumulatedDepreciationApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id",
            "format": "uuid",
            "readOnly": true
          },
          "FiscalYearId": {
            "type": "string",
            "description": "The fiscal year ID",
            "format": "uuid",
            "nullable": true
          },
          "OpeningAccumulatedDepreciation": {
            "type": "number",
            "description": "The opening accumulated depreciation",
            "format": "double"
          },
          "DepreciationForTheYear": {
            "type": "number",
            "description": "The depreciation for the year",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "InventoryEventApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id",
            "format": "uuid",
            "readOnly": true
          },
          "VoucherId": {
            "type": "string",
            "description": "The voucher ID",
            "format": "uuid",
            "nullable": true
          },
          "BookkeepingDate": {
            "type": "string",
            "description": "The bookkeeping date",
            "format": "date-time",
            "nullable": true
          },
          "UndoVoucherId": {
            "type": "string",
            "description": "The undo voucher ID",
            "format": "uuid",
            "nullable": true
          },
          "UndoBookkeepingDate": {
            "type": "string",
            "description": "The undo bookkeeping date",
            "format": "date-time",
            "nullable": true
          },
          "Type": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Depreciation,<br/>1 = Sale,<br/>4 = Disposal,<br/>5 = ValueChange,<br/>6 = Appreciation,<br/>7 = ImpairmentLoss,<br/>8 = ReversalOfImpairment,<br/>9 = AdditionalDepreciation,<br/>10 = CostOfAquisitionAdjustement,<br/>11 = DepreciationBasisAdjustement<br/><br/>The type of the event.",
            "format": "int32"
          },
          "Amount": {
            "type": "number",
            "description": "The amount",
            "format": "double"
          },
          "CurrentValueBeforeEvent": {
            "type": "number",
            "description": "The current value before the event",
            "format": "double"
          },
          "CreatedUtc": {
            "type": "string",
            "description": "The creation date and time in UTC",
            "format": "date-time",
            "readOnly": true
          },
          "Undone": {
            "type": "boolean",
            "description": "Whether the event is undone"
          }
        },
        "additionalProperties": false
      },
      "InventoryItemApi": {
        "required": [
          "Name"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by eAccounting",
            "format": "uuid",
            "readOnly": true
          },
          "Number": {
            "type": "integer",
            "description": "The inventory item number",
            "format": "int32",
            "readOnly": true
          },
          "Name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the inventory item"
          },
          "PurchasePrice": {
            "type": "number",
            "description": "The purchase price of the inventory item",
            "format": "double"
          },
          "PurchaseDate": {
            "type": "string",
            "description": "The purchase date of the inventory item",
            "format": "date-time"
          },
          "InventoryItemStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Inactive,<br/>2 = Active,<br/>3 = Sold,<br/>4 = Dispose<br/><br/>The status of the inventory item.",
            "format": "int32"
          },
          "Depreciate": {
            "type": "boolean",
            "description": "Whether the inventory item should be depreciated",
            "nullable": true
          },
          "LifeSpanInMonths": {
            "type": "integer",
            "description": "The lifespan of the inventory item in months",
            "format": "int32",
            "nullable": true
          },
          "DepreciationStartType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = PurchaseMonth,<br/>2 = MonthAfterPurchaseMonth,<br/>3 = FirstMonthOfPurchaseYear<br/><br/>The depreciation start type.",
            "format": "int32"
          },
          "FirstDepreciationDate": {
            "type": "string",
            "description": "The first depreciation date",
            "format": "date-time",
            "nullable": true
          },
          "LatestDepreciationDate": {
            "type": "string",
            "description": "The latest depreciation date",
            "format": "date-time",
            "nullable": true
          },
          "ResidualValue": {
            "type": "number",
            "description": "The residual value of the inventory item",
            "format": "double",
            "nullable": true
          },
          "CurrentValue": {
            "type": "number",
            "description": "The current value of the inventory item",
            "format": "double"
          },
          "CostCenterItemId1": {
            "type": "string",
            "description": "Cost center item ID 1",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId2": {
            "type": "string",
            "description": "Cost center item ID 2",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId3": {
            "type": "string",
            "description": "Cost center item ID 3",
            "format": "uuid",
            "nullable": true
          },
          "ProjectId": {
            "type": "string",
            "description": "Project ID",
            "format": "uuid",
            "nullable": true
          },
          "InventoryAccountingTemplate": {
            "$ref": "#/components/schemas/InventoryAccountingTemplateApi"
          },
          "Events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InventoryEventApi"
            },
            "description": "The events associated with the inventory item",
            "nullable": true
          },
          "OpeningDepreciations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InventoryAccumulatedDepreciationApi"
            },
            "description": "The opening depreciations",
            "nullable": true
          },
          "HasUpcomingDepreciations": {
            "type": "boolean",
            "description": "Whether the inventory item has upcoming depreciations",
            "readOnly": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "The creation date and time in UTC",
            "format": "date-time",
            "readOnly": true
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "The last modification date and time in UTC",
            "format": "date-time",
            "readOnly": true
          },
          "DepreciationBasis": {
            "type": "number",
            "description": "The depreciation basis",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "InvoicePaymentApi": {
        "required": [
          "CompanyBankAccountId",
          "PaymentAmount",
          "PaymentCurrency",
          "PaymentType"
        ],
        "type": "object",
        "properties": {
          "CompanyBankAccountId": {
            "type": "string",
            "description": "The bank account to which the payment is recorded",
            "format": "uuid"
          },
          "PaymentDate": {
            "type": "string",
            "description": "Future dates cannot be set. Date format: yyyy-mm-dd. Payment date must be sent in the timezone of the company instead of user's location timezone.",
            "format": "date-time"
          },
          "Reference": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Payment's reference",
            "nullable": true
          },
          "PaymentAmount": {
            "type": "number",
            "description": "Amount in invoice currency. If bank fee: for customer invoices, extract that amount here. For supplier invoices, do not extract bank fee amount here.",
            "format": "double"
          },
          "PaymentCurrency": {
            "minLength": 1,
            "type": "string",
            "description": "Currency code of the payment amount."
          },
          "DomesticPaymentAmount": {
            "type": "number",
            "description": "Only for non domestic invoices paid with cheque account. If bank fee: for customer invoices, extract that amount here. For supplier invoices, do not extract bank fee amount here.",
            "format": "double"
          },
          "BankFeeAmount": {
            "maximum": 1000000000,
            "minimum": 0,
            "type": "number",
            "description": "Bank fee amount",
            "format": "double"
          },
          "PaymentType": {
            "maximum": 4,
            "minimum": 1,
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>PartialPayment = 1,<br/>CompletePayment = 2,<br/>Rounding = 3,<br/>BankCharge = 4",
            "format": "int32"
          },
          "FactoringFeeAmount": {
            "type": "number",
            "description": "Factoring fee amount for the current invoice, supported only for customer invoice payments",
            "format": "double"
          },
          "FactoringFeeAccountNumber": {
            "type": "integer",
            "description": "Factoring account number, supported only for customer invoice payments",
            "format": "int64"
          },
          "BankTransactionId": {
            "type": "string",
            "description": "The internal id in the system of the bank transaction corresponding to the payment",
            "format": "uuid",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "InvoicePriceApi": {
        "type": "object",
        "properties": {
          "AutoInvoiceElectronicPrice": {
            "type": "number",
            "description": "Unit price for sending electronic AutoInvoice",
            "format": "double"
          },
          "AutoInvoicePrintPrice": {
            "type": "number",
            "description": "Unit price for sending printed AutoInvoice",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "InvoiceUrlApi": {
        "type": "object",
        "properties": {
          "Url": {
            "type": "string",
            "description": "The URL to the invoice.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "KivraLookupResponseApi": {
        "type": "object",
        "properties": {
          "MatchFound": {
            "type": "boolean",
            "description": "True if a Kivra match was found"
          },
          "SearchedBySsn": {
            "type": "boolean",
            "description": "True if the search has been made using the Social Security Number"
          }
        },
        "additionalProperties": false
      },
      "KivraStatusApi": {
        "type": "object",
        "properties": {
          "KivraInvoicePrice": {
            "type": "number",
            "description": "Price kr / sent e-invoice",
            "format": "double"
          },
          "KivraAttachmentPrice": {
            "type": "number",
            "description": "Price kr / sent e-invoice attachment",
            "format": "double"
          },
          "AgreementStatus": {
            "type": "string",
            "description": "Kivra agreement status can be Signed or NotSigned",
            "nullable": true
          },
          "ServiceAvailable": {
            "type": "boolean",
            "description": "False if Kivra service is not available for your company."
          }
        },
        "additionalProperties": false
      },
      "LargestPurchaseInvoiceDetails": {
        "type": "object",
        "properties": {
          "Amount": {
            "type": "number",
            "description": "Amount of the largest invoice",
            "format": "double",
            "nullable": true
          },
          "SupplierName": {
            "type": "string",
            "description": "Name of the supplier",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LargestSalesInvoiceDetails": {
        "type": "object",
        "properties": {
          "Amount": {
            "type": "number",
            "description": "Amount of the largest invoice",
            "format": "double",
            "nullable": true
          },
          "CustomerName": {
            "type": "string",
            "description": "Name of the customer",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LedgerVoucherRelationApi": {
        "type": "object",
        "properties": {
          "Amount": {
            "type": "number",
            "description": "The remaining amount for this relation",
            "format": "double",
            "readOnly": true
          },
          "CustomerId": {
            "type": "string",
            "description": "Customer Id fetch from the system, if this relation is for a customer",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "SupplierId": {
            "type": "string",
            "description": "Supplier Id fetch from the system, if this relation is for a supplier",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "MessageApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "The unique identifier of the message.",
            "format": "uuid",
            "readOnly": true
          },
          "Text": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string",
            "description": "The content of the message. Maximum length is 256 characters.",
            "nullable": true
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "The date and time (in UTC) when the message was last modified.",
            "format": "date-time",
            "readOnly": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "The date and time (in UTC) when the message was created.",
            "format": "date-time",
            "readOnly": true
          },
          "CreatedByUserId": {
            "type": "string",
            "description": "The unique identifier of the user who created the message.",
            "format": "uuid",
            "readOnly": true
          },
          "ModifiedByUserId": {
            "type": "string",
            "description": "The unique identifier of the user who last modified the message.",
            "format": "uuid",
            "readOnly": true
          },
          "MessageThreadId": {
            "type": "string",
            "description": "The unique identifier of the message thread to which this message belongs.",
            "format": "uuid",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "MessageReceiverApi": {
        "required": [
          "UserId"
        ],
        "type": "object",
        "properties": {
          "UserId": {
            "type": "string",
            "description": "The unique identifier of the user receiver.",
            "format": "uuid"
          },
          "Status": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>None = 0,<br/>New = 1,<br/>Read = 2,<br/>Open = 3,<br/>Close = 4<br/><br/>The status type of the message.",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "IsCurrentUser": {
            "type": "boolean",
            "description": "Indicates whether the receiver is the current user.",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "MessageStatusApi": {
        "required": [
          "Status"
        ],
        "type": "object",
        "properties": {
          "Status": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = New ,<br/>2 = Read,<br/>3 = Open,<br/>4 = Close<br/><br/>The status type of the message.",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "MessageThreadApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "The unique identifier of the message thread.",
            "format": "uuid",
            "readOnly": true
          },
          "DocumentType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>None = 0,<br/>CustomerInvoice = 1,<br/>CustomerInvoiceDraft = 2,<br/>SupplierInvoice = 3,<br/>Voucher = 4,<br/>Quotation = 5,<br/>Order = 6,<br/>SupplierInvoiceDraft = 7,<br/>WebshopOrder = 8,<br/>Customer = 9,<br/>Receipt = 10,<br/>Article = 11,<br/>VatReport = 12,<br/>Supplier = 13,<br/>Inventory = 14,<br/>Employee = 15,<br/>Payslip = 16,<br/>Image = 17,<br/>Reconciliation = 18,<br/>QuoteDraft = 19,<br/>VoucherDraft = 20,<br/>OrderDraft = 21<br/><br/>The document type to which the message thread is attached. Values are.",
            "format": "int32"
          },
          "DocumentId": {
            "type": "string",
            "description": "The unique identifier of the document to which the message thread is attached.",
            "format": "uuid",
            "nullable": true
          },
          "DocumentNumber": {
            "type": "string",
            "description": "Number of the document to which the message thread is attached.",
            "nullable": true,
            "readOnly": true
          },
          "Subject": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "The subject of the message thread.",
            "nullable": true
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "The date and time (in UTC) when the message thread was last modified.",
            "format": "date-time",
            "readOnly": true
          },
          "IsClosed": {
            "type": "boolean",
            "description": "Indicates whether the message thread is closed.",
            "readOnly": true
          },
          "MessageReceivers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MessageReceiverApi"
            },
            "description": "The list of message receivers associated with the message thread.",
            "nullable": true
          },
          "LastMessage": {
            "$ref": "#/components/schemas/MessageApi"
          }
        },
        "additionalProperties": false
      },
      "MessageToPostApi": {
        "required": [
          "DocumentType",
          "Message"
        ],
        "type": "object",
        "properties": {
          "Message": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string",
            "description": "The content of the message. Maximum length is 256 characters."
          },
          "Subject": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "The subject of the message. Maximum length is 40 characters.",
            "nullable": true
          },
          "DocumentType": {
            "maximum": 21,
            "minimum": 0,
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              17,
              18,
              19,
              20,
              21
            ],
            "type": "integer",
            "description": "The document type to which the message thread is attached.",
            "format": "int32"
          },
          "DocumentId": {
            "type": "string",
            "description": "The unique identifier of the document to which the message thread is attached.",
            "format": "uuid",
            "nullable": true
          },
          "MessageReceivers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MessageReceiverApi"
            },
            "description": "The list of message receivers. At least one receiver is required.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MonthlyReportApi": {
        "type": "object",
        "properties": {
          "ReportMonth": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1-12)<br/><br/>The month of the report (.",
            "format": "int32"
          },
          "RevenueSummary": {
            "$ref": "#/components/schemas/RevenueSummary"
          },
          "RevenueSummaryPreviousMonth": {
            "$ref": "#/components/schemas/RevenueSummary"
          },
          "RevenueSummaryLastYear": {
            "$ref": "#/components/schemas/RevenueSummary"
          },
          "SalesInvoicesSummary": {
            "$ref": "#/components/schemas/SalesInvoicesSummary"
          },
          "ArticleSalesSummary": {
            "$ref": "#/components/schemas/ArticleSalesSummary"
          },
          "PurchaseInvoicesSummary": {
            "$ref": "#/components/schemas/PurchaseInvoicesSummary"
          },
          "BankAccountSummary": {
            "$ref": "#/components/schemas/BankAccountSummary"
          },
          "UnpaidInvoicesSummary": {
            "$ref": "#/components/schemas/UnpaidInvoicesSummary"
          }
        },
        "additionalProperties": false
      },
      "NoteApi": {
        "required": [
          "Text"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "The unique identifier of the note",
            "format": "uuid",
            "readOnly": true
          },
          "UserId": {
            "type": "string",
            "description": "The unique identifier of the user who created the note",
            "format": "uuid",
            "readOnly": true
          },
          "AttachedTo": {
            "type": "string",
            "description": "The document Id to which the note can be attached",
            "format": "uuid",
            "nullable": true
          },
          "Text": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string",
            "description": "The text content of the note"
          },
          "Subject": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "The subject of the note",
            "nullable": true
          },
          "DocumentType": {
            "maximum": 21,
            "minimum": 0,
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>None = 0,<br/>CustomerInvoice = 1,<br/>CustomerInvoiceDraft = 2,<br/>SupplierInvoice = 3,<br/>Voucher = 4,<br/>Quotation = 5,<br/>Order = 6,<br/>SupplierInvoiceDraft = 7,<br/>WebshopOrder = 8,<br/>Customer = 9,<br/>Receipt = 10,<br/>Article = 11,<br/>VatReport = 12,<br/>Supplier = 13,<br/>Inventory = 14,<br/>Employee = 15,<br/>Payslip = 16,<br/>Image = 17,<br/>Reconciliation = 18,<br/>QuoteDraft = 19,<br/>VoucherDraft = 20,<br/>OrderDraft = 21<br/><br/>The document type to which the note is attached.",
            "format": "int32"
          },
          "CreatedUtc": {
            "type": "string",
            "description": "The time the note was created",
            "format": "date-time",
            "readOnly": true
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "The time the note was last modified",
            "format": "date-time",
            "readOnly": true
          },
          "IsDone": {
            "type": "boolean",
            "description": "Indicates whether the note is marked as done"
          }
        },
        "additionalProperties": false
      },
      "NotificationApi": {
        "type": "object",
        "properties": {
          "Type": {
            "enum": [
              1,
              2,
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15,
              16,
              17,
              18,
              20,
              24,
              25,
              27,
              28,
              29,
              30,
              31,
              32,
              33,
              34,
              35,
              36,
              37,
              38,
              39,
              40,
              41,
              42,
              43,
              44,
              45,
              46,
              47,
              49,
              56,
              57,
              58,
              59,
              60,
              61,
              62,
              65,
              66,
              67,
              68,
              69,
              70,
              71,
              72,
              73,
              74,
              75,
              76,
              77,
              78,
              79,
              80,
              81,
              82,
              83,
              84,
              85,
              86,
              87,
              88,
              89,
              90,
              91,
              92,
              93,
              94,
              95,
              96,
              97,
              98,
              99,
              100,
              101,
              102,
              103,
              104,
              105,
              106,
              107,
              108,
              109,
              110,
              111,
              112,
              113,
              114,
              115,
              116,
              117,
              118,
              119,
              120,
              121,
              122,
              128,
              129,
              130,
              131,
              132,
              133,
              134,
              135,
              136,
              137,
              138,
              139,
              140,
              141,
              142,
              143,
              144,
              145,
              146,
              150,
              151,
              152,
              153,
              154,
              155,
              156,
              157,
              158,
              159,
              160,
              161,
              162,
              163,
              164,
              165,
              166,
              167,
              168,
              169,
              170
            ],
            "type": "integer",
            "description": "Describes the type of notification",
            "format": "int32"
          },
          "Arguments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotificationArgumentApi"
            },
            "description": "Arguments for the notification",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NotificationArgumentApi": {
        "type": "object",
        "properties": {
          "Value": {
            "type": "string",
            "description": "The value of the notification argument",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "description": "The name of the notification argument",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OpeningBalancesApi": {
        "type": "object",
        "properties": {
          "Name": {
            "type": "string",
            "description": "The name of the account",
            "nullable": true
          },
          "Number": {
            "type": "integer",
            "description": "The account number",
            "format": "int64"
          },
          "Balance": {
            "type": "number",
            "description": "The opening balance amount on the account",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "OrderApi": {
        "required": [
          "CurrencyCode",
          "CustomerId",
          "EuThirdParty",
          "ReverseChargeOnConstructionServices",
          "RotReducedInvoicingType",
          "Status"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system",
            "format": "uuid",
            "readOnly": true
          },
          "Amount": {
            "type": "number",
            "description": "Format: 2 decimals",
            "format": "double"
          },
          "CustomerId": {
            "type": "string",
            "description": "Id of the customer for this order",
            "format": "uuid"
          },
          "CurrencyCode": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string"
          },
          "CreatedUtc": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "VatAmount": {
            "type": "number",
            "format": "double"
          },
          "RoundingsAmount": {
            "type": "number",
            "format": "double"
          },
          "DeliveredAmount": {
            "type": "number",
            "description": "Format: 2 decimals",
            "format": "double"
          },
          "DeliveredVatAmount": {
            "type": "number",
            "description": "Format: 2 decimals",
            "format": "double"
          },
          "DeliveredRoundingsAmount": {
            "type": "number",
            "description": "Format: 2 decimals",
            "format": "double"
          },
          "DeliveryCustomerName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true
          },
          "DeliveryAddress1": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true
          },
          "DeliveryAddress2": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true
          },
          "DeliveryPostalCode": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true
          },
          "DeliveryCity": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true
          },
          "DeliveryCountryCode": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true
          },
          "YourReference": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Equivalent for property YourReference in CustomerInvoiceApi models",
            "nullable": true
          },
          "OurReference": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Equivalent for property OurReference in CustomerInvoiceApi models",
            "nullable": true
          },
          "BuyersOrderReference": {
            "maxLength": 35,
            "minLength": 0,
            "type": "string",
            "description": "Reference for the customer of the order",
            "nullable": true
          },
          "InvoiceAddress1": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "If the value is null it will be filled with the value from the customer",
            "nullable": true
          },
          "InvoiceAddress2": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "If the value is null it will be filled with the value from the customer",
            "nullable": true
          },
          "InvoiceCity": {
            "type": "string",
            "description": "Default value is the value from the selected customer",
            "nullable": true
          },
          "InvoiceCountryCode": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "description": "Default value is the value from the selected customer",
            "nullable": true
          },
          "InvoiceCustomerName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "CustomerNumber": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "CustomerName": {
            "type": "string",
            "description": "The selected customer's name",
            "nullable": true,
            "readOnly": true
          },
          "InvoicePostalCode": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "description": "Default value is the value from the selected customer",
            "nullable": true
          },
          "DeliveryMethodName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "DeliveryMethodCode": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "DeliveryTermName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "DeliveryTermId": {
            "type": "string",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "DeliveryMethodId": {
            "type": "string",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "DeliveryTermCode": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "TermsOfPaymentId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "EuThirdParty": {
            "type": "boolean",
            "description": "Indicates whether the transaction is an EU triangulation sale (resale of goods through an intermediary within the EU)"
          },
          "CustomerIsPrivatePerson": {
            "type": "boolean",
            "description": "True if the customer of this order is a private individual, false otherwise",
            "readOnly": true
          },
          "IncludesVat": {
            "type": "boolean",
            "description": "True if company settings checkbox \"ShowPricesExclVatPC\" is checked and customer type is \"Private\", otherwise false",
            "readOnly": true
          },
          "OrderDate": {
            "type": "string",
            "description": "Expected date format YYYY-MM-DD",
            "format": "date-time"
          },
          "Status": {
            "maximum": 4,
            "minimum": 1,
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>Draft = 1,<br/>Ongoing = 2,<br/>Shipped = 3,<br/>Invoiced = 4<br/><br/>Status of the order.",
            "format": "int32"
          },
          "Number": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "Date and time of the last document modification",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "DeliveryDate": {
            "type": "string",
            "description": "Expected date format YYYY-MM-DD. Default value is null",
            "format": "date-time",
            "nullable": true
          },
          "HouseWorkAmount": {
            "type": "number",
            "description": "Amount of Rot/Rut deduction on the order",
            "format": "double"
          },
          "HouseWorkAutomaticDistribution": {
            "type": "boolean",
            "description": "True if the order uses automatic distribution of tax deduction. False otherwise"
          },
          "HouseWorkCorporateIdentityNumber": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Corporate identity number used for deduction",
            "nullable": true
          },
          "HouseWorkPropertyName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Name of the property used for deduction if applicable",
            "nullable": true
          },
          "SalesDocumentAttachments": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Fetch SalesDocumentAttachments via GET /v2/salesdocumentattachments/{attachmentId}",
            "nullable": true,
            "readOnly": true
          },
          "MessageThreads": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Fetch messages via GET /v2/messagethreads/{messageThreadId}",
            "nullable": true,
            "readOnly": true
          },
          "Notes": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Fetch notes via GET /v2/notes/{notesId}",
            "nullable": true,
            "readOnly": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderRowApi"
            },
            "nullable": true
          },
          "ShippedDateTime": {
            "type": "string",
            "description": "Expected date format YYYY-MM-DD. Default value is null",
            "format": "date-time",
            "nullable": true
          },
          "RotReducedInvoicingType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Normal,<br/>1 = Rot,<br/>2 = Rut",
            "format": "int32"
          },
          "MaxAllowedTaxReductionAmount": {
            "type": "number",
            "description": "Default: maximum allowed tax reduction amount",
            "format": "double",
            "readOnly": true
          },
          "RotReducedInvoicingPercent": {
            "type": "number",
            "description": "Format: 4 decimals",
            "format": "double",
            "readOnly": true
          },
          "RotPropertyType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Apartment,<br/>2 = Property<br/><br/>Leave blank or set to null if you do not intend to use ROT or Green Technology functionality.",
            "format": "int32",
            "nullable": true
          },
          "Persons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDocumentRotRutReductionPersonApi"
            },
            "nullable": true
          },
          "ReverseChargeOnConstructionServices": {
            "type": "boolean",
            "description": "<strong>Possible values:</strong><br/>True = this order contains reverse charge on construction services<br/>False = otherwise"
          },
          "UsesGreenTechnology": {
            "type": "boolean",
            "description": "<strong>Possible values:</strong><br/>True = This order uses green technology<br/>False = Otherwise"
          },
          "IsNotDelivered": {
            "type": "boolean",
            "readOnly": true
          },
          "ContributionMargin": {
            "$ref": "#/components/schemas/ContributionMarginApi"
          },
          "CreatedFromQuoteId": {
            "type": "string",
            "description": "Id of the quote this order was created from. Is null if order wasn't created by converting a quote",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "BackgroundId": {
            "type": "string",
            "description": "Represents the identifier for the background image or template used on the PDF printout",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "OrderConversionApi": {
        "type": "object",
        "properties": {
          "WorkHouseOtherCosts": {
            "type": "number",
            "description": "Only used for ROT/RUT work house other costs",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "OrderDryRunApi": {
        "required": [
          "CurrencyCode",
          "CustomerId",
          "Status"
        ],
        "type": "object",
        "properties": {
          "OrderDate": {
            "type": "string",
            "description": "Format: YYYY-MM-DD",
            "format": "date-time"
          },
          "CustomerId": {
            "type": "string",
            "description": "Id of the customer for this order",
            "format": "uuid"
          },
          "Amount": {
            "type": "number",
            "description": "Format: 2 decimals",
            "format": "double"
          },
          "CurrencyCode": {
            "minLength": 1,
            "type": "string",
            "description": "Currency code"
          },
          "VatAmount": {
            "type": "number",
            "description": "VAT amount",
            "format": "double"
          },
          "RoundingsAmount": {
            "type": "number",
            "description": "Roundings amount",
            "format": "double"
          },
          "DeliveredAmount": {
            "type": "number",
            "description": "Delivered amount",
            "format": "double"
          },
          "DeliveredVatAmount": {
            "type": "number",
            "description": "Delivered VAT amount",
            "format": "double"
          },
          "DeliveredRoundingsAmount": {
            "type": "number",
            "description": "Delivered roundings amount",
            "format": "double"
          },
          "HouseWorkAmount": {
            "type": "number",
            "description": "House work amount",
            "format": "double"
          },
          "HouseWorkAutomaticDistribution": {
            "type": "boolean",
            "description": "House work automatic distribution"
          },
          "IncludesVat": {
            "type": "boolean",
            "description": "Purpose: To indicate whether order article row - UnitPrice includes VAT. true - article row UnitPrice includes VAT, false - article row UnitPrice does not include VAT, null - default behavior. Default: true if company settings checkbox \"ShowPricesExclVatPC\" is checked and customer type is \"Private\", otherwise false.",
            "nullable": true
          },
          "Persons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDocumentRotRutReductionPersonApi"
            },
            "description": "ROT/RUT reduction persons",
            "nullable": true
          },
          "ReverseChargeOnConstructionServices": {
            "type": "boolean",
            "description": "Reverse charge on construction services"
          },
          "RotPropertyType": {
            "type": "integer",
            "description": "ROT property type",
            "format": "int32",
            "nullable": true
          },
          "RotReducedInvoicingPercent": {
            "type": "number",
            "description": "ROT reduced invoicing percent",
            "format": "double"
          },
          "RotReducedInvoicingType": {
            "enum": [
              0,
              1,
              2
            ],
            "type": "integer",
            "description": "ROT reduction type",
            "format": "int32"
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderRowApi"
            },
            "description": "Order rows",
            "nullable": true
          },
          "UsesGreenTechnology": {
            "type": "boolean",
            "description": "<strong>Possible values:</strong><br/>True = Uses green technology<br/>False = Otherwise"
          },
          "Status": {
            "maximum": 4,
            "minimum": 1,
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Draft,<br/>2 = Ongoing,<br/>3 = Shipped,<br/>4 = Invoiced",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "OrderRowApi": {
        "required": [
          "EligibleForReverseChargeOnVat",
          "IsTextRow",
          "IsWorkCost",
          "LineNumber"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system for every row",
            "format": "uuid",
            "readOnly": true
          },
          "LineNumber": {
            "maximum": 1000,
            "minimum": 0,
            "type": "integer",
            "description": "Number of the line in order on the row",
            "format": "int32"
          },
          "DeliveredQuantity": {
            "type": "number",
            "description": "Format: 2 decimals",
            "format": "double"
          },
          "ArticleId": {
            "type": "string",
            "description": "Set for article rows. It is null for text rows",
            "format": "uuid",
            "nullable": true
          },
          "IsServiceArticle": {
            "type": "boolean",
            "description": "True if the article is a service article. False otherwise",
            "readOnly": true
          },
          "UnitId": {
            "type": "string",
            "description": "Source: Get from /v2/units/{id}",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "ArticleNumber": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "IsTextRow": {
            "type": "boolean",
            "description": "True if this is a text row. False otherwise"
          },
          "Text": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string",
            "description": "Default: For non text rows, default value will be the article's name; for text rows, there should be at least one character in place",
            "nullable": true
          },
          "UnitPrice": {
            "type": "number",
            "description": "Format: 2 decimals allowed if the customer and currency are domestic or 4 decimals if customer or currency is foreign",
            "format": "double"
          },
          "Amount": {
            "type": "number",
            "description": "Returns a total amount of row. Format: 2 decimals",
            "format": "double"
          },
          "IsDiscountInFixedAmount": {
            "type": "boolean",
            "description": "True if the discount on the row is a fixed amount, false otherwise",
            "readOnly": true
          },
          "DiscountFixedAmount": {
            "type": "number",
            "description": "Fixed amount discount on the row. Only applicable if IsDiscountInFixedAmount is true. Format: 2 decimals",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "DiscountPercentage": {
            "maximum": 1,
            "minimum": 0,
            "type": "number",
            "description": "Percentage discount on the row. Format: 4 decimals",
            "format": "double"
          },
          "Quantity": {
            "type": "number",
            "description": "Format: 4 decimals",
            "format": "double"
          },
          "WorkCostType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>None = 0,<br/>RotConstructionWork = 1,<br/>RotElectricalWork = 2,<br/>RotGlassSheetMetalWork = 3,<br/>RotGroundWork = 4,<br/>RotBrickWork = 5,<br/>RotPaintDecorateWork = 6,<br/>RotPlumbWork = 7,<br/>RutCleanJobWork = 9,<br/>RutCareClothTextile = 10,<br/>RutSnowRemove = 12,<br/>RutGarden = 13,<br/>RutBabySitting = 14,<br/>RutOtherCare = 15,<br/>RutRemovalServices = 18,<br/>RutITServices = 19,<br/>RotHeatPump = 20,<br/>RotHeatPump2 = 21,<br/>RutHomeAppliances = 22,<br/>RotSolarHeatingSystem = 23,<br/>RotWoodBoiler = 24,<br/>RotFuelBoiler = 25,<br/>RutLaundry = 26,<br/>RutFurnishing = 27,<br/>RutGoodsTransport = 28,<br/>RutHomeSupervision = 29<br/><br/>Only used for Rot/Rut.",
            "format": "int32"
          },
          "IsWorkCost": {
            "type": "boolean",
            "description": "Only used for Rot/Rut"
          },
          "WorkHours": {
            "type": "number",
            "description": "Only used for Rot/Rut",
            "format": "double",
            "nullable": true
          },
          "MaterialCosts": {
            "type": "number",
            "description": "Only used for Rot/Rut",
            "format": "double",
            "nullable": true
          },
          "EligibleForReverseChargeOnVat": {
            "type": "boolean",
            "description": "True if this row is eligible for reverse charge on VAT. False otherwise"
          },
          "VatRate": {
            "type": "number",
            "description": "When row is a text row the value is null. Default value is also null",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "CostCenterItemId1": {
            "type": "string",
            "description": "Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId2": {
            "type": "string",
            "description": "Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId3": {
            "type": "string",
            "description": "Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "ProjectId": {
            "type": "string",
            "description": "Get from /v2/projects",
            "format": "uuid",
            "nullable": true
          },
          "GreenTechnologyType": {
            "maximum": 3,
            "minimum": 0,
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>None = 0,<br/>SolarCellInstallation = 1,<br/>ElectricEnergyStorageInstallation = 2,<br/>ElectricVehicleChargingPointInstallation = 3<br/><br/>Type of green technology for the row.",
            "format": "int32"
          },
          "ContributionMargin": {
            "$ref": "#/components/schemas/ContributionMarginApi"
          },
          "PurchasePrice": {
            "type": "number",
            "description": "Purchase price for the article on this row, valid only if it is an article row",
            "format": "double",
            "readOnly": true
          },
          "FreightCosts": {
            "type": "number",
            "description": "Freight costs for the article on this row, valid only if it is an article row",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfAccountApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfAccountBalanceApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountBalanceApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfAccountTypesApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountTypesApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfAccountingTemplateApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountingTemplateApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfAllocationPeriodApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AllocationPeriodApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfAppStoreActivationStatusApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppStoreActivationStatusApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfArticleAccountCodingApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleAccountCodingApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfArticleApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfArticleLabelApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleLabelApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfAttachment": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Attachment"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfAutoInvoiceAddressApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutoInvoiceAddressApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfBankAccountApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BankAccountApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfBankApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BankApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfBankTransactionApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BankTransactionApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfCostCenterApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CostCenterApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfCountryApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CountryApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfCurrencyApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CurrencyApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfCustomerApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfCustomerInvoiceApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerInvoiceApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfCustomerInvoiceBookkeepingHistoryApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerInvoiceBookkeepingHistoryApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfCustomerInvoiceDraftApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerInvoiceDraftApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfCustomerInvoiceValuationHistoryApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerInvoiceValuationHistoryApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfCustomerLabelApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerLabelApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfCustomerLedgerItemApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerLedgerItemApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfDeletedAllocationPeriodApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeletedAllocationPeriodApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfDeliveryMethodApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeliveryMethodApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfDeliveryTermApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DeliveryTermApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfDiscountAgreementApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiscountAgreementApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfDocumentApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfFiscalYearApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FiscalYearApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfForeignPaymentCodesApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ForeignPaymentCodesApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfInventoryItemApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InventoryItemApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfLedgerVoucherRelationApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LedgerVoucherRelationApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfMessageApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MessageApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfMessageThreadApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MessageThreadApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfNoteApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NoteApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfNotificationApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotificationApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfOpeningBalancesApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OpeningBalancesApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfOrderApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfPartnerResourceLinkApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PartnerResourceLinkApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfPermissionApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PermissionApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfProjectApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProjectApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfPurchaseReceiptDraftApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchaseReceiptDraftApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfQuoteApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuoteApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfSalesDocumentAttachmentApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDocumentAttachmentApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfSalesDocumentHistoryApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDocumentHistoryApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfSalesPriceListApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesPriceListApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfSalesPriceListRowApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesPriceListRowApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfStandardAccountApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StandardAccountApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfSupplierApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfSupplierInvoiceApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierInvoiceApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfSupplierInvoiceDraftApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierInvoiceDraftApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfSupplierInvoiceValuationHistoryApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierInvoiceValuationHistoryApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfTermsOfPaymentApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TermsOfPaymentApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfUnitApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UnitApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfUserApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UserApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfVatCodeApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VatCodeApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfVatCodeRateApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VatCodeRateApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfVatReportApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VatReportApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfVoucherApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VoucherApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfVoucherDraftApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VoucherDraftApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfWebHookApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebHookApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PaginatedResponseOfWebshopOrderApi": {
        "required": [
          "Data",
          "Meta"
        ],
        "type": "object",
        "properties": {
          "Meta": {
            "$ref": "#/components/schemas/CommonPaginationMetadata"
          },
          "Data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebshopOrderApi"
            }
          }
        },
        "additionalProperties": false
      },
      "PartnerResourceLinkApi": {
        "required": [
          "Href",
          "PartnerCompanyName",
          "PartnerSystemName",
          "ResourceId",
          "ResourceType"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Purpose: Id provided by the system",
            "format": "uuid",
            "readOnly": true
          },
          "ResourceId": {
            "type": "string",
            "description": "Purpose: Link to the resource in the system",
            "format": "uuid"
          },
          "ResourceType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Article,<br/>1 = Customer,<br/>2 = Supplier,<br/>3 = CustomerInvoice,<br/>4 = SupplierInvoice,<br/>5 = CustomerInvoiceDraft,<br/>6 = SupplierInvoiceDraft",
            "format": "int32"
          },
          "Href": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string",
            "description": "Link to the third party solution page"
          },
          "PartnerCompanyName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Name of the partner company"
          },
          "PartnerSystemName": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Name of the partner system"
          }
        },
        "additionalProperties": false
      },
      "PaymentReminderEmailApi": {
        "type": "object",
        "properties": {
          "LatePaymentFee": {
            "maximum": 10000000,
            "minimum": 0,
            "type": "number",
            "description": "Amount for late pament fee.",
            "format": "double"
          },
          "EmailDetails": {
            "$ref": "#/components/schemas/EmailApi"
          }
        },
        "additionalProperties": false
      },
      "PaymentVoucherApi": {
        "required": [
          "Rows",
          "VoucherText"
        ],
        "type": "object",
        "properties": {
          "VoucherDate": {
            "type": "string",
            "description": "Bookkeeping date. Format: yyyy-mm-dd",
            "format": "date-time"
          },
          "VoucherText": {
            "maxLength": 1000,
            "minLength": 0,
            "type": "string",
            "description": "Voucher's description"
          },
          "NumberSeries": {
            "type": "string",
            "description": "Returns the number series. Use parameter useDefaultVoucherSeries with false value to set Series.",
            "nullable": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PaymentVoucherRowApi"
            },
            "description": "The accounting rows/lines of the payment voucher"
          }
        },
        "additionalProperties": false
      },
      "PaymentVoucherRowApi": {
        "required": [
          "AccountNumber"
        ],
        "type": "object",
        "properties": {
          "AccountNumber": {
            "maximum": 9999999999,
            "minimum": 1,
            "type": "integer",
            "description": "Account number for the row",
            "format": "int64"
          },
          "DebitAmount": {
            "maximum": 1000000000,
            "minimum": 0,
            "type": "number",
            "description": "Debit amount.",
            "format": "double"
          },
          "CreditAmount": {
            "maximum": 1000000000,
            "minimum": 0,
            "type": "number",
            "description": "Credit amount.",
            "format": "double"
          },
          "TransactionText": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Row description",
            "nullable": true
          },
          "CostCenterItemId1": {
            "type": "string",
            "description": "Cost center item Id. Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId2": {
            "type": "string",
            "description": "Cost center item Id. Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId3": {
            "type": "string",
            "description": "Cost center item Id. Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "VatCodeId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "ReceivableId": {
            "type": "string",
            "description": "Id of the customer invoice to be paid",
            "format": "uuid",
            "nullable": true
          },
          "PayableId": {
            "type": "string",
            "description": "Id of the supplier invoice to be paid",
            "format": "uuid",
            "nullable": true
          },
          "ProjectId": {
            "type": "string",
            "description": "Project Id. Source: Get from /v2/projects",
            "format": "uuid",
            "nullable": true
          },
          "Quantity": {
            "type": "number",
            "description": "Quantity. This feature is for Dutch companies only which enabled agriculture support",
            "format": "double",
            "nullable": true
          },
          "Weight": {
            "type": "number",
            "description": "Weight. This feature is for Dutch companies only which enabled agriculture support",
            "format": "double",
            "nullable": true
          },
          "DeliveryDate": {
            "type": "string",
            "description": "Delivery date. Format: YYYY-MM-DD. This feature is for Dutch companies only which enabled agriculture support",
            "format": "date-time",
            "nullable": true
          },
          "HarvestYear": {
            "type": "integer",
            "description": "Harvest year. This feature is for Dutch companies only which enabled agriculture support",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PermissionApi": {
        "type": "object",
        "properties": {
          "PermissionName": {
            "type": "string",
            "description": "The name of the permission",
            "nullable": true
          },
          "HasAccess": {
            "type": "boolean",
            "description": "Indicates whether the user has access to this permission"
          }
        },
        "additionalProperties": false
      },
      "ProjectApi": {
        "required": [
          "Name",
          "Number",
          "Status"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system",
            "format": "uuid",
            "readOnly": true
          },
          "Number": {
            "maxLength": 9,
            "minLength": 0,
            "type": "string",
            "description": "Project number."
          },
          "Name": {
            "maxLength": 200,
            "minLength": 0,
            "type": "string",
            "description": "Project name."
          },
          "StartDate": {
            "type": "string",
            "description": "Project start date",
            "format": "date-time"
          },
          "EndDate": {
            "type": "string",
            "description": "Project end date",
            "format": "date-time",
            "nullable": true
          },
          "CustomerId": {
            "type": "string",
            "description": "Customer Id. Source: Get from /v2/customers",
            "format": "uuid",
            "nullable": true
          },
          "CustomerName": {
            "type": "string",
            "description": "Customer name depending on CustomerId",
            "nullable": true,
            "readOnly": true
          },
          "Notes": {
            "maxLength": 500,
            "minLength": 0,
            "type": "string",
            "description": "Project notes.",
            "nullable": true
          },
          "Status": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Ongoing,<br/>2 = Finished<br/><br/>Project status.",
            "format": "int32"
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "Is automatically set",
            "format": "date-time",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "PurchaseInvoicesSummary": {
        "type": "object",
        "properties": {
          "InvoicedAmount": {
            "type": "number",
            "description": "Total invoiced amount for the current month",
            "format": "double",
            "nullable": true
          },
          "InvoicedAmountPreviousMonth": {
            "type": "number",
            "description": "Total invoiced amount for the previous month",
            "format": "double",
            "nullable": true
          },
          "InvoicedAmountLastYearSameMonth": {
            "type": "number",
            "description": "Total invoiced amount for the same month last year",
            "format": "double",
            "nullable": true
          },
          "InvoicedAmountDifference": {
            "type": "number",
            "description": "Difference between current month and previous month",
            "format": "double",
            "nullable": true
          },
          "LargestPurchaseInvoice": {
            "$ref": "#/components/schemas/LargestPurchaseInvoiceDetails"
          },
          "TotalAmountOfPurchaseInvoicesReceived": {
            "type": "integer",
            "description": "Total number of purchase invoices received",
            "format": "int32",
            "nullable": true
          },
          "TotalAmountOfDigitalPurchaseInvoicesReceived": {
            "type": "integer",
            "description": "Total number of digital purchase invoices received",
            "format": "int32",
            "nullable": true
          },
          "TotalMinutesSavedByDigitalPurchaseInvoicesReceived": {
            "type": "integer",
            "description": "Total minutes saved by using digital purchase invoices",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PurchaseReceiptDraftApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier provided by the system.",
            "format": "uuid",
            "readOnly": true
          },
          "TotalAmount": {
            "pattern": "[-]?\\d+(.\\d{1,2})?",
            "type": "number",
            "description": "The total amount of the receipt including VAT.",
            "format": "double"
          },
          "BankAccountId": {
            "type": "string",
            "description": "The bank account associated with this receipt draft. Get from /v2/bankaccounts.",
            "format": "uuid",
            "nullable": true
          },
          "BankAccountName": {
            "type": "string",
            "description": "The name of the bank account associated with this receipt draft.",
            "nullable": true,
            "readOnly": true
          },
          "AccountingTemplateId": {
            "type": "string",
            "description": "The accounting template identifier. Get from /v2/accountingtemplates.",
            "format": "uuid",
            "nullable": true
          },
          "AccountingTemplateName": {
            "type": "string",
            "description": "The name of the accounting template associated with this receipt draft.",
            "nullable": true,
            "readOnly": true
          },
          "Date": {
            "type": "string",
            "description": "The date of the receipt. Format: YYYY-MM-DD.",
            "format": "date-time"
          },
          "Description": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Description of the receipt. Maximum length: 100 characters.",
            "nullable": true
          },
          "ReceiptNumber": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "The receipt number. Maximum length: 20 characters.",
            "nullable": true
          },
          "SupplierId": {
            "type": "string",
            "description": "The supplier identifier. Get from /v2/suppliers.",
            "format": "uuid",
            "nullable": true
          },
          "SupplierName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "The supplier name.",
            "nullable": true
          },
          "Vat": {
            "pattern": "[-]?\\d+(.\\d{1,2})?",
            "type": "number",
            "description": "The total VAT amount.",
            "format": "double"
          },
          "VatHigh": {
            "pattern": "[-]?\\d+(.\\d{1,2})?",
            "type": "number",
            "description": "The high VAT amount.",
            "format": "double"
          },
          "VatMedium": {
            "pattern": "[-]?\\d+(.\\d{1,2})?",
            "type": "number",
            "description": "The medium VAT amount.",
            "format": "double"
          },
          "VatLow": {
            "pattern": "[-]?\\d+(.\\d{1,2})?",
            "type": "number",
            "description": "The low VAT amount.",
            "format": "double"
          },
          "IncludeVat": {
            "type": "boolean",
            "description": "Indicates whether the amounts include VAT.",
            "readOnly": true
          },
          "JournalSeries": {
            "type": "string",
            "description": "The journal series that will be used when the draft is bookkept.",
            "nullable": true,
            "readOnly": true
          },
          "AttachmentIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The attachment ids linked to this receipt draft.",
            "nullable": true,
            "readOnly": true
          },
          "IsBalanced": {
            "type": "boolean",
            "description": "Indicates whether the total debit amount equals the total credit amount across all rows.",
            "readOnly": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PurchaseReceiptDraftRowApi"
            },
            "description": "The receipt rows with account details and amounts.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a purchase receipt draft in the accounting system."
      },
      "PurchaseReceiptDraftRowApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier of the row.",
            "format": "uuid",
            "readOnly": true
          },
          "AccountNumber": {
            "type": "integer",
            "description": "The account number for this row.",
            "format": "int64"
          },
          "AccountName": {
            "type": "string",
            "description": "The name of the account.",
            "nullable": true
          },
          "CostCenterItemId1": {
            "type": "string",
            "description": "The first cost center item identifier. Get from /v2/costcenters.",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId2": {
            "type": "string",
            "description": "The second cost center item identifier. Get from /v2/costcenters.",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId3": {
            "type": "string",
            "description": "The third cost center item identifier. Get from /v2/costcenters.",
            "format": "uuid",
            "nullable": true
          },
          "ProjectId": {
            "type": "string",
            "description": "The project identifier. Get from /v2/projects.",
            "format": "uuid",
            "nullable": true
          },
          "DebitAmount": {
            "type": "number",
            "description": "The debit amount for this row.",
            "format": "double"
          },
          "CreditAmount": {
            "type": "number",
            "description": "The credit amount for this row.",
            "format": "double"
          },
          "LineNumber": {
            "type": "integer",
            "description": "The line number for this row.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a line item in a purchase receipt draft."
      },
      "QuoteApi": {
        "required": [
          "CustomerId"
        ],
        "type": "object",
        "properties": {
          "ApprovedDate": {
            "type": "string",
            "description": "Default: null. Value will be set if the quote is approved",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "BackgroundId": {
            "type": "string",
            "description": "Represents the identifier for the background image or template used on the PDF printout",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "BuyersOrderReference": {
            "maxLength": 35,
            "minLength": 0,
            "type": "string",
            "description": "Reference for the customer of the quote",
            "nullable": true
          },
          "CompanyReference": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Equivalent for property OurReference in OrderApi and CustomerInvoiceApi models",
            "nullable": true
          },
          "ContributionMargin": {
            "$ref": "#/components/schemas/ContributionMarginApi"
          },
          "CreatedUtc": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "CurrencyCode": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "CurrencyRate": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "CustomerId": {
            "type": "string",
            "description": "Id of the customer for this quote",
            "format": "uuid"
          },
          "CustomerIsPrivatePerson": {
            "type": "boolean",
            "description": "True if the customer of this quote is a private individual, false otherwise",
            "readOnly": true
          },
          "CustomerName": {
            "type": "string",
            "description": "The selected customer's name",
            "nullable": true,
            "readOnly": true
          },
          "CustomerNumber": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "CustomerReference": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Equivalent for property YourReference in OrderApi and CustomerInvoiceApi models",
            "nullable": true
          },
          "DeliveryAddress1": {
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true,
            "readOnly": true
          },
          "DeliveryAddress2": {
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true,
            "readOnly": true
          },
          "DeliveryCity": {
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true,
            "readOnly": true
          },
          "DeliveryCountryCode": {
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true,
            "readOnly": true
          },
          "DeliveryCustomerName": {
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true,
            "readOnly": true
          },
          "DeliveryDate": {
            "type": "string",
            "description": "Expected date format YYYY-MM-DD. Default value is null",
            "format": "date-time",
            "nullable": true
          },
          "DeliveryMethodCode": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "DeliveryMethodName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "DeliveryPostalCode": {
            "type": "string",
            "description": "Takes the value from the selected customer",
            "nullable": true,
            "readOnly": true
          },
          "DeliveryTermCode": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "DeliveryTermName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "QuoteDate": {
            "type": "string",
            "description": "Expected date format YYYY-MM-DD.",
            "format": "date-time"
          },
          "DueDate": {
            "type": "string",
            "description": "Expected date format YYYY-MM-DD.",
            "format": "date-time"
          },
          "EuThirdParty": {
            "type": "boolean",
            "description": "Indicates whether the transaction is an EU triangulation sale (resale of goods through an intermediary within the EU)"
          },
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system",
            "format": "uuid",
            "readOnly": true
          },
          "IncludesVat": {
            "type": "boolean",
            "description": "True if company settings checkbox \"ShowPricesExclVatPC\" is checked and customer type is \"Private\", otherwise false",
            "readOnly": true
          },
          "InvoiceAddress1": {
            "type": "string",
            "description": "If the value is null it will be filled with the value from the customer",
            "nullable": true,
            "readOnly": true
          },
          "InvoiceAddress2": {
            "type": "string",
            "description": "If the value is null it will be filled with the value from the customer",
            "nullable": true,
            "readOnly": true
          },
          "InvoiceCity": {
            "type": "string",
            "description": "Default value is the value from the selected customer",
            "nullable": true,
            "readOnly": true
          },
          "InvoiceCountryCode": {
            "type": "string",
            "description": "Default value is the value from the selected customer",
            "nullable": true,
            "readOnly": true
          },
          "InvoiceCustomerName": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          },
          "InvoicePostalCode": {
            "type": "string",
            "description": "Default value is the value from the selected customer",
            "nullable": true,
            "readOnly": true
          },
          "IsDomestic": {
            "type": "boolean",
            "readOnly": true
          },
          "IsNotDelivered": {
            "type": "boolean",
            "readOnly": true
          },
          "MessageThreads": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Fetch messages via GET /v2/messagethreads/{messageThreadId}",
            "nullable": true,
            "readOnly": true
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "Date and time of the last document modification",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "Notes": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Fetch notes via GET /v2/notes/{notesId}",
            "nullable": true,
            "readOnly": true
          },
          "Number": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "readOnly": true
          },
          "Persons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDocumentRotRutReductionPersonApi"
            },
            "description": "Only available for ROT/RUT or Green Technology",
            "nullable": true
          },
          "RotPropertyType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Apartment,<br/>2 = Property<br/><br/>Leave blank or set to null if you do not intend to use ROT or Green Technology functionality.",
            "format": "int32",
            "nullable": true
          },
          "RotReducedInvoicingAmount": {
            "type": "number",
            "description": "Format: 2 decimals",
            "format": "double"
          },
          "MaxAllowedTaxReductionAmount": {
            "type": "number",
            "description": "Default: maximum allowed tax reduction amount",
            "format": "double",
            "readOnly": true
          },
          "RotReducedInvoicingAutomaticDistribution": {
            "type": "boolean",
            "description": "True if quote uses automatic distribution of rot/rut deduction, false otherwise",
            "readOnly": true
          },
          "RotReducedInvoicingOrgNumber": {
            "type": "string",
            "nullable": true
          },
          "RotReducedInvoicingPercent": {
            "type": "number",
            "description": "Format: 4 decimals",
            "format": "double",
            "readOnly": true
          },
          "RotReducedInvoicingPropertyName": {
            "type": "string",
            "nullable": true
          },
          "RotReducedInvoicingType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Normal,<br/>1 = Rot,<br/>2 = Rut",
            "format": "int32"
          },
          "RoundingsAmount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuoteRowApi"
            },
            "nullable": true
          },
          "SalesDocumentAttachments": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Fetch SalesDocumentAttachments via GET /v2/salesdocumentattachments/{attachmentId}",
            "nullable": true,
            "readOnly": true
          },
          "Status": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Draft,<br/>1 = Ongoing,<br/>2 = Approved,<br/>3 = Invoiced,<br/>4 = OrderCreated<br/><br/>Status of the quote. Possible values are.",
            "format": "int32",
            "readOnly": true
          },
          "TermsOfPayment": {
            "$ref": "#/components/schemas/TermsOfPaymentApi"
          },
          "TotalAmount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "UsesGreenTechnology": {
            "type": "boolean",
            "description": "<strong>Possible values:</strong><br/>True = This quote uses green technology<br/>False = Otherwise"
          },
          "VatAmount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "QuoteConversionApi": {
        "type": "object",
        "properties": {
          "Type": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = OrderDraft,<br/>1 = Order<br/><br/>Type of desired conversion.Values are.",
            "format": "int32"
          },
          "WorkHouseOtherCosts": {
            "type": "number",
            "description": "Only used for converting ROT/RUT/GreenTechnology Quotes to Customer Invoices",
            "format": "double",
            "nullable": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuoteRowConversionApi"
            },
            "description": "Only used for converting ROT/RUT/GreenTechnology Quotes to Customer Invoices",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "QuoteDryRunApi": {
        "type": "object",
        "properties": {
          "CurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "CustomerId": {
            "type": "string",
            "format": "uuid"
          },
          "IncludesVat": {
            "type": "boolean",
            "description": "Inicates if the quote includes VAT.By default is true if company settings checkbox \"ShowPricesExclVatPC\" is checked and customer type is \"Private\", otherwise false",
            "nullable": true
          },
          "Persons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesDocumentRotRutReductionPersonApi"
            },
            "description": "Only available for ROT/RUT or Green Technology",
            "nullable": true
          },
          "QuoteDate": {
            "type": "string",
            "description": "Format: YYYY-MM-DD. Default: null",
            "format": "date-time"
          },
          "DueDate": {
            "type": "string",
            "description": "Format: YYYY-MM-DD. Default: null",
            "format": "date-time"
          },
          "RotPropertyType": {
            "type": "integer",
            "description": "Value 1 is for apartment and 2 is for property.Leave blank or set to null if you do not intend to use ROT or Green Technology",
            "format": "int32",
            "nullable": true
          },
          "RotReducedInvoicingAmount": {
            "type": "number",
            "description": "Format: 2 decimals",
            "format": "double"
          },
          "RotReducedInvoicingAutomaticDistribution": {
            "type": "boolean",
            "description": "True if quote uses automatic distribution of rot/rut deduction, false otherwise",
            "readOnly": true
          },
          "RotReducedInvoicingPercent": {
            "type": "number",
            "description": "Format: 4 decimals",
            "format": "double",
            "readOnly": true
          },
          "RotReducedInvoicingType": {
            "enum": [
              0,
              1,
              2
            ],
            "type": "integer",
            "description": "Format: 4 decimals",
            "format": "int32"
          },
          "RoundingsAmount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuoteRowApi"
            },
            "nullable": true
          },
          "Status": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Draft,<br/>1 = Ongoing,<br/>2 = Approved,<br/>3 = Invoiced,<br/>4 = OrderCreated<br/><br/>Status of the quote. Possible values are.",
            "format": "int32",
            "readOnly": true
          },
          "TotalAmount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "UsesGreenTechnology": {
            "type": "boolean",
            "description": "<strong>Possible values:</strong><br/>True = This quote uses green technology<br/>False = Otherwise"
          },
          "VatAmount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "QuoteRowApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system for every row",
            "format": "uuid",
            "readOnly": true
          },
          "ArticleId": {
            "type": "string",
            "description": "Source: Get from /v2/articles",
            "format": "uuid",
            "nullable": true
          },
          "IsServiceArticle": {
            "type": "boolean",
            "description": "True if the sales category of the article on the row is goods, false otherwise",
            "readOnly": true
          },
          "UnitId": {
            "type": "string",
            "description": "Source: Get from /v2/units/{id}",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "Text": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string",
            "description": "For non text rows, default value will be the article's name; for text rows, there should be at least one character in place",
            "nullable": true
          },
          "UnitPrice": {
            "type": "number",
            "description": "Format: 2 decimals allowed if the customer and currency are domestic or 4 decimals if customer or currency is foreign",
            "format": "double"
          },
          "Amount": {
            "type": "number",
            "description": "Total amount of row. Format: 2 decimals",
            "format": "double"
          },
          "IsDiscountInFixedAmount": {
            "type": "boolean",
            "description": "True if the discount on the row is a fixed amount, false otherwise",
            "readOnly": true
          },
          "DiscountFixedAmount": {
            "type": "number",
            "description": "Fixed amount discount on the row. Only applicable if IsDiscountInFixedAmount is true. Format: 2 decimals",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "DiscountPercentage": {
            "maximum": 1,
            "minimum": 0,
            "type": "number",
            "description": "Percentage discount n the row. Format: 4 decimals",
            "format": "double"
          },
          "Quantity": {
            "type": "number",
            "description": "Format: 4 decimals",
            "format": "double"
          },
          "WorkCostType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>None = 0,<br/>RotConstructionWork = 1,<br/>RotElectricalWork = 2,<br/>RotGlassSheetMetalWork = 3,<br/>RotGroundWork = 4,<br/>RotBrickWork = 5,<br/>RotPaintDecorateWork = 6,<br/>RotPlumbWork = 7,<br/>RutCleanJobWork = 9,<br/>RutCareClothTextile = 10,<br/>RutSnowRemove = 12,<br/>RutGarden = 13,<br/>RutBabySitting = 14,<br/>RutOtherCare = 15,<br/>RutRemovalServices = 18,<br/>RutITServices = 19,<br/>RotHeatPump = 20,<br/>RotHeatPump2 = 21,<br/>RutHomeAppliances = 22,<br/>RotSolarHeatingSystem = 23,<br/>RotWoodBoiler = 24,<br/>RotFuelBoiler = 25,<br/>RutLaundry = 26,<br/>RutFurnishing = 27,<br/>RutGoodsTransport = 28,<br/>RutHomeSupervision = 29<br/><br/>Only used for Rot/Rut.",
            "format": "int32"
          },
          "IsWorkCost": {
            "type": "boolean",
            "description": "Only used for Rot/Rut",
            "readOnly": true
          },
          "WorkHours": {
            "type": "number",
            "description": "Only used for Rot/Rut",
            "format": "double",
            "nullable": true
          },
          "MaterialCosts": {
            "type": "number",
            "description": "Only used for Rot/Rut",
            "format": "double",
            "nullable": true
          },
          "IsVatFree": {
            "type": "boolean",
            "description": "True if the row has been marked VAT free"
          },
          "VatRate": {
            "type": "number",
            "description": "When row is a text row the value is null. Default value is also null",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "LineNumber": {
            "type": "integer",
            "description": "Unique line number for this row",
            "format": "int32",
            "readOnly": true
          },
          "CostCenterItemId1": {
            "type": "string",
            "description": "Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId2": {
            "type": "string",
            "description": "Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId3": {
            "type": "string",
            "description": "Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "ProjectId": {
            "type": "string",
            "description": "Get from /v2/projects",
            "format": "uuid",
            "nullable": true
          },
          "IsTextRow": {
            "type": "boolean",
            "description": "True if this is a text row. False otherwise",
            "readOnly": true
          },
          "ArticleNumber": {
            "type": "string",
            "description": "Article number on the row",
            "nullable": true,
            "readOnly": true
          },
          "GreenTechnologyType": {
            "maximum": 3,
            "minimum": 0,
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>None = 0,<br/>SolarCellInstallation = 1,<br/>ElectricEnergyStorageInstallation = 2,<br/>ElectricVehicleChargingPointInstallation = 3<br/><br/>Type of green technology for the row.",
            "format": "int32"
          },
          "ContributionMargin": {
            "$ref": "#/components/schemas/ContributionMarginApi"
          },
          "PurchasePrice": {
            "type": "number",
            "description": "Purchase price for the article on this row, valid only if it is an article row",
            "format": "double",
            "readOnly": true
          },
          "FreightCosts": {
            "type": "number",
            "description": "Freight costs for the article on this row, valid only if it is an article row",
            "format": "double",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "QuoteRowConversionApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Id of the quote row",
            "format": "uuid"
          },
          "WorkHours": {
            "type": "number",
            "description": "Number of worked hours for Rot/Rut and green technonlogy",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "RelatedAccounts": {
        "type": "object",
        "properties": {
          "AccountNumber1": {
            "type": "integer",
            "description": "The first account number for VAT.",
            "format": "int64",
            "nullable": true
          },
          "AccountNumber2": {
            "type": "integer",
            "description": "The second account number for VAT.",
            "format": "int64",
            "nullable": true
          },
          "AccountNumber3": {
            "type": "integer",
            "description": "The third account number for VAT.",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RevenueSummary": {
        "type": "object",
        "properties": {
          "Revenue": {
            "type": "number",
            "description": "Total revenue",
            "format": "double"
          },
          "Costs": {
            "type": "number",
            "description": "Total costs",
            "format": "double"
          },
          "Profit": {
            "type": "number",
            "description": "Profit (revenue minus costs)",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "SalesAndPurchaseInvoiceDetailItemApi": {
        "type": "object",
        "properties": {
          "InvoiceId": {
            "type": "string",
            "format": "uuid"
          },
          "TransactionType": {
            "type": "string",
            "nullable": true
          },
          "CustomerOrSupplierName": {
            "type": "string",
            "nullable": true
          },
          "DueDate": {
            "type": "string",
            "format": "date-time"
          },
          "TotalAmountInvoiceCurrency": {
            "type": "number",
            "format": "double"
          },
          "RemainingAmountInvoiceCurrency": {
            "type": "number",
            "format": "double"
          },
          "PaidAmountInvoiceCurrency": {
            "type": "number",
            "format": "double"
          },
          "TotalAmountBaseCurrency": {
            "type": "number",
            "format": "double"
          },
          "RemainingAmountBaseCurrency": {
            "type": "number",
            "format": "double"
          },
          "PaidAmountBaseCurrency": {
            "type": "number",
            "format": "double"
          },
          "InvoiceCurrency": {
            "type": "string",
            "nullable": true
          },
          "DocumentType": {
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              17,
              18,
              19,
              20,
              21
            ],
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SalesAndPurchaseInvoiceDetailsResponse": {
        "type": "object",
        "properties": {
          "Invoices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SalesAndPurchaseInvoiceDetailItemApi"
            },
            "nullable": true
          },
          "TotalAmountBaseCurrency": {
            "type": "number",
            "format": "double"
          },
          "RemainingAmountBaseCurrency": {
            "type": "number",
            "format": "double"
          },
          "PaidAmountBaseCurrency": {
            "type": "number",
            "format": "double"
          },
          "TotalAmountInvoiceCurrency": {
            "type": "number",
            "format": "double"
          },
          "RemainingAmountInvoiceCurrency": {
            "type": "number",
            "format": "double"
          },
          "PaidAmountInvoiceCurrency": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "SalesAndPurchaseInvoicesChartMetadataApi": {
        "type": "object",
        "properties": {
          "StartDate": {
            "type": "string",
            "format": "date-time"
          },
          "EndDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "SalesDocumentAttachmentApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Attachment ID.",
            "format": "uuid"
          },
          "DocumentId": {
            "type": "string",
            "description": "Sales document ID.",
            "format": "uuid",
            "nullable": true
          },
          "DocumentType": {
            "enum": [
              0,
              1,
              2,
              3,
              4,
              5,
              6
            ],
            "type": "integer",
            "description": "Sales document type.",
            "format": "int32"
          },
          "OriginalFilename": {
            "type": "string",
            "description": "Attached file name.",
            "nullable": true
          },
          "DocumentSize": {
            "type": "integer",
            "description": "Attached file size",
            "format": "int32"
          },
          "CreatedUtc": {
            "type": "string",
            "description": "Attachment date (UTC).",
            "format": "date-time",
            "readOnly": true
          },
          "CreatedBy": {
            "type": "string",
            "description": "Full name of user who attached the file.",
            "nullable": true
          },
          "Thumbnail": {
            "type": "string",
            "description": "Thumbnail of the attached file, null if the file is a pdf file",
            "format": "byte",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SalesDocumentAttachmentUploadApi": {
        "required": [
          "ContentType",
          "DockumentId",
          "FileName"
        ],
        "type": "object",
        "properties": {
          "ContentType": {
            "maxLength": 15,
            "minLength": 0,
            "type": "string",
            "description": "Content type of the file. Allowed values: 'application/pdf', 'image/jpeg', 'image/tiff', 'image/png'."
          },
          "FileName": {
            "maxLength": 128,
            "minLength": 0,
            "type": "string",
            "description": "The file name that will be shown in UI."
          },
          "DockumentId": {
            "type": "string",
            "description": "Document's id to which a sales document is being attached.",
            "format": "uuid"
          },
          "Data": {
            "type": "string",
            "description": "Base64 encoded data of the file. Required if 'Url' is not provided.",
            "nullable": true
          },
          "Url": {
            "type": "string",
            "description": "Public URL of the file. Required if 'Data' is not provided.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SalesDocumentHistoryApi": {
        "type": "object",
        "properties": {
          "Date": {
            "type": "string",
            "description": "The date when this event occurred",
            "nullable": true
          },
          "Type": {
            "type": "string",
            "description": "The type of event",
            "nullable": true
          },
          "Text": {
            "type": "string",
            "description": "A text associated with the event",
            "nullable": true
          },
          "DetailedDescription": {
            "type": "string",
            "description": "A text that can be used to display detailed information for the event",
            "nullable": true
          },
          "Description": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Information that can be used to build interactive detailed information with links to related documents.This includes ids of related documents, emails and statuses and more.The content and structure of the information is dependent on the type of the event.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SalesDocumentRotRutReductionPersonApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system",
            "format": "uuid",
            "readOnly": true
          },
          "Ssn": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Social security number",
            "nullable": true
          },
          "Amount": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "SalesInvoicesSummary": {
        "type": "object",
        "properties": {
          "InvoicedAmount": {
            "type": "number",
            "description": "Total invoiced amount for the current month",
            "format": "double",
            "nullable": true
          },
          "InvoicedAmountPreviousMonth": {
            "type": "number",
            "description": "Total invoiced amount for the previous month",
            "format": "double",
            "nullable": true
          },
          "InvoicedAmountLastYearSameMonth": {
            "type": "number",
            "description": "Total invoiced amount for the same month last year",
            "format": "double",
            "nullable": true
          },
          "InvoicedAmountDifference": {
            "type": "number",
            "description": "Difference between current month and previous month",
            "format": "double",
            "nullable": true
          },
          "LargestSalesInvoice": {
            "$ref": "#/components/schemas/LargestSalesInvoiceDetails"
          },
          "TotalAmountOfSalesInvoicesSent": {
            "type": "integer",
            "description": "Total number of sales invoices sent",
            "format": "int32",
            "nullable": true
          },
          "TotalAmountOfDigitalSalesInvoicesSent": {
            "type": "integer",
            "description": "Total number of digital sales invoices sent",
            "format": "int32",
            "nullable": true
          },
          "TotalMinutesSavedByDigitalSalesInvoicesSent": {
            "type": "integer",
            "description": "Total minutes saved by using digital sales invoices",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SalesPriceListApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier for the sales price list",
            "format": "uuid",
            "readOnly": true
          },
          "Name": {
            "maxLength": 70,
            "minLength": 0,
            "type": "string",
            "description": "Name of the sales price list. Maximum 70 characters.",
            "nullable": true
          },
          "Number": {
            "type": "integer",
            "description": "Unique and auto-incremented number of the sales price list",
            "format": "int32",
            "readOnly": true
          },
          "CurrencyCode": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string",
            "description": "Currency code for the price list. Maximum 3 characters. Default value depends on the company's base currency.",
            "nullable": true
          },
          "Note": {
            "type": "string",
            "description": "Additional notes for the sales price list",
            "nullable": true
          },
          "IsStandard": {
            "type": "boolean",
            "description": "Indicates if this is the standard price list created by default when upgrading to Pro variant",
            "readOnly": true
          },
          "IsActive": {
            "type": "boolean",
            "description": "Indicates if the price list is active",
            "nullable": true
          },
          "ChangedUtc": {
            "type": "string",
            "description": "Last changed timestamp in UTC",
            "format": "date-time",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Sales price list"
      },
      "SalesPriceListRowApi": {
        "type": "object",
        "properties": {
          "SalesPriceListId": {
            "type": "string",
            "description": "Unique identifier of the sales price list",
            "format": "uuid",
            "readOnly": true
          },
          "ArticleId": {
            "type": "string",
            "description": "Unique identifier of the article",
            "format": "uuid"
          },
          "NetPrice": {
            "type": "number",
            "description": "Net price for the article in this price list",
            "format": "double"
          },
          "GrossPrice": {
            "type": "number",
            "description": "Gross price for the article in this price list",
            "format": "double",
            "readOnly": true
          },
          "CurrencyCode": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string",
            "description": "Currency code for the price. Maximum 3 characters.",
            "nullable": true,
            "readOnly": true
          },
          "ChangedUtc": {
            "type": "string",
            "description": "Timestamp when the sales price was last changed manually",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Sales price list row"
      },
      "SeriesMapping": {
        "type": "object",
        "properties": {
          "OriginalSeries": {
            "type": "string",
            "description": "Original series name from the SIE file",
            "nullable": true
          },
          "NewSeries": {
            "type": "string",
            "description": "New series name to map to in the company",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Sie4Api": {
        "required": [
          "Encoding",
          "EndYearAdjustment",
          "ImportAccountNames",
          "ImportOpeningBalance",
          "MapLedgerAccount",
          "SieData"
        ],
        "type": "object",
        "properties": {
          "SieData": {
            "minLength": 1,
            "type": "string",
            "description": "Base64 string containing SIE data"
          },
          "Encoding": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>Default = 1 (Codepage 437),<br/>Administration = 2 (Codepage 850),<br/>Utf8 = 3,<br/>Ascii = 4<br/><br/>File encoding type.",
            "format": "int32"
          },
          "MapLedgerAccount": {
            "type": "boolean",
            "description": "Map ledger accounts to company default"
          },
          "ImportOpeningBalance": {
            "type": "boolean",
            "description": "Import opening balance for accounts"
          },
          "EndYearAdjustment": {
            "type": "boolean",
            "description": "Perform end-year adjustment"
          },
          "ImportAccountNames": {
            "type": "boolean",
            "description": "Import account names from SIE"
          },
          "SeriesMappings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SeriesMapping"
            },
            "description": "Array of series mappings: from original series in SIE file, to new series in company",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Sie4ImportQueueResponseApi": {
        "type": "object",
        "properties": {
          "JobReferenceId": {
            "type": "string",
            "description": "Reference ID for the queued import job",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "Sie4ImportStatusApi": {
        "type": "object",
        "properties": {
          "JobReferenceId": {
            "type": "string",
            "description": "Reference ID of the import job",
            "format": "uuid"
          },
          "Status": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1 = Ignore,<br/>2 = Success,<br/>3 = ErrorStop,<br/>4 = ErrorAllowRetry,<br/>5 = Retry<br/><br/>Current status of the import job.",
            "format": "int32"
          },
          "IsComplete": {
            "type": "boolean",
            "description": "Indicates if the import job is complete"
          },
          "NumberOfVouchersImported": {
            "type": "integer",
            "description": "If the import is complete and successful, contains the number of vouchers imported",
            "format": "int32",
            "nullable": true
          },
          "ErrorMessage": {
            "type": "string",
            "description": "Error message if the import failed",
            "nullable": true
          },
          "StartedAt": {
            "type": "string",
            "description": "When the import job started",
            "format": "date-time"
          },
          "CompletedAt": {
            "type": "string",
            "description": "When the import job completed, null if not completed",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "StandardAccountApi": {
        "type": "object",
        "properties": {
          "AccountType": {
            "type": "string",
            "description": "The account type",
            "nullable": true
          },
          "AccountNumber": {
            "type": "integer",
            "description": "The account number",
            "format": "int64",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SupplierApi": {
        "required": [
          "Name",
          "TermsOfPaymentId"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "The unique identifier of the supplier",
            "format": "uuid",
            "readOnly": true
          },
          "SupplierNumber": {
            "maxLength": 16,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Unique identifier. If not provided, Bookkeeping & Invoicing/eAccounting will provide one",
            "nullable": true
          },
          "Address1": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Street address of the supplier",
            "nullable": true
          },
          "Address2": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Additional address information",
            "nullable": true
          },
          "AutomaticPaymentService": {
            "type": "boolean",
            "description": "Indicates if the supplier is paid by an automatic payment service. Supplier invoices to such suppliers will not be sent to the bank via the bank integration. Default value: false"
          },
          "UnpaidInvoicesAmount": {
            "type": "number",
            "description": "Purpose: The amount of unpaid invoices for the supplier",
            "format": "double",
            "readOnly": true
          },
          "BankAccountNumber": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Only used for domestic suppliers",
            "nullable": true
          },
          "Clearing": {
            "maxLength": 5,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Only used in Swedish Bookkeeping & Invoicing/eAccounting, for Swedish suppliers",
            "nullable": true
          },
          "BankBban": {
            "maxLength": 50,
            "minLength": 0,
            "pattern": "^[a-zA-Z0-9]{1,35}$",
            "type": "string",
            "description": "<strong>Possible values:</strong><br/>11-14 characters<br/><br/>Purpose: Used on foreign payments to identify a bank account together with Bank Code (SupplierBankCode). Format NO: 11 characters, Format DK.",
            "nullable": true
          },
          "BankBic": {
            "maxLength": 50,
            "minLength": 0,
            "pattern": "^[a-zA-Z]{6}([a-zA-z0-9]{2}|[a-zA-z0-9]{5})$",
            "type": "string",
            "description": "Purpose: Used on foreign payments to identify a bank account together with IBAN (SupplierBankIban). Format: 6 letters followed by 2 or 5 characters (total length 8 or 11)",
            "nullable": true
          },
          "BankCode": {
            "maxLength": 50,
            "minLength": 0,
            "pattern": "^([a-zA-Z]{2})[a-zA-Z0-9]{3,}$",
            "type": "string",
            "description": "Purpose: Used on foreign payments to identify a bank account together with BBAN (SupplierBankBban). Format: 2 letters followed by at least 3 characters",
            "nullable": true
          },
          "BankCountryCode": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "description": "Default value: Country of the supplier",
            "nullable": true
          },
          "BankgiroNumber": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Only used in Swedish Bookkeeping & Invoicing/eAccounting, for Swedish suppliers",
            "nullable": true
          },
          "BankIban": {
            "maxLength": 50,
            "minLength": 0,
            "pattern": "^[a-zA-Z]{2}[0-9]{2}[a-zA-z0-9]{1,}$",
            "type": "string",
            "description": "Purpose: Used on foreign payments to identify a bank account together with BIC (SupplierBankBic). Format: 2 letters for country code, 2 control digits, 3 characters for bank identification",
            "nullable": true
          },
          "BankName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Name of the supplier Bank",
            "nullable": true
          },
          "City": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "ContactPersonEmail": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Email address of the contact person",
            "nullable": true
          },
          "ContactPersonMobile": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Mobile phone number of the contact person",
            "nullable": true
          },
          "ContactPersonName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Name of the contact person",
            "nullable": true
          },
          "ContactPersonPhone": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Phone number of the contact person",
            "nullable": true
          },
          "CorporateIdentityNumber": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Corporate identity number of the supplier",
            "nullable": true
          },
          "CountryCode": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "description": "Default value: Country of the user company",
            "nullable": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "Purpose: Timestamp of when the supplier was created",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "CurrencyCode": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string",
            "description": "Default value: Currency of the user company",
            "nullable": true
          },
          "EmailAddress": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Email address of the supplier",
            "nullable": true
          },
          "MessageThreads": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Fetch messages via GET /v2/messagethreads/{messageThreadId}",
            "nullable": true,
            "readOnly": true
          },
          "MobilePhone": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Mobile phone number of the supplier",
            "nullable": true
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "Purpose: Timestamp of when the supplier was last modified",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "Name": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string"
          },
          "Note": {
            "maxLength": 4000,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Custom note for the supplier",
            "nullable": true
          },
          "Notes": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Fetch notes via GET /v2/notes/{noteId}",
            "nullable": true,
            "readOnly": true
          },
          "PlusgiroNumber": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Only used in Swedish Bookkeeping & Invoicing/eAccounting, for Swedish suppliers",
            "nullable": true
          },
          "PostalCode": {
            "maxLength": 10,
            "minLength": 0,
            "type": "string",
            "nullable": true
          },
          "Telephone": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Phone number of the supplier",
            "nullable": true
          },
          "TermsOfPaymentId": {
            "type": "string",
            "description": "Source: Get from /v2/termsofpayment",
            "format": "uuid"
          },
          "VatNumber": {
            "maxLength": 20,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Used to check VAT number before deducting VAT or for 3rd party validations",
            "nullable": true
          },
          "WwwAddress": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Website address of the supplier",
            "nullable": true
          },
          "BankFeeCode": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = SenderPaysAllBankCharges,<br/>2 = ReceiverPaysAllBankCharges,<br/>3 = ReceiverPaysForeignCosts<br/><br/>Purpose: Determines who pays additional bank fees.",
            "format": "int32"
          },
          "PayFromBankAccountId": {
            "type": "string",
            "description": "Source: Get from /v2/bankaccounts. Purpose: Determines the bank account for foreign payments",
            "format": "uuid",
            "nullable": true
          },
          "ForeignPaymentCodeId": {
            "type": "string",
            "description": "Source: Get from /v2/foreignpaymentcodes. Purpose: Categorization of foreign purchases (NO and SE only)",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "ForeignPaymentCode": {
            "$ref": "#/components/schemas/ForeignPaymentCode"
          },
          "UsesPaymentReferenceNumbers": {
            "type": "boolean",
            "description": "Purpose: Indicates if the supplier uses payment reference numbers, such as OCR, KID, etc."
          },
          "IsActive": {
            "type": "boolean",
            "description": "Indicates if the supplier is active"
          },
          "IsDraft": {
            "type": "boolean",
            "description": "Indicates if the supplier is a draft",
            "readOnly": true
          },
          "ProportionalVat": {
            "type": "boolean",
            "description": "Purpose: Indicates if the supplier has Proportional VAT activated"
          },
          "SelfEmployedWithoutFixedAddress": {
            "type": "boolean",
            "description": "Norwegian companies only."
          },
          "ApprovalOrderType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Default,<br/>1 = Specific order,<br/>2 = Any order<br/><br/>Approval order type.",
            "format": "int32",
            "readOnly": true
          },
          "OurCustomerNumber": {
            "maxLength": 40,
            "minLength": 0,
            "type": "string",
            "description": "Purpose: Requires active stock module",
            "nullable": true
          },
          "PurchaseDocumentLanguage": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "description": "Language of the purchase document",
            "nullable": true
          },
          "Approvers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierApproverApi"
            },
            "description": "List of approvers. Empty if ApprovalOrderType is 0 (default)",
            "nullable": true
          },
          "UsesAutomaticSupplierInvoiceApproval": {
            "type": "boolean",
            "description": "Option to send invoices automatically to approval. Default: false"
          },
          "LastInvoiceDate": {
            "type": "string",
            "description": "The last invoice date of the supplier",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "AccountingTemplateId": {
            "type": "string",
            "description": "The last accounting template used for this supplier",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SupplierApproverApi": {
        "type": "object",
        "properties": {
          "ApproverId": {
            "type": "string",
            "description": "Source: Get from /v2/users",
            "format": "uuid"
          },
          "Name": {
            "type": "string",
            "description": "Full name of the approver",
            "nullable": true,
            "readOnly": true
          },
          "Priority": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>priority = 0, then supplier invoice can be approved in any order<br/><br/>Priority of the approver. If there are multiple approvers, the one with the lowest priority will be the first to approve. Priority starts from 1. If.",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "SupplierBatchApi": {
        "type": "object",
        "properties": {
          "SupplierNumber": {
            "type": "string",
            "nullable": true
          },
          "Address1": {
            "type": "string",
            "nullable": true
          },
          "Address2": {
            "type": "string",
            "nullable": true
          },
          "AutomaticPaymentService": {
            "type": "boolean"
          },
          "BankAccountNumber": {
            "type": "string",
            "nullable": true
          },
          "BankBban": {
            "type": "string",
            "nullable": true
          },
          "BankBic": {
            "type": "string",
            "nullable": true
          },
          "BankCode": {
            "type": "string",
            "nullable": true
          },
          "BankCountryCode": {
            "type": "string",
            "nullable": true
          },
          "BankgiroNumber": {
            "type": "string",
            "nullable": true
          },
          "BankIban": {
            "type": "string",
            "nullable": true
          },
          "BankName": {
            "type": "string",
            "nullable": true
          },
          "City": {
            "type": "string",
            "nullable": true
          },
          "ContactPersonEmail": {
            "type": "string",
            "nullable": true
          },
          "ContactPersonMobile": {
            "type": "string",
            "nullable": true
          },
          "ContactPersonName": {
            "type": "string",
            "nullable": true
          },
          "ContactPersonPhone": {
            "type": "string",
            "nullable": true
          },
          "CorporateIdentityNumber": {
            "type": "string",
            "nullable": true
          },
          "CountryCode": {
            "type": "string",
            "nullable": true
          },
          "CurrencyCode": {
            "type": "string",
            "nullable": true
          },
          "EmailAddress": {
            "type": "string",
            "nullable": true
          },
          "MobilePhone": {
            "type": "string",
            "nullable": true
          },
          "Name": {
            "type": "string",
            "nullable": true
          },
          "Note": {
            "type": "string",
            "nullable": true
          },
          "PlusgiroNumber": {
            "type": "string",
            "nullable": true
          },
          "PostalCode": {
            "type": "string",
            "nullable": true
          },
          "Telephone": {
            "type": "string",
            "nullable": true
          },
          "TermsOfPaymentId": {
            "type": "string",
            "format": "uuid"
          },
          "VatNumber": {
            "type": "string",
            "nullable": true
          },
          "WwwAddress": {
            "type": "string",
            "nullable": true
          },
          "BankFeeCode": {
            "enum": [
              0,
              1,
              2,
              3
            ],
            "type": "integer",
            "format": "int32"
          },
          "PayFromBankAccountId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "ForeignPaymentCodeId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "UsesPaymentReferenceNumbers": {
            "type": "boolean"
          },
          "IsActive": {
            "type": "boolean"
          },
          "ProportionalVat": {
            "type": "boolean"
          },
          "SelfEmployedWithoutFixedAddress": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "SupplierInvoiceApi": {
        "required": [
          "InvoiceNumber",
          "SupplierId",
          "TotalAmount"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system",
            "format": "uuid",
            "readOnly": true
          },
          "SupplierId": {
            "type": "string",
            "description": "The supplier that issued this invoice. Get from /v2/suppliers",
            "format": "uuid"
          },
          "OffsetInvoiceIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Contains the IDs of invoices that this invoice has been offset against. For credit invoices: IDs of debit invoices that were offset. For debit invoices: IDs of credit invoices that offset this invoice.",
            "nullable": true,
            "readOnly": true
          },
          "BankAccountId": {
            "type": "string",
            "description": "The bank account associated with this invoice",
            "format": "uuid",
            "readOnly": true
          },
          "InvoiceDate": {
            "type": "string",
            "description": "The date when the invoice was issued",
            "format": "date-time",
            "nullable": true
          },
          "PaymentDate": {
            "type": "string",
            "description": "The date when the invoice was paid",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "DueDate": {
            "type": "string",
            "description": "The date when the invoice payment is due. Default: Date based on the supplier's terms of payment",
            "format": "date-time",
            "nullable": true
          },
          "InvoiceNumber": {
            "minLength": 1,
            "type": "string",
            "description": "The supplier's invoice number"
          },
          "TotalAmount": {
            "type": "number",
            "description": "The total amount of the invoice including VAT",
            "format": "double"
          },
          "Vat": {
            "type": "number",
            "description": "The VAT amount of the invoice",
            "format": "double"
          },
          "VatHigh": {
            "type": "number",
            "description": "VAT amount at high rate (Norway only)",
            "format": "double"
          },
          "VatMedium": {
            "type": "number",
            "description": "VAT amount at medium rate (Norway only)",
            "format": "double"
          },
          "VatLow": {
            "type": "number",
            "description": "VAT amount at low rate (Norway only)",
            "format": "double"
          },
          "IsCreditInvoice": {
            "type": "boolean",
            "description": "Indicates if this is a credit invoice"
          },
          "CurrencyCode": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string",
            "description": "The currency code for the invoice",
            "nullable": true
          },
          "CurrencyRate": {
            "type": "number",
            "description": "The exchange rate used for currency conversion",
            "format": "double"
          },
          "OcrNumber": {
            "type": "string",
            "description": "The OCR number for automated payment processing",
            "nullable": true
          },
          "Message": {
            "type": "string",
            "description": "A message or description for the invoice",
            "nullable": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "When the invoice was created",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "When the invoice was last modified",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "PlusGiroNumber": {
            "type": "string",
            "description": "PlusGiro number for payment",
            "nullable": true,
            "readOnly": true
          },
          "BankGiroNumber": {
            "type": "string",
            "description": "BankGiro number for payment",
            "nullable": true,
            "readOnly": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierInvoiceRowApi"
            },
            "description": "The accounting rows/lines of the invoice",
            "nullable": true
          },
          "SupplierName": {
            "type": "string",
            "description": "The name of the supplier",
            "nullable": true,
            "readOnly": true
          },
          "SupplierNumber": {
            "type": "string",
            "description": "The supplier's number",
            "nullable": true,
            "readOnly": true
          },
          "IsQuickInvoice": {
            "type": "boolean",
            "description": "Indicates if this is a quick invoice",
            "readOnly": true
          },
          "IsDomestic": {
            "type": "boolean",
            "description": "Indicates if this is a domestic invoice",
            "readOnly": true
          },
          "RemainingAmount": {
            "type": "number",
            "description": "The remaining unpaid amount in domestic currency",
            "format": "double",
            "readOnly": true
          },
          "RemainingAmountInvoiceCurrency": {
            "type": "number",
            "description": "The remaining unpaid amount in invoice currency",
            "format": "double",
            "readOnly": true
          },
          "Number": {
            "type": "integer",
            "description": "The sequential number of the invoice",
            "format": "int32",
            "readOnly": true
          },
          "NumberSeries": {
            "type": "string",
            "description": "The number series used for the invoice",
            "nullable": true,
            "readOnly": true
          },
          "VoucherNumber": {
            "type": "string",
            "description": "The voucher number",
            "nullable": true,
            "readOnly": true
          },
          "VoucherId": {
            "type": "string",
            "description": "The voucher identifier",
            "format": "uuid",
            "readOnly": true
          },
          "CreatedFromDraftId": {
            "type": "string",
            "description": "The draft invoice this was created from",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "SelfEmployedWithoutFixedAddress": {
            "type": "boolean",
            "description": "Indicates if the supplier is self-employed without fixed address",
            "readOnly": true
          },
          "AllocationPeriods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AllocationPeriodApi"
            },
            "description": "Allocation periods for the invoice. For create use POST /v2/allocationperiods",
            "nullable": true,
            "readOnly": true
          },
          "AutoCreditDebitPairing": {
            "type": "boolean",
            "description": "Enable automatic credit/debit pairing"
          },
          "SupplierInvoiceOrigin": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>EAccounting = 0,<br/>AutoInvoice = 1,<br/>API = 2,<br/>VAT = 3<br/><br/>The origin of the supplier invoice.",
            "format": "int32"
          },
          "Attachments": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of attachment identifiers",
            "nullable": true
          },
          "MessageThreads": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Message thread identifiers. Fetch messages via GET /v2/messagethreads/{messageThreadId}",
            "nullable": true,
            "readOnly": true
          },
          "Notes": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Note identifiers. Fetch notes via GET /v2/notes/{noteId}",
            "nullable": true,
            "readOnly": true
          },
          "SetOffAmountInvoiceCurrency": {
            "type": "number",
            "description": "Set-off amount in invoice currency",
            "format": "double",
            "readOnly": true
          },
          "Status": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Draft,<br/>1 = Normal,<br/>2 = Deleted<br/><br/>The status of the invoice.",
            "format": "int32",
            "readOnly": true
          },
          "PaymentStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>3 = Unpaid,<br/>4 = PartiallyPaidOverDue,<br/>5 = PartiallyPaid,<br/>6 = Paid,<br/>7 = OverDue,<br/>8 = NotExportedToPaymentFile,<br/>9 = PaidInBank,<br/>10 = NotSentToBank,<br/>11 = AwaitingSigning,<br/>12 = CancellationRequestSentToBank,<br/>13 = PaymentCancelled,<br/>14 = RejectedPayment,<br/>15 = SentToBank,<br/>16 = ReceivedByBank,<br/>17 = PaymentExported<br/><br/>The payment status of the invoice.",
            "format": "int32",
            "readOnly": true
          },
          "PaymentFileStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = NoPaymentNecessary,<br/>11 = ReadyForAutomaticBankIntegration,<br/>12 = PaymentCreated,<br/>13 = PaymentReceivedByAutoPay,<br/>19 = PaymentSentToBank,<br/>20 = PaymentReceivedByBank,<br/>21 = ReadyForManualPaymentFileExport,<br/>22 = ReadyForManualPaymentFileExportForeign,<br/>29 = ManualPaymentFileExported,<br/>30 = PaymentPaidInBank,<br/>31 = ReadyForDeferredAutomaticBankIntegration,<br/>40 = AwaitsSigning,<br/>41 = Signed,<br/>42 = PaymentRejectedByBank,<br/>43 = PaymentCancelledInBank,<br/>44 = PaymentCancelledInAutopay,<br/>45 = PaymentCancellationRequestSent,<br/>100 = FailedToSendToBank<br/><br/>The payment file status of the invoice.",
            "format": "int32",
            "readOnly": true
          },
          "SkipSendToBank": {
            "type": "boolean",
            "description": "Skip sending to bank for manual payment. Only affects active bank integration",
            "nullable": true
          },
          "AccountingTemplateId": {
            "type": "string",
            "description": "Fetch accounting template use in this invoice from /v2/accountingtemplates",
            "format": "uuid",
            "nullable": true
          },
          "IsIncludedInVatReport": {
            "type": "boolean",
            "description": "Indicates if the invoice is included in a bookkept VAT report",
            "readOnly": true
          },
          "VatReportId": {
            "type": "string",
            "description": "The ID of the bookkept VAT report where this invoice is included, if applicable",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a supplier invoice in the system"
      },
      "SupplierInvoiceApproverApi": {
        "type": "object",
        "properties": {
          "ApproverId": {
            "type": "string",
            "description": "The user identifier of the approver. Get from /v2/users",
            "format": "uuid",
            "readOnly": true
          },
          "IsApproved": {
            "type": "boolean",
            "description": "Indicates if the supplier invoice is approved by this approver",
            "readOnly": true
          },
          "Name": {
            "type": "string",
            "description": "Full name of the approver",
            "nullable": true,
            "readOnly": true
          },
          "Priority": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>priority = 0, then supplier invoice can be approved in any order<br/><br/>Priority of the approver. If there are multiple approvers, the one with the lowest priority will be the first to approve. Priority starts from 1. If.",
            "format": "int32",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an approver for a supplier invoice"
      },
      "SupplierInvoiceDraftApi": {
        "required": [
          "IsCreditInvoice",
          "Rows",
          "SupplierId"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system",
            "format": "uuid",
            "readOnly": true
          },
          "SupplierId": {
            "type": "string",
            "description": "The supplier that issued this invoice draft. Get from /v2/suppliers",
            "format": "uuid"
          },
          "IsAutoInvoiceInterimSupplier": {
            "type": "boolean",
            "description": "Indicates if this is an auto invoice interim supplier for e-invoices",
            "readOnly": true
          },
          "BankAccountId": {
            "type": "string",
            "description": "The bank account associated with this invoice draft. Get from /v2/bankaccounts. If not provided, the supplier's bank account will be used",
            "format": "uuid",
            "nullable": true
          },
          "InvoiceDate": {
            "type": "string",
            "description": "The date when the invoice was issued. Format: YYYY-MM-DD. Default: Today's date",
            "format": "date-time",
            "nullable": true
          },
          "PaymentDate": {
            "type": "string",
            "description": "The date when the invoice was paid. Format: YYYY-MM-DD",
            "format": "date-time",
            "nullable": true
          },
          "DueDate": {
            "type": "string",
            "description": "The date when the invoice payment is due. Format: YYYY-MM-DD. Default: Date based on the supplier's terms of payment",
            "format": "date-time",
            "nullable": true
          },
          "InvoiceNumber": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "The invoice number from the supplier. Maximum length: 50 characters",
            "nullable": true
          },
          "TotalAmount": {
            "type": "number",
            "description": "The total amount of the invoice including VAT. Maximum 2 decimal places",
            "format": "double"
          },
          "Vat": {
            "type": "number",
            "description": "The total VAT amount. Maximum 2 decimal places",
            "format": "double"
          },
          "VatHigh": {
            "type": "number",
            "description": "The high VAT amount. Maximum 2 decimal places",
            "format": "double"
          },
          "VatMedium": {
            "type": "number",
            "description": "The medium VAT amount. Maximum 2 decimal places",
            "format": "double"
          },
          "VatLow": {
            "type": "number",
            "description": "The low VAT amount. Maximum 2 decimal places",
            "format": "double"
          },
          "IsCreditInvoice": {
            "type": "boolean",
            "description": "Indicates whether this is a credit invoice"
          },
          "CurrencyCode": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string",
            "description": "The currency code of the invoice. Maximum length: 3 characters",
            "nullable": true
          },
          "CurrencyRate": {
            "type": "number",
            "description": "The currency exchange rate. If currency code is domestic and currency rate isn't included, it will be fetched from the system",
            "format": "double"
          },
          "OcrNumber": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "The OCR number for payment identification. Maximum length: 25 characters",
            "nullable": true
          },
          "Message": {
            "maxLength": 25,
            "minLength": 0,
            "type": "string",
            "description": "Additional message or reference. Maximum length: 25 characters",
            "nullable": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "The date and time when the draft was created",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "The date and time when the draft was last modified",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierInvoiceDraftRowApi"
            },
            "description": "The invoice rows with account details and amounts"
          },
          "SupplierName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "The supplier name. Maximum length: 50 characters",
            "nullable": true
          },
          "SupplierNumber": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "The supplier number. Maximum length: 50 characters",
            "nullable": true
          },
          "SelfEmployedWithoutFixedAddress": {
            "type": "boolean",
            "description": "Indicates if the supplier is self-employed without a fixed address"
          },
          "IsQuickInvoice": {
            "type": "boolean",
            "description": "Indicates if this is a quick invoice"
          },
          "IsDomestic": {
            "type": "boolean",
            "description": "Indicates if this is a domestic invoice"
          },
          "ApprovalStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = Approved,<br/>2 = Rejected,<br/>3 = ReadyForApproval,<br/>4 = ActionRequired,<br/>5 = ApprovalFlowReset<br/><br/>The approval status of the invoice. Use /v2/approval/supplierinvoice/{id}.",
            "format": "int32",
            "readOnly": true
          },
          "SkipSendToBank": {
            "type": "boolean",
            "description": "When invoice is paid manually, won't be sent to the bank. Only affects active bank integrations",
            "nullable": true
          },
          "AllocationPeriods": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AllocationPeriodApi"
            },
            "description": "The allocation periods for this invoice. For create, use POST /v2/allocationperiods",
            "nullable": true,
            "readOnly": true
          },
          "SupplierInvoiceOrigin": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>EAccounting = 0,<br/>AutoInvoice = 1,<br/>API = 2,<br/>VAT = 3<br/><br/>The origin of the supplier invoice.",
            "format": "int32"
          },
          "Attachments": {
            "$ref": "#/components/schemas/AttachmentLinkApi"
          },
          "MessageThreads": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Message thread identifiers. Fetch messages via GET /v2/messagethreads/{messageThreadId}",
            "nullable": true,
            "readOnly": true
          },
          "Notes": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Note identifiers. Fetch notes via GET /v2/notes/{noteId}",
            "nullable": true,
            "readOnly": true
          },
          "CanBeApprovedByCurrentUser": {
            "type": "boolean",
            "description": "Indicates if the current user can approve this invoice in the approval flow",
            "readOnly": true
          },
          "CanBeBookeptByCurrentUser": {
            "type": "boolean",
            "description": "Indicates if the current user can bookkeep this invoice in the approval flow. Approving the invoice will also bookkeep it",
            "readOnly": true
          },
          "ApprovalOrderType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Default,<br/>1 = Can be approved in specific order,<br/>2 = Can be approved in any order<br/><br/>The approval order type.",
            "format": "int32",
            "readOnly": true
          },
          "Approvers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierInvoiceApproverApi"
            },
            "description": "The list of approvers for the supplier invoice. If ApprovalOrderType is set to 0 (default), the list will be empty",
            "nullable": true,
            "readOnly": true
          },
          "ApprovalRequestedBy": {
            "type": "string",
            "description": "The user that sent out the invoice for approval",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "AccountingTemplateId": {
            "type": "string",
            "description": "The accounting template identifier. Get from /v2/accountingtemplates",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a supplier invoice draft in the accounting system"
      },
      "SupplierInvoiceDraftRowApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier of the row. Automatically generated by the system and updated on every change",
            "format": "uuid",
            "readOnly": true
          },
          "AccountNumber": {
            "maximum": 9999999999,
            "minimum": 1,
            "type": "integer",
            "description": "The account number for this row. Must be between 1 and 9999999999",
            "format": "int64"
          },
          "AccountName": {
            "type": "string",
            "description": "The name of the account",
            "nullable": true
          },
          "VatCodeId": {
            "type": "string",
            "description": "The VAT code identifier returned from the provided account number",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId1": {
            "type": "string",
            "description": "The first cost center item identifier. Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId2": {
            "type": "string",
            "description": "The second cost center item identifier. Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId3": {
            "type": "string",
            "description": "The third cost center item identifier. Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "ProjectId": {
            "type": "string",
            "description": "The project identifier. Get from /v2/projects",
            "format": "uuid",
            "nullable": true
          },
          "DebitAmount": {
            "type": "number",
            "description": "The debit amount for this row. Maximum 2 decimal places",
            "format": "double"
          },
          "CreditAmount": {
            "type": "number",
            "description": "The credit amount for this row. Maximum 2 decimal places",
            "format": "double"
          },
          "TransactionText": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Transaction text used in searchable column in Account Analysis. Maximum length: 100 characters",
            "nullable": true
          },
          "LineNumber": {
            "type": "integer",
            "description": "The line number for this row. Default: 1",
            "format": "int32"
          },
          "Quantity": {
            "type": "number",
            "description": "The quantity for this row. Maximum 2 decimal places. This feature is for Dutch companies with agriculture support only",
            "format": "double",
            "nullable": true
          },
          "Weight": {
            "type": "number",
            "description": "The weight for this row. Maximum 2 decimal places. This feature is for Dutch companies with agriculture support only",
            "format": "double",
            "nullable": true
          },
          "DeliveryDate": {
            "type": "string",
            "description": "The delivery date. Format: YYYY-MM-DD. This feature is for Dutch companies with agriculture support only",
            "format": "date-time",
            "nullable": true
          },
          "HarvestYear": {
            "type": "integer",
            "description": "The harvest year. This feature is for Dutch companies with agriculture support only",
            "format": "int32",
            "nullable": true
          },
          "VatAmount": {
            "type": "number",
            "description": "The VAT amount for this row. Only for Denmark and Netherlands",
            "format": "double",
            "nullable": true
          },
          "ProportionalVatRateValue": {
            "type": "integer",
            "description": "The proportional VAT rate value. Only for Norway",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a line item in a supplier invoice draft"
      },
      "SupplierInvoiceDraftRowZapierApi": {
        "required": [
          "AccountNumber",
          "Amount"
        ],
        "type": "object",
        "properties": {
          "AccountNumber": {
            "maximum": 9999999999,
            "minimum": 1,
            "type": "integer",
            "description": "The account number for this row. Must be between 1 and 9999999999",
            "format": "int64"
          },
          "Amount": {
            "type": "number",
            "description": "The amount for this row. Maximum 2 decimal places",
            "format": "double"
          },
          "LineNumber": {
            "type": "integer",
            "description": "The line number for this row",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Represents a line item in a supplier invoice draft from Zapier integration"
      },
      "SupplierInvoiceDraftZapierApi": {
        "required": [
          "IsCreditInvoice",
          "Rows",
          "SupplierId"
        ],
        "type": "object",
        "properties": {
          "SupplierId": {
            "type": "string",
            "description": "The supplier identifier",
            "format": "uuid"
          },
          "InvoiceDate": {
            "type": "string",
            "description": "The date when the invoice was issued. Format: YYYY-MM-DD",
            "format": "date-time",
            "nullable": true
          },
          "DueDate": {
            "type": "string",
            "description": "The date when the invoice payment is due. Format: YYYY-MM-DD",
            "format": "date-time",
            "nullable": true
          },
          "InvoiceNumber": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "The invoice number from the supplier. Maximum length: 50 characters",
            "nullable": true
          },
          "TotalAmount": {
            "type": "number",
            "description": "The total amount of the invoice including VAT. Maximum 2 decimal places",
            "format": "double"
          },
          "Vat": {
            "type": "number",
            "description": "The total VAT amount. Maximum 2 decimal places",
            "format": "double"
          },
          "IsCreditInvoice": {
            "type": "boolean",
            "description": "Indicates whether this is a credit invoice"
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierInvoiceDraftRowZapierApi"
            },
            "description": "The invoice rows with account details and amounts"
          }
        },
        "additionalProperties": false,
        "description": "Represents a supplier invoice draft from Zapier integration"
      },
      "SupplierInvoiceOffsetCandidateApi": {
        "type": "object",
        "properties": {
          "InvoiceId": {
            "type": "string",
            "description": "The invoice ID",
            "format": "uuid"
          },
          "InvoiceNumber": {
            "type": "string",
            "description": "The invoice number",
            "nullable": true
          },
          "InvoiceDate": {
            "type": "string",
            "description": "The invoice date",
            "format": "date-time",
            "nullable": true
          },
          "SupplierName": {
            "type": "string",
            "description": "The supplier name",
            "nullable": true
          },
          "RemainingAmount": {
            "type": "number",
            "description": "The remaining amount on the invoice",
            "format": "double"
          },
          "CurrencyCode": {
            "type": "string",
            "description": "The currency code",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Candidate invoice that can be offset"
      },
      "SupplierInvoiceOffsetCreateApi": {
        "required": [
          "DebitInvoiceIds"
        ],
        "type": "object",
        "properties": {
          "DebitInvoiceIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The IDs of the debit invoices to be offset"
          },
          "VoucherDate": {
            "type": "string",
            "description": "The date for the offset voucher. Format: YYYY-MM-DD",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Request model for creating an offset between a credit invoice and debit invoices"
      },
      "SupplierInvoiceOffsetResponseApi": {
        "type": "object",
        "properties": {
          "CreditInvoiceId": {
            "type": "string",
            "description": "The ID of the credit invoice",
            "format": "uuid"
          },
          "DebitInvoiceId": {
            "type": "string",
            "description": "The ID of the debit invoice that was offset",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Response model for a created offset"
      },
      "SupplierInvoiceOffsetUndoResponseApi": {
        "required": [
          "ReversedVoucherIds"
        ],
        "type": "object",
        "properties": {
          "ReversedVoucherIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The IDs of the reversed vouchers",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Response model for undo offset"
      },
      "SupplierInvoicePatchRequestApi": {
        "type": "object",
        "properties": {
          "DueDate": {
            "type": "string",
            "description": "Due date of the invoice",
            "format": "date-time",
            "nullable": true
          },
          "Vat": {
            "type": "number",
            "description": "VAT amount for the invoice",
            "format": "double",
            "nullable": true
          },
          "VatHigh": {
            "type": "number",
            "description": "High VAT amount (Norway only)",
            "format": "double",
            "nullable": true
          },
          "VatMedium": {
            "type": "number",
            "description": "Medium VAT amount (Norway only)",
            "format": "double",
            "nullable": true
          },
          "VatLow": {
            "type": "number",
            "description": "Low VAT amount (Norway only)",
            "format": "double",
            "nullable": true
          },
          "AccountingTemplateId": {
            "type": "string",
            "description": "Accounting template (Pro-companies only)",
            "format": "uuid",
            "nullable": true
          },
          "IsCreditInvoice": {
            "type": "boolean",
            "description": "Indicates if this is a credit invoice (Netherlands only)",
            "nullable": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierInvoiceRowPatchRequestApi"
            },
            "description": "Rows to update/add. Include Id for existing rows",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request model for updating supplier invoice fields"
      },
      "SupplierInvoicePreviewRowsRequestApi": {
        "required": [
          "Rows",
          "SupplierId",
          "TotalAmount",
          "VatAmount"
        ],
        "type": "object",
        "properties": {
          "TotalAmount": {
            "type": "number",
            "description": "Total amount of the invoice",
            "format": "double"
          },
          "VatAmount": {
            "type": "number",
            "description": "VAT amount of the invoice",
            "format": "double"
          },
          "AccountingTemplateId": {
            "type": "string",
            "description": "Accounting template ID to be used for the invoice",
            "format": "uuid",
            "nullable": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierInvoiceRowApi"
            },
            "description": "Invoice rows to process"
          },
          "IsCreditInvoice": {
            "type": "boolean",
            "description": "Indicates if the invoice is a credit invoice"
          },
          "CurrencyCode": {
            "type": "string",
            "description": "Currency code of the invoice",
            "nullable": true
          },
          "CurrencyRate": {
            "type": "number",
            "description": "Currency rate of the invoice",
            "format": "double"
          },
          "SupplierId": {
            "type": "string",
            "description": "Supplier ID associated with the invoice",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Request model for previewing accounting rows with calculated amounts based on invoice data"
      },
      "SupplierInvoicePreviewRowsResponseApi": {
        "type": "object",
        "properties": {
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierInvoiceRowApi"
            },
            "description": "Processed rows with calculated amounts and editability information",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Response model for the supplier invoice preview rows endpoint"
      },
      "SupplierInvoiceRowApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier provided by the system",
            "format": "uuid",
            "readOnly": true
          },
          "AccountNumber": {
            "maximum": 9999999999,
            "minimum": 1,
            "type": "integer",
            "description": "The account number for this row",
            "format": "int64"
          },
          "AccountName": {
            "type": "string",
            "description": "The name of the account",
            "nullable": true,
            "readOnly": true
          },
          "VatCodeId": {
            "type": "string",
            "description": "VAT code identifier (Denmark and Netherlands only)",
            "format": "uuid",
            "nullable": true
          },
          "VatAmount": {
            "type": "number",
            "description": "VAT amount for this row (Denmark and Netherlands only)",
            "format": "double",
            "nullable": true
          },
          "ProportionalVatRateValue": {
            "type": "integer",
            "description": "Proportional VAT rate value (Norway only)",
            "format": "int32",
            "nullable": true
          },
          "CostCenterItemId1": {
            "type": "string",
            "description": "First cost center item. Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId2": {
            "type": "string",
            "description": "Second cost center item. Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId3": {
            "type": "string",
            "description": "Third cost center item. Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "Quantity": {
            "type": "number",
            "description": "Quantity with max 2 decimals (Dutch companies with agriculture support only)",
            "format": "double",
            "nullable": true
          },
          "Weight": {
            "type": "number",
            "description": "Weight with max 2 decimals (Dutch companies with agriculture support only)",
            "format": "double",
            "nullable": true
          },
          "DeliveryDate": {
            "type": "string",
            "description": "Delivery date (Dutch companies with agriculture support only)",
            "format": "date-time",
            "nullable": true
          },
          "HarvestYear": {
            "type": "integer",
            "description": "Harvest year (Dutch companies with agriculture support only)",
            "format": "int32",
            "nullable": true
          },
          "DebetAmount": {
            "type": "number",
            "description": "Debit amount with max 2 decimals",
            "format": "double"
          },
          "CreditAmount": {
            "type": "number",
            "description": "Credit amount with max 2 decimals",
            "format": "double"
          },
          "LineNumber": {
            "type": "integer",
            "description": "The line number of this row",
            "format": "int32",
            "readOnly": true
          },
          "ProjectId": {
            "type": "string",
            "description": "Project identifier. Get from /v2/projects",
            "format": "uuid",
            "nullable": true
          },
          "TransactionText": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Transaction text used in searchable column in Account Analysis",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an accounting row/line in a supplier invoice"
      },
      "SupplierInvoiceRowPatchRequestApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Include for existing rows to update them. Leave empty for new rows",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "AccountNumber": {
            "type": "integer",
            "description": "Account number for the row",
            "format": "int64",
            "nullable": true
          },
          "VatCodeId": {
            "type": "string",
            "description": "VAT code ID (Netherlands only)",
            "format": "uuid",
            "nullable": true
          },
          "TransactionText": {
            "type": "string",
            "description": "Transaction text for the row",
            "nullable": true
          },
          "ProjectId": {
            "type": "string",
            "description": "Project ID associated with the row",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId1": {
            "type": "string",
            "description": "Cost center item ID 1",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId2": {
            "type": "string",
            "description": "Cost center item ID 2",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId3": {
            "type": "string",
            "description": "Cost center item ID 3",
            "format": "uuid",
            "nullable": true
          },
          "DebitAmount": {
            "type": "number",
            "description": "Debit amount for the row",
            "format": "double",
            "nullable": true
          },
          "CreditAmount": {
            "type": "number",
            "description": "Credit amount for the row",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request model for updating supplier invoice row fields"
      },
      "SupplierInvoiceSuggestionApi": {
        "type": "object",
        "properties": {
          "AccountNumber": {
            "type": "integer",
            "description": "Account number for the suggestion",
            "format": "int64"
          },
          "VatCodeId": {
            "type": "string",
            "description": "VAT code ID associated with the account",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SupplierInvoiceValuationHistoryApi": {
        "required": [
          "SupplierInvoiceId"
        ],
        "type": "object",
        "properties": {
          "BookkeepingMethod": {
            "enum": [
              0,
              1,
              2
            ],
            "type": "integer",
            "description": "The bookkeeping method type of the action performed.",
            "format": "int32",
            "readOnly": true
          },
          "CurrencyCode": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string",
            "description": "The currency code of the supplier invoice.",
            "nullable": true,
            "readOnly": true
          },
          "SupplierInvoiceId": {
            "type": "string",
            "description": "The unique identifier of the supplier invoice.",
            "format": "uuid",
            "readOnly": true
          },
          "SupplierName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "The name of the supplier associated with the invoice.",
            "nullable": true,
            "readOnly": true
          },
          "SupplierNumber": {
            "maxLength": 16,
            "minLength": 0,
            "type": "string",
            "description": "The supplier number associated with the invoice.",
            "nullable": true,
            "readOnly": true
          },
          "InvoiceDate": {
            "type": "string",
            "description": "The date when the invoice was issued.",
            "format": "date-time",
            "readOnly": true
          },
          "InvoiceDueDate": {
            "type": "string",
            "description": "The due date for the invoice payment.",
            "format": "date-time",
            "readOnly": true
          },
          "InvoiceNumber": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "The invoice number as issued by the supplier.",
            "nullable": true,
            "readOnly": true
          },
          "IsCreditInvoice": {
            "type": "boolean",
            "description": "Indicates if the invoice is a credit invoice.",
            "readOnly": true
          },
          "RemainingAmountBaseCurrency": {
            "type": "number",
            "description": "The remaining amount in base currency that is yet to be paid.",
            "format": "double",
            "readOnly": true
          },
          "RemainingAmountInvoiceCurrency": {
            "type": "number",
            "description": "The remaining amount in the invoice currency that is yet to be paid.",
            "format": "double",
            "readOnly": true
          },
          "RoundingAmountInvoiceCurrency": {
            "type": "number",
            "description": "The rounding amount in the invoice currency, if applicable.",
            "format": "double",
            "readOnly": true
          },
          "TotalAmountBaseCurrency": {
            "type": "number",
            "description": "The total amount in base currency of the invoice.",
            "format": "double",
            "readOnly": true
          },
          "TotalAmountInvoiceCurrency": {
            "type": "number",
            "description": "The total amount in the invoice currency of the invoice.",
            "format": "double",
            "readOnly": true
          },
          "ValuationHistory": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierInvoiceValuationRowsApi"
            },
            "description": "The list of valuation changes done for the supplier invoice.",
            "nullable": true
          },
          "RelatedVouchers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VoucherRelationApi"
            },
            "description": "The list of related vouchers associated with the supplier invoice.",
            "nullable": true
          },
          "VatAmountBaseCurrency": {
            "type": "number",
            "description": "The VAT amount in base currency for the invoice.",
            "format": "double",
            "readOnly": true
          },
          "VatAmountInvoiceCurrency": {
            "type": "number",
            "description": "The VAT amount in the invoice currency for the invoice.",
            "format": "double",
            "readOnly": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "The date and time when the record was created in UTC.",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "The date and time when the record was last modified in UTC.",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "GroupAccountNumber": {
            "type": "integer",
            "description": "New group account that is defined on the supplier and used instead of the standard payable account 2440.",
            "format": "int64",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "SupplierInvoiceValuationRowsApi": {
        "type": "object",
        "properties": {
          "Type": {
            "enum": [
              1,
              2,
              3,
              4,
              5,
              6,
              7
            ],
            "type": "integer",
            "description": "The type of the supplier invoice valuation row.",
            "format": "int32",
            "readOnly": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "The date and time when the valuation row was created.",
            "format": "date-time",
            "readOnly": true
          },
          "Date": {
            "type": "string",
            "description": "Date of the valuation history entry.",
            "format": "date-time",
            "readOnly": true
          },
          "InvoiceCurrencyCode": {
            "maxLength": 3,
            "minLength": 0,
            "type": "string",
            "description": "Currency code of the invoice associated with the valuation.",
            "nullable": true,
            "readOnly": true
          },
          "RemainingAmountBaseCurrency": {
            "type": "number",
            "description": "Remaining amount in base currency after valuation.",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "RemainingAmountInvoiceCurrency": {
            "type": "number",
            "description": "Remaining amount in invoice currency after valuation.",
            "format": "double",
            "readOnly": true
          },
          "ValueChangeBaseCurrency": {
            "type": "number",
            "description": "Value change in base currency due to valuation.",
            "format": "double",
            "readOnly": true
          },
          "ValueChangeInvoiceCurrency": {
            "type": "number",
            "description": "Value change in invoice currency due to valuation.",
            "format": "double",
            "readOnly": true
          },
          "VoucherId": {
            "type": "string",
            "description": "Identifier of the voucher associated with the valuation.",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "VoucherNumberAndSeries": {
            "type": "string",
            "description": "Number and series of the voucher associated with the valuation.",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "SupplierLedgerItemBatchApi": {
        "required": [
          "DueDate",
          "InvoiceDate",
          "IsUsingTotalVatAmount",
          "RemainingAmountInvoiceCurrency",
          "SerialNumber",
          "SupplierInvoiceNumber",
          "SupplierNumber",
          "TotalAmountInvoiceCurrency"
        ],
        "type": "object",
        "properties": {
          "SerialNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Invoice number that serves as a unique identifier for the supplier ledger item"
          },
          "SupplierInvoiceNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Supplier invoice number"
          },
          "SupplierNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Supplier number"
          },
          "SupplierBankCountryCode": {
            "type": "string",
            "description": "Supplier bank country code (max 4 characters)",
            "nullable": true
          },
          "SupplierLedgerAccountNumber": {
            "type": "integer",
            "description": "Supplier ledger account number",
            "format": "int64"
          },
          "IsUsingTotalVatAmount": {
            "type": "boolean",
            "description": "Indicates if using total VAT amount"
          },
          "IsCreditInvoice": {
            "type": "boolean",
            "description": "Indicates if this is a credit invoice"
          },
          "InvoiceDate": {
            "type": "string",
            "description": "Invoice date",
            "format": "date-time"
          },
          "DueDate": {
            "type": "string",
            "description": "Due date",
            "format": "date-time"
          },
          "PaymentReferenceNumber": {
            "type": "string",
            "description": "Payment reference number (max 25 characters)",
            "nullable": true
          },
          "PaymentMessage": {
            "type": "string",
            "description": "Payment message (max 255 characters)",
            "nullable": true
          },
          "CurrencyCode": {
            "type": "string",
            "description": "Currency code (max 4 characters)",
            "nullable": true
          },
          "CurrencyRate": {
            "type": "number",
            "description": "Currency rate",
            "format": "double"
          },
          "CurrencyRateUnit": {
            "type": "number",
            "description": "Currency rate unit",
            "format": "double"
          },
          "TotalAmountInvoiceCurrency": {
            "type": "number",
            "description": "Total amount in invoice currency",
            "format": "double"
          },
          "RemainingAmountInvoiceCurrency": {
            "type": "number",
            "description": "Remaining amount in invoice currency",
            "format": "double"
          },
          "TotalVatAmount": {
            "type": "number",
            "description": "Total VAT amount",
            "format": "double"
          },
          "VatAmountHigh": {
            "type": "number",
            "description": "VAT amount high rate",
            "format": "double"
          },
          "VatAmountMiddle": {
            "type": "number",
            "description": "VAT amount middle rate",
            "format": "double"
          },
          "VatAmountLow": {
            "type": "number",
            "description": "VAT amount low rate",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "SupplierLedgerItemsBatchApi": {
        "required": [
          "SupplierLedgerItems"
        ],
        "type": "object",
        "properties": {
          "SupplierLedgerItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierLedgerItemBatchApi"
            },
            "description": "List of supplier ledger items to be created"
          }
        },
        "additionalProperties": false
      },
      "SuppliersBatchApi": {
        "type": "object",
        "properties": {
          "Suppliers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierBatchApi"
            },
            "description": "List of suppliers to be created or updated",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TaxDeclarationDateApi": {
        "type": "object",
        "properties": {
          "Month": {
            "maximum": 31,
            "minimum": 1,
            "type": "integer",
            "description": "Month",
            "format": "int32"
          },
          "Day": {
            "maximum": 12,
            "minimum": 1,
            "type": "integer",
            "description": "Day of the month",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Tax declaration day and month. Only for Sweden and Finland"
      },
      "TermsOfPaymentApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system. For v2/quotes and v2/quotedrafts endpoints Id is editable",
            "format": "uuid",
            "readOnly": true
          },
          "Name": {
            "type": "string",
            "description": "Name of the terms of payment",
            "nullable": true
          },
          "NameEnglish": {
            "type": "string",
            "description": "English name of the terms of payment",
            "nullable": true
          },
          "NumberOfDays": {
            "type": "integer",
            "description": "Number of days to pay",
            "format": "int32"
          },
          "TermsOfPaymentTypeId": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = Normal,<br/>1 = CurrentMonth,<br/>2 = Cash,<br/>3 = CardPayment,<br/>4 = DigitalWallet,<br/>5 = PaymentServiceProvider<br/><br/>Type of terms of payment, possible values are.",
            "format": "int32"
          },
          "TermsOfPaymentTypeText": {
            "type": "string",
            "nullable": true
          },
          "AvailableForSales": {
            "type": "boolean",
            "description": "True if this terms of payment can be used on sales documents, false otherwise"
          },
          "AvailableForPurchase": {
            "type": "boolean",
            "description": "True if this terms of payment can be used on purchase documents, false otherwise"
          }
        },
        "additionalProperties": false
      },
      "TransactionalCostsRequest": {
        "required": [
          "InterpretedAttachments",
          "SupplierInvoice"
        ],
        "type": "object",
        "properties": {
          "SupplierInvoice": {
            "$ref": "#/components/schemas/SupplierInvoiceApi"
          },
          "InterpretedAttachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttachmentInterpretationApi"
            },
            "description": "The attachment interpretations that are going to be posted with the invoice"
          }
        },
        "additionalProperties": false
      },
      "TrialApi": {
        "required": [
          "CountryCode",
          "Email"
        ],
        "type": "object",
        "properties": {
          "CountryCode": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "description": "<strong>Possible values:</strong><br/>3166-1 alpha-2)<br/><br/>Two-letter country code (ISO."
          },
          "Email": {
            "maxLength": 256,
            "minLength": 0,
            "type": "string",
            "description": "Email address for the trial invitation"
          }
        },
        "additionalProperties": false
      },
      "UnitApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "The unique identifier of the unit",
            "format": "uuid",
            "readOnly": true
          },
          "Name": {
            "type": "string",
            "description": "Name of the unit",
            "nullable": true
          },
          "Code": {
            "type": "string",
            "description": "Code of the unit",
            "nullable": true
          },
          "Abbreviation": {
            "type": "string",
            "description": "Abbreviation of the unit",
            "nullable": true
          },
          "AbbreviationEnglish": {
            "type": "string",
            "description": "English abbreviation of the unit",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UnpaidInvoicesSummary": {
        "type": "object",
        "properties": {
          "DueInMonth": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>1-12)<br/><br/>Month when invoices are due (.",
            "format": "int32"
          },
          "UnpaidSalesInvoices": {
            "$ref": "#/components/schemas/UnpaidSalesInvoicesDetails"
          },
          "UnpaidPurchaseInvoices": {
            "$ref": "#/components/schemas/UnpaidPurchaseInvoicesDetails"
          }
        },
        "additionalProperties": false
      },
      "UnpaidPurchaseInvoicesDetails": {
        "type": "object",
        "properties": {
          "UnpaidPurchaseInvoicesCount": {
            "type": "integer",
            "description": "Count of unpaid purchase invoices",
            "format": "int32"
          },
          "UnpaidPurchaseInvoicesTotalAmount": {
            "type": "number",
            "description": "Total amount of unpaid purchase invoices",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "UnpaidSalesInvoicesDetails": {
        "type": "object",
        "properties": {
          "UnpaidSalesInvoicesCount": {
            "type": "integer",
            "description": "Count of unpaid sales invoices",
            "format": "int32"
          },
          "UnpaidSalesInvoicesTotalAmount": {
            "type": "number",
            "description": "Total amount of unpaid sales invoices",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "UserApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "The unique identifier of the user",
            "format": "uuid",
            "readOnly": true
          },
          "Email": {
            "type": "string",
            "description": "Email address of the user",
            "nullable": true
          },
          "FirstName": {
            "type": "string",
            "description": "The first name of the user",
            "nullable": true
          },
          "LastName": {
            "type": "string",
            "description": "The last name of the user",
            "nullable": true
          },
          "IsActive": {
            "type": "boolean",
            "description": "Status of the user"
          },
          "IsCurrentUser": {
            "type": "boolean",
            "description": "True if this is the user that is currently logged in"
          },
          "IsConsultant": {
            "type": "boolean",
            "description": "True if this user is a consultant"
          },
          "HasPurchaseInvoicesApprovalPermission": {
            "type": "boolean",
            "description": "True if the user can approve/reject purchase invoices"
          },
          "HasVATReportsApprovalPermission": {
            "type": "boolean",
            "description": "True if the user can approve/reject VAT reports"
          }
        },
        "additionalProperties": false
      },
      "ValidateDocumentResponse": {
        "type": "object",
        "properties": {
          "TransactionCostWillBeCharged": {
            "type": "boolean",
            "description": "True if the attachment will be charged with transaction costs due to interpretation"
          },
          "DisplayFirstTimeCostsInformation": {
            "type": "boolean",
            "description": "True the first time the user uses the interpretation service with transaction costs"
          },
          "DisplayConsultantBillingInformation": {
            "type": "boolean",
            "description": "True if the user is a consultant and the company has not activated AutoInvoice collaboration"
          },
          "PricePerDocument": {
            "type": "number",
            "description": "Price per document for the interpretation service",
            "format": "double",
            "nullable": true
          },
          "PriceCurrency": {
            "type": "string",
            "description": "Price currency for the interpretation service",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VatCodeApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "The unique identifier of the vat code.",
            "format": "uuid",
            "readOnly": true
          },
          "Code": {
            "type": "string",
            "description": "The code representing the VAT category.",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "description": "The description of the VAT code.",
            "nullable": true
          },
          "VatRate": {
            "type": "number",
            "description": "The VAT rate as a percentage.",
            "format": "double"
          },
          "OssCodeType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = Sales,<br/>2 = Vat",
            "format": "int32"
          },
          "RelatedAccounts": {
            "$ref": "#/components/schemas/RelatedAccounts"
          }
        },
        "additionalProperties": false
      },
      "VatCodeRateApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "The unique identifier of the vat code rate.",
            "format": "uuid",
            "readOnly": true
          },
          "Code": {
            "type": "string",
            "description": "The code representing the VAT category.",
            "nullable": true
          },
          "Description": {
            "type": "string",
            "description": "The description of the VAT code.",
            "nullable": true
          },
          "VatRates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VatRateApi"
            },
            "description": "The VAT rates applicable to this VAT code.",
            "nullable": true
          },
          "OssCodeType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = Sales,<br/>2 = Vat",
            "format": "int32"
          },
          "RelatedAccounts": {
            "$ref": "#/components/schemas/RelatedAccounts"
          }
        },
        "additionalProperties": false
      },
      "VatRateApi": {
        "type": "object",
        "properties": {
          "VatRateDate": {
            "type": "string",
            "description": "Vat rate start date",
            "format": "date-time"
          },
          "VatRate": {
            "type": "number",
            "description": "The VAT rate as a percentage.",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "VatReportApi": {
        "required": [
          "Id",
          "Name"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "The unique identifier of the VAT report",
            "format": "uuid",
            "readOnly": true
          },
          "Name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the VAT report",
            "readOnly": true
          },
          "StartDate": {
            "type": "string",
            "description": "The start date of the VAT report period",
            "format": "date-time",
            "readOnly": true
          },
          "EndDate": {
            "type": "string",
            "description": "The end date of the VAT report period",
            "format": "date-time",
            "readOnly": true
          },
          "DocumentApprovalStatus": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = Approved,<br/>2 = Rejected,<br/>3 = ReadyForApproval<br/><br/>The document approval status of the VAT report.",
            "format": "int32",
            "readOnly": true
          },
          "DocumentId": {
            "type": "string",
            "description": "Purpose: Fetch the associated document. Can be null if the vat report does not have an associated file created. Use GET /v2/documents/{id}",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "The UTC timestamp when the VAT report was created",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "IsRegretted": {
            "type": "boolean",
            "description": "Indicates whether the vat report was undone",
            "readOnly": true
          },
          "RegrettedByUserId": {
            "type": "string",
            "description": "Purpose: If the vat report was undone this indicates the user id that did the action. Can be null if not undone. Use GET /v2/users",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "RegrettedDate": {
            "type": "string",
            "description": "Purpose: If the vat report was undone this indicates the date of the action. Can be null if not undone",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "The UTC timestamp when the VAT report was last modified",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "SentForApprovalByUserId": {
            "type": "string",
            "description": "Purpose: If the vat report was sent for approval this indicates the user id that did the action. Can be null if not sent for approval. Use GET /v2/users",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "VoucherId": {
            "type": "string",
            "description": "Purpose: Fetch the associated voucher. Can be null if there is no associated voucher. Use GET /v2/vouchers/{fiscalyearId}/{voucherId}",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "TotalAmount": {
            "type": "number",
            "description": "Predicted vat amount to pay or be refunded",
            "format": "double",
            "readOnly": true
          },
          "ApprovalEventsHistory": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentApprovalEventApi"
            },
            "description": "The history of approval events of the vat report",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "VoucherApi": {
        "required": [
          "Rows",
          "VoucherText"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique Id provided by the system",
            "format": "uuid",
            "readOnly": true
          },
          "VoucherDate": {
            "type": "string",
            "description": "Bookkeeping date. Format: yyyy-mm-dd",
            "format": "date-time"
          },
          "VoucherText": {
            "maxLength": 1000,
            "minLength": 0,
            "type": "string",
            "description": "Voucher's description"
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VoucherRowApi"
            },
            "description": "The accounting rows/lines of the voucher"
          },
          "NumberAndNumberSeries": {
            "type": "string",
            "description": "Returns the voucher number",
            "nullable": true,
            "readOnly": true
          },
          "NumberSeries": {
            "type": "string",
            "description": "Returns the number series. Use parameter useDefaultVoucherSeries with false value to set Series.",
            "nullable": true
          },
          "ImportedVoucherNumber": {
            "type": "string",
            "description": "Returns original voucher number if the voucher is imported from another system.",
            "nullable": true,
            "readOnly": true
          },
          "Attachments": {
            "$ref": "#/components/schemas/AttachmentLinkApi"
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "The UTC date and time when the voucher was last modified.",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "VoucherType": {
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>2 = ManualVoucher,<br/>5 = BankAccountTransferDeposit,<br/>6 = BankAccountTransferWithDrawal,<br/>7 = PurchaseReceipt,<br/>8 = VatReport,<br/>9 = SieImport,<br/>10 = BankTransactionDeposit,<br/>11 = BankTransactionWithdrawal,<br/>12 = SupplierInvoiceDebit,<br/>13 = SupplierInvoiceCredit,<br/>14 = CustomerInvoiceDebit,<br/>15 = CustomerInvoiceCredit,<br/>16 = ClaimOnCardAcquirer,<br/>17 = TaxReturn,<br/>18 = AllocationPeriod,<br/>19 = AllocationPeriodCorrection,<br/>20 = InventoryEvent,<br/>21 = EmployerReport,<br/>22 = Payslip,<br/>23 = CustomerQuickInvoiceDebit,<br/>24 = CustomerQuickInvoiceCredit,<br/>25 = SupplierQuickInvoiceDebit,<br/>26 = SupplierQuickInvoiceCredit,<br/>27 = IZettleVoucher,<br/>28 = StockValuation,<br/>29 = ClaimOnSpotFactoring,<br/>30 = RecourseFactoring,<br/>32 = DirectDebit,<br/>33 = DirectDebitCorrection,<br/>34 = PaymentLinks",
            "format": "int32"
          },
          "SourceId": {
            "type": "string",
            "description": "The source of the voucher, e.g. invoice id.",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "The UTC date and time when the voucher was created.",
            "format": "date-time",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "VoucherDraftApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "The unique identifier of the voucher draft provided by eAccounting",
            "format": "uuid",
            "readOnly": true
          },
          "VoucherDate": {
            "type": "string",
            "description": "The voucher date in yyyy-mm-dd format",
            "format": "date-time"
          },
          "VoucherText": {
            "maxLength": 1000,
            "minLength": 0,
            "type": "string",
            "description": "Description or text for the voucher. Maximum length: 1000 characters",
            "nullable": true
          },
          "NumberSeries": {
            "type": "string",
            "description": "The number series for the voucher. If not set, the default number series will be used",
            "nullable": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "The UTC timestamp when the voucher draft was created",
            "format": "date-time",
            "readOnly": true
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "The UTC timestamp when the voucher draft was last modified",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VoucherDraftRowApi"
            },
            "description": "Collection of voucher draft rows containing accounting entries",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VoucherDraftRowApi": {
        "required": [
          "AccountNumber"
        ],
        "type": "object",
        "properties": {
          "AccountNumber": {
            "maximum": 9999999999,
            "minimum": 1,
            "type": "integer",
            "description": "The account number for the voucher row. Must be between 1 and 9999999999",
            "format": "int64"
          },
          "DebitAmount": {
            "maximum": 1000000000,
            "minimum": 0,
            "type": "number",
            "description": "The debit amount for this voucher row. Maximum 2 decimals allowed",
            "format": "double"
          },
          "CreditAmount": {
            "maximum": 1000000000,
            "minimum": 0,
            "type": "number",
            "description": "The credit amount for this voucher row. Maximum 2 decimals allowed",
            "format": "double"
          },
          "VatCodeId": {
            "type": "string",
            "description": "The VAT code identifier. If set, it will be used to calculate the corresponding VAT amount",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId1": {
            "type": "string",
            "description": "The first cost center item identifier. Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId2": {
            "type": "string",
            "description": "The second cost center item identifier. Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId3": {
            "type": "string",
            "description": "The third cost center item identifier. Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "TransactionText": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "Transaction description text. Maximum length: 50 characters",
            "nullable": true
          },
          "ProjectId": {
            "type": "string",
            "description": "The project identifier for this voucher row. Source: Get from /v2/projects",
            "format": "uuid",
            "nullable": true
          },
          "Quantity": {
            "type": "number",
            "description": "Quantity value with maximum 2 decimals. This feature is for Dutch companies only which have agriculture support enabled",
            "format": "double",
            "nullable": true
          },
          "Weight": {
            "type": "number",
            "description": "Weight value with maximum 2 decimals. This feature is for Dutch companies only which have agriculture support enabled",
            "format": "double",
            "nullable": true
          },
          "DeliveryDate": {
            "type": "string",
            "description": "Delivery date in YYYY-MM-DD format. This feature is for Dutch companies only which have agriculture support enabled",
            "format": "date-time",
            "nullable": true
          },
          "HarvestYear": {
            "type": "integer",
            "description": "The harvest year. This feature is for Dutch companies only which have agriculture support enabled",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VoucherRelationApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "The unique identifier of the voucher relation.",
            "format": "uuid",
            "readOnly": true
          },
          "NumberAndNumberSeries": {
            "type": "string",
            "description": "The number and series of the voucher.",
            "nullable": true,
            "readOnly": true
          },
          "Type": {
            "enum": [
              2,
              5,
              6,
              7,
              8,
              9,
              10,
              11,
              12,
              13,
              14,
              15,
              16,
              17,
              18,
              19,
              20,
              21,
              22,
              23,
              24,
              25,
              26,
              27,
              28,
              29,
              30,
              31,
              32,
              33,
              34
            ],
            "type": "integer",
            "description": "The type of the voucher, indicating its nature (e.g., invoice, credit note).",
            "format": "int32",
            "readOnly": true
          },
          "VoucherText": {
            "maxLength": 1000,
            "minLength": 0,
            "type": "string",
            "description": "The text description of the voucher.",
            "nullable": true,
            "readOnly": true
          },
          "VoucherDate": {
            "type": "string",
            "description": "The date of the voucher.",
            "format": "date-time",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "VoucherRowApi": {
        "required": [
          "AccountNumber"
        ],
        "type": "object",
        "properties": {
          "AccountNumber": {
            "maximum": 9999999999,
            "minimum": 1,
            "type": "integer",
            "description": "The account number for this row. Must be between 1 and 9999999999",
            "format": "int64"
          },
          "AccountDescription": {
            "type": "string",
            "description": "Account number description",
            "nullable": true,
            "readOnly": true
          },
          "DebitAmount": {
            "maximum": 10000000000,
            "minimum": 0,
            "type": "number",
            "description": "The debit amount for this row. Maximum 2 decimal places",
            "format": "double"
          },
          "CreditAmount": {
            "maximum": 10000000000,
            "minimum": 0,
            "type": "number",
            "description": "The credit amount for this row. Maximum 2 decimal places",
            "format": "double"
          },
          "TransactionText": {
            "maxLength": 60,
            "minLength": 0,
            "type": "string",
            "description": "Transaction text used in searchable column in Account Analysis. Maximum length: 60 characters",
            "nullable": true
          },
          "CostCenterItemId1": {
            "type": "string",
            "description": "The first cost center item identifier. Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true,
            "readOnly": true
          },
          "CostCenterItemId2": {
            "type": "string",
            "description": "The second cost center item identifier. Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId3": {
            "type": "string",
            "description": "The third cost center item identifier. Source: Get from /v2/costcenters",
            "format": "uuid",
            "nullable": true
          },
          "VatCodeId": {
            "type": "string",
            "description": "The VAT code identifier returned from the provided account number",
            "format": "uuid",
            "nullable": true
          },
          "VatCodeAndPercent": {
            "type": "string",
            "description": "The VAT code and percentage in the format 'Code (Percentage)'. Example: 'MVA 25%'",
            "nullable": true
          },
          "VatAmount": {
            "type": "number",
            "description": "The VAT amount for this row. Only for Denmark and Netherlands",
            "format": "double",
            "nullable": true
          },
          "Quantity": {
            "type": "number",
            "description": "The quantity for this row. Maximum 2 decimal places. This feature is for Dutch companies with agriculture support only",
            "format": "double",
            "nullable": true
          },
          "Weight": {
            "type": "number",
            "description": "The weight for this row. Maximum 2 decimal places. This feature is for Dutch companies with agriculture support only",
            "format": "double",
            "nullable": true
          },
          "DeliveryDate": {
            "type": "string",
            "description": "The delivery date. Format: YYYY-MM-DD. This feature is for Dutch companies with agriculture support only",
            "format": "date-time",
            "nullable": true
          },
          "HarvestYear": {
            "type": "integer",
            "description": "The harvest year. This feature is for Dutch companies with agriculture support only",
            "format": "int32",
            "nullable": true
          },
          "ProjectId": {
            "type": "string",
            "description": "The project identifier. Get from /v2/projects",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "VoucherWithOverunderPaymentApi": {
        "required": [
          "Rows"
        ],
        "type": "object",
        "properties": {
          "VoucherDate": {
            "type": "string",
            "description": "The voucher date",
            "format": "date-time"
          },
          "VoucherText": {
            "maxLength": 1000,
            "minLength": 0,
            "type": "string",
            "description": "Optional voucher text description",
            "nullable": true
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VoucherWithOverunderPaymentRowApi"
            },
            "description": "The voucher rows containing the accounting details"
          },
          "Attachments": {
            "$ref": "#/components/schemas/AttachmentLinkApi"
          }
        },
        "additionalProperties": false
      },
      "VoucherWithOverunderPaymentRowApi": {
        "required": [
          "AccountNumber"
        ],
        "type": "object",
        "properties": {
          "AccountNumber": {
            "maximum": 9999999999,
            "minimum": 1,
            "type": "integer",
            "description": "The account number for this row",
            "format": "int64"
          },
          "DebitAmount": {
            "maximum": 1000000000,
            "minimum": 0,
            "type": "number",
            "description": "Debit amount with maximum 2 decimals",
            "format": "double"
          },
          "CreditAmount": {
            "maximum": 1000000000,
            "minimum": 0,
            "type": "number",
            "description": "Credit amount with maximum 2 decimals",
            "format": "double"
          },
          "CostCenterItemId1": {
            "type": "string",
            "description": "Cost center item ID 1",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId2": {
            "type": "string",
            "description": "Cost center item ID 2",
            "format": "uuid",
            "nullable": true
          },
          "CostCenterItemId3": {
            "type": "string",
            "description": "Cost center item ID 3",
            "format": "uuid",
            "nullable": true
          },
          "VatCodeId": {
            "type": "string",
            "description": "VAT code ID for this row",
            "format": "uuid",
            "nullable": true
          },
          "Quantity": {
            "type": "number",
            "description": "Quantity for Dutch agriculture support",
            "format": "double",
            "nullable": true
          },
          "Weight": {
            "type": "number",
            "description": "Weight for Dutch agriculture support",
            "format": "double",
            "nullable": true
          },
          "DeliveryDate": {
            "type": "string",
            "description": "Delivery date for Dutch agriculture support",
            "format": "date-time",
            "nullable": true
          },
          "HarvestYear": {
            "type": "integer",
            "description": "Harvest year for Dutch agriculture support",
            "format": "int32",
            "nullable": true
          },
          "ProjectId": {
            "type": "string",
            "description": "Project ID",
            "format": "uuid",
            "nullable": true
          },
          "CustomerId": {
            "type": "string",
            "description": "Customer Id for this row",
            "format": "uuid",
            "nullable": true
          },
          "SupplierId": {
            "type": "string",
            "description": "Supplier Id for this row",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WebHookApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier provided by the system",
            "format": "uuid",
            "readOnly": true
          },
          "Endpoint": {
            "maxLength": 512,
            "minLength": 0,
            "type": "string",
            "description": "The endpoint URL where webhook notifications will be sent.",
            "format": "uri",
            "nullable": true
          },
          "Description": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "A description of the webhook.",
            "nullable": true
          },
          "ClientId": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "The client identifier.",
            "nullable": true,
            "readOnly": true
          },
          "AuthenticationKey": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "The authentication key used for webhook authentication. Must not include spaces.",
            "nullable": true
          },
          "AuthenticationValue": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "The authentication value used for webhook authentication.",
            "nullable": true
          },
          "SigningKey": {
            "maxLength": 255,
            "minLength": 0,
            "type": "string",
            "description": "The signing key used to verify webhook payloads.",
            "nullable": true
          },
          "Active": {
            "type": "boolean",
            "description": "Indicates whether the webhook is active"
          },
          "Subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebHookSubscriptionApi"
            },
            "description": "The list of subscription types for this webhook. At least one subscription is required.",
            "nullable": true
          },
          "CreatedUtc": {
            "type": "string",
            "description": "The UTC timestamp when the webhook was created",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          },
          "ModifiedUtc": {
            "type": "string",
            "description": "The UTC timestamp when the webhook was last modified",
            "format": "date-time",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "WebHookFailLogApi": {
        "type": "object",
        "properties": {
          "ErrorResponse": {
            "type": "string",
            "description": "The error response.",
            "nullable": true
          },
          "WebhookId": {
            "type": "string",
            "description": "The id of the webhook.",
            "format": "uuid"
          },
          "ClientId": {
            "type": "string",
            "description": "The client id for the error.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "WebHookSubscriptionApi": {
        "type": "object",
        "properties": {
          "WebHookId": {
            "type": "string",
            "description": "The identifier of the webhook this subscription belongs to",
            "format": "uuid",
            "readOnly": true
          },
          "SubscriptionType": {
            "maximum": 16,
            "minimum": 0,
            "type": "integer",
            "description": "<strong>Possible values:</strong><br/>0 = None,<br/>1 = Article,<br/>2 = Customer,<br/>3 = CustomerInvoice,<br/>4 = CustomerInvoiceDraft,<br/>5 = Order,<br/>6 = Supplier,<br/>8 = SupplierInvoiceDraft,<br/>9 = Quote,<br/>11 = Voucher,<br/>12 = WebshopOrder,<br/>13 = Account,<br/>14 = FiscalYear,<br/>15 = CostCenter,<br/>16 = CostCenterItem<br/><br/>The document type to which the webhook subscription is attached.",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "WebshopOrderApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier for the webshop order",
            "format": "uuid",
            "readOnly": true
          },
          "BaseCurrencyCode": {
            "type": "string",
            "description": "Base currency code used by the company",
            "nullable": true,
            "readOnly": true
          },
          "Name": {
            "type": "string",
            "description": "Name of the customer",
            "nullable": true
          },
          "Number": {
            "type": "string",
            "description": "Order number",
            "nullable": true
          },
          "OrderCurrencyCode": {
            "type": "string",
            "description": "Currency code for the order",
            "nullable": true
          },
          "OrderDate": {
            "type": "string",
            "description": "Date when the order was placed",
            "format": "date-time"
          },
          "OrderNumber": {
            "type": "string",
            "description": "Original order number from the webshop",
            "nullable": true
          },
          "Note": {
            "type": "string",
            "description": "Additional notes for the order",
            "nullable": true
          },
          "TotalAmountBaseCurrency": {
            "type": "number",
            "description": "Total amount in base currency",
            "format": "double"
          },
          "TotalAmountOrderCurrency": {
            "type": "number",
            "description": "Total amount in order currency",
            "format": "double"
          },
          "CustomerIsPrivatePerson": {
            "type": "boolean",
            "description": "Indicates if the customer is a private person"
          },
          "Rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebshopOrderRowApi"
            },
            "description": "Collection of order rows/line items",
            "nullable": true
          },
          "CustomerAddress1": {
            "type": "string",
            "description": "First line of customer address",
            "nullable": true
          },
          "CustomerAddress2": {
            "type": "string",
            "description": "Second line of customer address",
            "nullable": true
          },
          "CustomerPostalCode": {
            "type": "string",
            "description": "Customer postal code",
            "nullable": true
          },
          "CustomerCity": {
            "type": "string",
            "description": "Customer city",
            "nullable": true
          },
          "CustomerCountry": {
            "type": "string",
            "description": "Customer country name",
            "nullable": true
          },
          "CustomerCountryCode": {
            "maxLength": 2,
            "minLength": 0,
            "type": "string",
            "description": "Two-character country code",
            "nullable": true
          },
          "CustomerVatNo": {
            "type": "string",
            "description": "Customer VAT number",
            "nullable": true
          },
          "CorporateIdentityNumber": {
            "type": "string",
            "description": "Corporate identity number",
            "nullable": true
          },
          "EmailAddress": {
            "type": "string",
            "description": "Customer email address",
            "format": "email",
            "nullable": true
          },
          "Telephone": {
            "type": "string",
            "description": "Customer telephone number",
            "nullable": true
          },
          "ContactPersonMobile": {
            "type": "string",
            "description": "Contact person mobile number",
            "nullable": true
          },
          "MessageThreads": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Message thread IDs associated with this order. Fetch messages via GET /v2/messagethreads/{messageThreadId}",
            "nullable": true,
            "readOnly": true
          },
          "Notes": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Note IDs associated with this order. Fetch notes via GET /v2/notes/{noteId}",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "WebshopOrderRowApi": {
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Unique identifier for the order row",
            "format": "uuid",
            "readOnly": true
          },
          "ArticleName": {
            "type": "string",
            "description": "Name of the article",
            "nullable": true
          },
          "ArticleNumber": {
            "type": "string",
            "description": "Article number/SKU",
            "nullable": true
          },
          "PricePerUnitInvoiceCurrency": {
            "type": "number",
            "description": "Price per unit in invoice currency",
            "format": "double"
          },
          "Quantity": {
            "type": "number",
            "description": "Quantity of the item",
            "format": "double"
          },
          "UnitAbbreviation": {
            "type": "string",
            "description": "Unit abbreviation (e.g., pcs, kg)",
            "nullable": true
          },
          "Sum": {
            "type": "number",
            "description": "Total sum for this row",
            "format": "double"
          },
          "PercentVat": {
            "type": "number",
            "description": "VAT percentage",
            "format": "double"
          }
        },
        "additionalProperties": false
      }
    }
  },
  "tags": [
    {
      "name": "ArticleLabels",
      "description": "Groups used to categorise and organise the articles.  \r\nOverview of Article Labels Functionality: [Article labels](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/settings-article-labels.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing"
    },
    {
      "name": "Articles",
      "description": "A product or service that the company offers to customers, used on quotes and invoices.    \r\nOverview of Articles Functionality: [Articles](https://support.spiris.se/bokforing-fakturering/en-se/content/online-help/sales-articles.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Solo"
    },
    {
      "name": "CustomerInvoiceDrafts",
      "description": "Draft invoices sent to customers before they are finalized and posted to the accounting system.   \nOverview of Customer Invoice Functionality: [Customer Invoices](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/sales-invoices.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Solo"
    },
    {
      "name": "CustomerInvoices",
      "description": "Invoices sent to customers for goods or services provided by your business.  \nOverview of Customer Invoice Functionality: [Customer Invoices](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/sales-invoices.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Solo"
    },
    {
      "name": "CustomerInvoiceValuationHistories",
      "description": "Historical valuation records for customer invoices.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Solo"
    },
    {
      "name": "CustomerLabels",
      "description": "Groups used to categorise and organise the customers.  \r\nOverview of Customer Labels Functionality: [Customer Labels](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/customers.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing"
    },
    {
      "name": "CustomerLedgerItems",
      "description": "A record of a financial transaction affecting a customer account, such as invoices, payments, or credit notes.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Solo"
    },
    {
      "name": "Customers",
      "description": "Organizations or individuals that purchase goods or services from your business.  \r\nOverview of Customer Functionality: [Customers](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/sales-customers.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Solo"
    },
    {
      "name": "DeliveryMethods",
      "description": "Ways or means by which goods are delivered to the customer.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Solo"
    },
    {
      "name": "DeliveryTerms",
      "description": "Conditions that define risks and responsibilities during delivery.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Solo"
    },
    {
      "name": "DiscountAgreements",
      "description": "Agreements that define specific discount terms and conditions for customers.  \nOverview of Discount Agreement Functionality: [Discount Agreements](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/settings-discount-agreements.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro"
    },
    {
      "name": "Orders",
      "description": "A confirmed request for products or services to be delivered.  \r\nOverview of Orders Functionality: [Orders](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/sales-order.htm)\r\n<br><br>\r\n___\r\n\r\n Requires any of the following modules: \r\n* sales_standard\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing"
    },
    {
      "name": "QuoteDrafts",
      "description": "A preliminary version of a quote that can be edited and finalized before becoming an official quote.  \r\nOverview of Quotes Functionality: [Quotes](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/sales-quotes.htm)\r\n<br><br>\r\n___\r\n\r\n Requires any of the following modules: \r\n* sales_standard\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing"
    },
    {
      "name": "Quotes",
      "description": "A proposed price for products or services before an order.  \r\nOverview of Quotes Functionality: [Quotes](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/sales-quotes.htm)\r\n<br><br>\r\n___\r\n\r\n Requires any of the following modules: \r\n* sales_standard\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing"
    },
    {
      "name": "SalesPriceLists",
      "description": "A list of sales prices for products or services.  \r\nOverview of Sales Price List Functionality: [Sales Price List](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/settings-sales-pricelists.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro"
    },
    {
      "name": "TermsOfPayment",
      "description": "Agreed conditions for when and how a customer or supplier will pay.\r\n\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Solo\r\n* Bookkeeping"
    },
    {
      "name": "WebshopOrders",
      "description": "Customer orders placed through Spiris webshop.  \r\nOverview of Webshop Order Functionality: [Webshop](https://support.spiris.se/webshop/sv-se/content/online-help/minitoc-startpage-online-help.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing"
    },
    {
      "name": "BankAccounts",
      "description": "Bank accounts associated with your company for handling financial transactions.  \r\nOverview of Bank Account Functionality: [Bank Accounts](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/settings-cashbank-accounts-add.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Invoicing\r\n* Solo\r\n* Payroll"
    },
    {
      "name": "ForeignPaymentCodes",
      "description": "Foreign payment codes used for international transactions with suppliers outside the company's home country.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Solo"
    },
    {
      "name": "SupplierInvoiceDrafts",
      "description": "Draft invoices from suppliers before they are finalized and posted to the accounting system.  \nOverview of Supplier Invoice Draft Functionality: [Supplier Invoices](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/purchasing-purchase-invoice.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Solo\r\n* Bookkeeping\r\n* InvoicingCollaboration"
    },
    {
      "name": "SupplierInvoices",
      "description": "Invoices received from suppliers for goods or services provided to your business.  \r\nOverview of Supplier Invoice Functionality: [Supplier Invoices](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/purchasing-purchase-invoice.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Solo"
    },
    {
      "name": "SupplierInvoiceValuationHistories",
      "description": "Historical valuation records for supplier invoices.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Solo\r\n* Bookkeeping"
    },
    {
      "name": "SupplierLedgerItems",
      "description": "Records of transactions with a supplier, such as an invoice, credit note, or payment.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Solo"
    },
    {
      "name": "Suppliers",
      "description": "Organizations or individuals that provide goods or services to your business.  \r\nOverview of Supplier Functionality: [Suppliers](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/purchasing-suppliers.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Solo\r\n* Bookkeeping\r\n* InvoicingCollaboration"
    },
    {
      "name": "Approval",
      "description": "Handles approval operations for various document types including supplier invoice drafts and VAT reports.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Solo\r\n* InvoicingCollaboration"
    },
    {
      "name": "AppStoreActivationStatus",
      "description": "App store activation status management for third-party integrations.\n\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Bookkeeping\r\n* Solo"
    },
    {
      "name": "AttachmentLinks",
      "description": "Links that connect attachments, such as documents or images, to related records like invoices or vouchers.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Bookkeeping\r\n* Solo"
    },
    {
      "name": "Attachments",
      "description": "Files or documents that can be linked to records such as supplier invoices and vouchers.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Bookkeeping\r\n* Solo"
    },
    {
      "name": "AutoInvoice",
      "description": "Internal endpoints for retrieving auto-invoice inbound documents. These endpoints are only available in test environments and are used for internal integrations with Visma Administration.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Bookkeeping\r\n* Solo"
    },
    {
      "name": "Bank",
      "description": "Available banks in the system for banking operations and integrations.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Bookkeeping\r\n* Solo"
    },
    {
      "name": "Charts",
      "description": "Charts and analytics endpoints for visualizing sales and purchase invoice data.\n\nProvides aggregated chart data and detailed invoice information for reporting and analytical purposes. These endpoints support financial dashboards and data visualization components in the application.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Solo\r\n* Invoicing"
    },
    {
      "name": "CompanySettings",
      "description": "Configuration options of your company.  \nOverview of Company Settings Functionality: [Company settings](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/settings-company.htm)\r\n<br><br>\r\n___"
    },
    {
      "name": "Company",
      "description": "Information about your company including setup state, product variant, and enabled modules.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Solo\r\n* Bookkeeping\r\n* Payroll\r\n* InvoicingCollaboration"
    },
    {
      "name": "Countries",
      "description": "The country information used for customers, suppliers, and addresses in the company.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Solo\r\n* Bookkeeping\r\n* Payroll"
    },
    {
      "name": "Currencies",
      "description": "The monetary unit for business transactions.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Bookkeeping\r\n* InvoicingCollaboration\r\n* Solo"
    },
    {
      "name": "Documents",
      "description": "Documents represent uploaded or generated files, such as VAT reports PDF's and backgrounds.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Invoicing\r\n* Solo"
    },
    {
      "name": "IdentityLookup",
      "description": "Identity lookup functionality for searching external identity information based on name, identity number, and location parameters.\r\n<br><br>\r\n___"
    },
    {
      "name": "MessageThreads",
      "description": "Message threads allow users to communicate about specific documents or general topics within the system. Each thread can contain multiple messages and can be attached to various document types.  \nOverview of Message Thread Functionality: [Messages](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/general-notes-messages-send.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Bookkeeping\r\n* Solo"
    },
    {
      "name": "Mobile",
      "description": "Mobile functionality for Bookkeeping & Invoicing/eAccounting application.\r\n<br><br>\r\n___"
    },
    {
      "name": "Notes",
      "description": "Comments or observations that can be attached to various documents and entities in the system.  \nOverview of Notes Functionality: [Notes](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/general-notes-messages.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Bookkeeping\r\n* Solo"
    },
    {
      "name": "PartnerResourceLinks",
      "description": "Links or references related to a partner, such as external resources or connected documents.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Bookkeeping\r\n* Solo"
    },
    {
      "name": "SalesDocumentAttachments",
      "description": "Files or documents that can be linked to records such as customer invoices, quotes, and orders.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Solo"
    },
    {
      "name": "Trials",
      "description": "Manage trial account creation and invitation process.\n\nThis endpoint is used by the marketing website to initiate the trial process when a potential customer submits a trial request form. It sends an invitation email to the provided email address.\n\r\n<br><br>\r\n___"
    },
    {
      "name": "Units",
      "description": "Measurement units for articles and invoicing.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Solo"
    },
    {
      "name": "Users",
      "description": "Users of Bookkeeping & Invoicing/eAccounting.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Invoicing\r\n* Standard\r\n* Bookkeeping\r\n* Solo\r\n* Payroll"
    },
    {
      "name": "VoTokenValidation",
      "description": "Validates the VO (Visma Online) token for authentication purposes.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Bookkeeping\r\n* Solo"
    },
    {
      "name": "WebHooks",
      "description": "Webhooks allow your application to receive real-time notifications when specific events occur in the system.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Bookkeeping\r\n* Solo"
    },
    {
      "name": "Zapier",
      "description": "Integration endpoint for Zapier to create supplier invoice drafts.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Solo"
    },
    {
      "name": "AccountBalance",
      "description": "The current financial balance of an account, showing the difference between its debits and credits.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Solo"
    },
    {
      "name": "Accounts",
      "description": "The bookkeeping accounts used to categorize financial transactions within your company.  \r\nOverview of Accounts Functionality: [Accounts](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/settings-chart-of-accounts.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Bookkeeping\r\n* Solo\r\n* Payroll"
    },
    {
      "name": "AccountTypes",
      "description": "Account types that can be used for categorizing accounts.  \r\nThis is applicable on all countries but most relevant for the Netherlands.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Bookkeeping\r\n* Solo"
    },
    {
      "name": "AllocationPeriods",
      "description": "The periods used to distribute or allocate revenues and expenses across specific dates or accounting periods. Allocation periods help ensure accurate financial reporting and matching of income and costs.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping"
    },
    {
      "name": "ArticleAccountCodings",
      "description": "Article account codings define the accounting rules and VAT settings for articles (products/services) in the system.\r\nOverview of Article Account Codings Functionality: [Article Account Codings](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/settings-sales-vat-ledger-settings.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Solo"
    },
    {
      "name": "BankTransactions",
      "description": "Bank transactions represent individual financial movements in and out of your company's bank accounts.  \nOverview of Bank Transaction Functionality: [Bank Transactions](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/cashbank-register-transactions.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping"
    },
    {
      "name": "CostCenterItems",
      "description": "Items that belong to cost centers, used for project tracking and cost allocation.  \nOverview of Cost Center Items Functionality: [Cost Centers](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/accounting-cost-centres.htm)\n\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Invoicing\r\n* Payroll"
    },
    {
      "name": "CostCenters",
      "description": "Cost centers provide a way to organize and track expenses across different departments, projects, or business units within the company.  \r\nOverview of Cost Center Functionality: [Cost Centers](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/accounting-cost-centres.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Invoicing\r\n* Payroll"
    },
    {
      "name": "FiscalYears",
      "description": "The accounting periods that represent a complete financial year for your company. Fiscal years define the start and end dates used for financial reporting, accounting periods, and tax calculations.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Invoicing\r\n* Bookkeeping\r\n* Solo\r\n* Payroll"
    },
    {
      "name": "InventoryItems",
      "description": "Fixed assets used to track long-term company resources such as equipment, vehicles, or machines. *(Note: Despite the endpoint name, this resource represents fixed assets rather than inventory items.)*  \r\nOverview of Fixed Assets Functionality: [Fixed Assets](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/accounting-fixed-assets.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping"
    },
    {
      "name": "PaymentVoucher",
      "description": "A record of a payment transaction used to register customer or supplier invoice payments.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Solo"
    },
    {
      "name": "Projects",
      "description": "Projects that track work and expenses for specific customers or initiatives.  \nOverview of Project Functionality: [Projects](https://support.spiris.se/bokforing-fakturering/en-se/content/online-help/accounting-projects.htm)\n\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Invoicing\r\n* Payroll"
    },
    {
      "name": "SieFileImportExport",
      "description": "A Swedish standard file format used to import and export accounting data between different financial systems.  \nThis implementation supports verifications and documents.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Invoicing\r\n* Solo\r\n* Payroll"
    },
    {
      "name": "VatCode",
      "description": "VAT codes define the tax rates and types applicable to different transactions.  \r\nOverview of VAT Codes Functionality: [Vat Codes](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/accounting-vat-codes.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Invoicing\r\n* Solo"
    },
    {
      "name": "VatReport",
      "description": "VAT reports for your company, including periodic VAT returns, approval status, and reporting details.  \r\nOverview of VAT Report Functionality: [VAT Reports](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/accounting-vat-understanding.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Solo\r\n* InvoicingCollaboration"
    },
    {
      "name": "VoucherDrafts",
      "description": "A preliminary version of a voucher that can be edited and reviewed before being finalized.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Solo\r\n* Bookkeeping"
    },
    {
      "name": "Vouchers",
      "description": "Transactions within your business organized by voucher entries with debit and credit rows.  \nOverview of Voucher Functionality: [Vouchers](https://support.spiris.se/bokforing-fakturering-plus/en-se/content/online-help/accounting-journal-entries.htm)\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Invoicing\r\n* Solo"
    },
    {
      "name": "VoucherWithOverunderPayment",
      "description": "Transactions within your business organized by voucher entries with debit and credit rows, for handling customer or supplier payment differences.   \r\nThis endpoint is not available for Swedish companies.\r\n<br><br>\r\n___\r\n\r\nAvailable in any of the following variants: \r\n* Pro\r\n* Standard\r\n* Bookkeeping\r\n* Invoicing\r\n* Solo"
    }
  ],
  "x-tagGroups": [
    {
      "name": "Sales",
      "tags": [
        "ArticleLabels",
        "Articles",
        "CustomerInvoiceDrafts",
        "CustomerInvoices",
        "CustomerInvoiceValuationHistories",
        "CustomerLabels",
        "CustomerLedgerItems",
        "Customers",
        "DeliveryMethods",
        "DeliveryTerms",
        "DiscountAgreements",
        "Orders",
        "QuoteDrafts",
        "Quotes",
        "SalesPriceLists",
        "TermsOfPayment",
        "WebshopOrders"
      ]
    },
    {
      "name": "Purchase",
      "tags": [
        "BankAccounts",
        "ForeignPaymentCodes",
        "SupplierInvoiceDrafts",
        "SupplierInvoices",
        "SupplierInvoiceValuationHistories",
        "SupplierLedgerItems",
        "Suppliers"
      ]
    },
    {
      "name": "Common",
      "tags": [
        "Approval",
        "AppStoreActivationStatus",
        "AttachmentLinks",
        "Attachments",
        "AutoInvoice",
        "Bank",
        "Charts",
        "CompanySettings",
        "Company",
        "Countries",
        "Currencies",
        "Documents",
        "IdentityLookup",
        "MessageThreads",
        "Mobile",
        "Notes",
        "PartnerResourceLinks",
        "SalesDocumentAttachments",
        "Trials",
        "Units",
        "Users",
        "VoTokenValidation",
        "WebHooks",
        "Zapier"
      ]
    },
    {
      "name": "Accounting",
      "tags": [
        "AccountBalance",
        "Accounts",
        "AccountTypes",
        "AllocationPeriods",
        "ArticleAccountCodings",
        "BankTransactions",
        "CostCenterItems",
        "CostCenters",
        "FiscalYears",
        "InventoryItems",
        "PaymentVoucher",
        "Projects",
        "SieFileImportExport",
        "VatCode",
        "VatReport",
        "VoucherDrafts",
        "Vouchers",
        "VoucherWithOverunderPayment"
      ]
    }
  ]
}