{
  "openapi": "3.1.1",
  "info": {
    "title": "Dinero API",
    "description": "Welcome to our endpoint documentation. Please try to carefully read our general documentation found on <a href=\"https://developer.dinero.dk/\">developer.dinero.dk</a> for information regarding the authorization proces, status and errorcodes, FAQ, Postman tutorial etc. <br><br>Once authorized, you simply add 'Authorization: Bearer <access-token>' to the header of your requests. On the page below, you'll find all our endpoints documented as well as possible, but if you have any questions regarding an endpoint, or an error in the description, please contact us on <a href=\"mailto:api@dinero.dk\">api@dinero.dk.</a> ",
    "version": "v1"
  },
  "paths": {
    "/v1/{organizationId}/accounting-years/possibleenddates": { },
    "/v1/{organizationId}/accountingyears": {
      "get": {
        "tags": [
          "AccountingYears"
        ],
        "summary": "List Accounting years",
        "description": "Get a list of an organizations accounting years. You can create a new accouting year, by simply booking a voucher in the next possible accounting year. For instance, if 2023 is the most recent accouting year, 2024 can be created by booking a voucher in this year.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "Accounting Year",
                    "$ref": "#/components/schemas/AccountingYearReadModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/accounts/entry": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "List entry accounts",
        "description": "Get the list of entry accounts for the organization. Entry accounts are simply all accounts, and can exist in any range.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma separated list of fields to include in the response.\n            Possible values are Name, AccountNumber, VatCode and Category. Notice that it's not case sensitive, the property name will be returned the way you request it.\n            If left empty it defaults to AccountNumber and Name.",
            "schema": {
              "type": "string",
              "default": "AccountNumber,Name,IsHidden"
            }
          },
          {
            "name": "categoryFilter",
            "in": "query",
            "description": "Filters the accounts, so only accounts with the selected category are returned.\nPossible categories: Turnover, Variable Expenses, Salary, Sales Expenses, Property Expenses, Administration Expenses,\nTravel Expenses, Depreciation, Interest Income, Interest Expenses, Property, Turnover Assets, Financial Assets, Receivables,\nLiquid Assets, Equity, Long Term Debt, Short Term Debt, Vat Due, Salary Due, Analysis, Not Set, Tax, Charge, IntangibleProperty",
            "schema": {
              "type": "string",
              "default": ""
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "Represents a single account within the chart of accounts",
                    "$ref": "#/components/schemas/EntryAccountReadModel"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Create entry account",
        "description": "Create a new entry account. Entry accounts are used for most common cases except deposits, and can exist in any range.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for creating a new ledger item",
                "$ref": "#/components/schemas/AccountCreateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/accounts/purchase": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "List purchase accounts",
        "description": "Get the list of purchase accounts for the organization. Purchase accounts are simply entry accounts, in the range from 2000 to 9399, which constitutes the expense before tax range. These accounts can be used while booking purchase vouchers.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma separated list of fields to include in the response.\n            Possible values are Name, AccountNumber, VatCode, Category and CategoryName. Notice that it's not case sensitive, the property name will be returned the way you request it.\n            If left empty it defaults to include all fields.",
            "schema": {
              "type": "string",
              "default": "AccountNumber,Name,VatCode,Category,CategoryName,IsHidden"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "Represents a single account within the chart of accounts",
                    "$ref": "#/components/schemas/EntryAccountReadModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/accounts/deposit": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "List deposit accounts",
        "description": "Get the list of deposit accounts for the organization. For more elaborate information, look at the create deposit account endpoint.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma separated list of fields to include in the response.\n            Possible values are Name, AccountNumber, IsDefault, IsHidden.\n            Notice that it's not case sensitive, the property name will be returned the way you request it.\n            If left empty it defaults to AccountNumber and Name.",
            "schema": {
              "type": "string",
              "default": "AccountNumber,Name"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "Represents a single deposit account within the chart of accounts",
                    "$ref": "#/components/schemas/DepositAccountReadModel"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Create deposit account",
        "description": "Create a new deposit account. Deposit accounts have some special properties over entry accounts. They can hold information about the registration and account number for the bankaccount in question. They can also be used for other types of deposits, such as Paypal, Zettle, Stripe etc. They will usually exist in the 55000-55999 range.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DepositCreateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/attachments/bind/default/{documentGuid}/{documentType}": {
      "post": {
        "tags": [
          "Attachments"
        ],
        "summary": "Binds the default documents (given by the organization and the document type) from settings to the document\ngiven by the document Guid.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "ID of the organization performing the request",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentGuid",
            "in": "path",
            "description": "ID of the document that wants the default attachments bound to it",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "documentType",
            "in": "path",
            "description": "The document type (i.e. Invoice or TradeOffer)",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/attachments/{documentGuid}": {
      "get": {
        "tags": [
          "Attachments"
        ],
        "summary": "Get document attachments",
        "description": "Get a list of attachments bound to an invoice, trade-offer or credit-note.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the organization",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentGuid",
            "in": "path",
            "description": "Guid of invoice, trade-offer or credit-note",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocumentAttachmentReadModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/attachments/{documentGuid}/{fileGuid}/{fileName}": {
      "post": {
        "tags": [
          "Attachments"
        ],
        "summary": "Bind attachment with a document",
        "description": "You can bind a file with an invoice using this endpoint. The bound file will be sent with the invoice.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the organization",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentGuid",
            "in": "path",
            "description": "Guid of invoice, trade-offer or credit-note",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "fileGuid",
            "in": "path",
            "description": "Attachment Guid",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fileName",
            "in": "path",
            "description": "Attachment name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/attachments/{documentGuid}/{fileGuid}": {
      "delete": {
        "tags": [
          "Attachments"
        ],
        "summary": "Remove attachment from document",
        "description": "You can unbind an already bound file to an invoice. It will no longer be sent with the invoice.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The ID of the organization",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "documentGuid",
            "in": "path",
            "description": "Guid of invoice, trade-offer or credit-note",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "fileGuid",
            "in": "path",
            "description": "Attachment Guid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/{accountingYearKey}/businessgoals/yearly": { },
    "/v1/{organizationId}/{accountingYearKey}/businessgoals/yearly/performance": { },
    "/v1/{organizationId}/{accountingYearKey}/businessgoals/monthly": { },
    "/v1/{organizationId}/contacts/{contactGuid}/notes": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "List contact notes",
        "description": "Retrieve a list of notes for the contact ordered by NoteDate.",
        "parameters": [
          {
            "name": "contactGuid",
            "in": "path",
            "description": "Guid of the contact",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "description": "A comma separated list of fields to include in the response.\n            Possible values are Id, NoteDate, Text, AuthorName, AuthorEmail, CreatedAt, UpdatedAt and DeletedAt.\n            Notice that it's not case sensitive, the property name will be returned the way you request it.\n            If left empty it defaults to Id, NoteDate and Text.",
            "schema": {
              "type": "string",
              "default": "Id,NoteDate,Text"
            }
          },
          {
            "name": "deletedOnly",
            "in": "query",
            "description": "[Generic Filter Option] Only select deleted notes. If left empty, will default to false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The 0-based page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The maximum number of items to include in a page. Maximum 1000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Generic paged result returned by the Dinero public API list endpoints.",
                  "$ref": "#/components/schemas/ContactNoteReadModelDineroCollection"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Contacts"
        ],
        "summary": "Create contact note",
        "description": "Add a new note for the contact. A note is an internal tool for the user to add information about the customer for their own memory.",
        "parameters": [
          {
            "name": "contactGuid",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Content of the new note",
          "content": {
            "application/json": {
              "schema": {
                "description": "Note on a contact",
                "$ref": "#/components/schemas/ContactNoteCreateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response of succesfull contact creation",
                  "$ref": "#/components/schemas/ContactCreatedResult"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/contacts/{contactGuid}/notes/{noteGuid}": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Get contact note",
        "description": "Retrieve a specific note for a contact.",
        "parameters": [
          {
            "name": "contactGuid",
            "in": "path",
            "description": "Guid of the contact",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "noteGuid",
            "in": "path",
            "description": "Guid of the note",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Note on a contact",
                  "$ref": "#/components/schemas/ContactNoteReadModel"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Contacts"
        ],
        "summary": "Update contact note",
        "description": "Update an existing note. The new note will replace the old note, so incase you want to append something you must first fetch the original note and append the new message to it.",
        "parameters": [
          {
            "name": "contactGuid",
            "in": "path",
            "description": "Guid of the contact",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "noteGuid",
            "in": "path",
            "description": "Guid of the note",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Content of the note to update",
          "content": {
            "application/json": {
              "schema": {
                "description": "Note on a contact",
                "$ref": "#/components/schemas/ContactNoteUpdateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Contacts"
        ],
        "summary": "Delete contact note",
        "description": "Delete a note from the contact.",
        "parameters": [
          {
            "name": "contactGuid",
            "in": "path",
            "description": "Guid of the contact",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "noteGuid",
            "in": "path",
            "description": "Guid of the note",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/contacts": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "List contacts",
        "description": "Retrieve a list of contacts for the organization. Take note of your different options here. You can filter what fields you want and you can query for specific contacts. When you want to create a new contact, it's a good idea to query to see if something similar already exists and use that instead.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma separated list of fields to include in the response.\n            Possible values are Name, ContactGuid, ExternalReference, IsPerson, Street, ZipCode, City, CountryKey, Phone, Email, Webpage, AttPerson,\n            VatNumber, EanNumber, PaymentConditionType, PaymentConditionNumberOfDays, IsMember, MemberNumber, CompanyStatus, VatRegionKey, CreatedAt, UpdatedAt, DeletedAt, PreferredInvoiceLanguageKey and PreferredInvoiceCurrencyKey.\n            Notice that it's not case sensitive, the property name will be returned the way you request it. If left empty it defaults to name and contactGuid (notice small start letter).",
            "schema": {
              "type": "string",
              "default": "name,contactGuid"
            }
          },
          {
            "name": "queryFilter",
            "in": "query",
            "description": "Filter contacts by one or more field conditions. If left empty no filtering is applied.\n            Each condition has the format `<Field> <operator> '<value>'`, for example `Name contains 'AMINO'`.\n            Supported operators are `eq` (equals) and `contains` (substring). The value must be wrapped in single quotes and is matched case-insensitively.\n            Combine several conditions with a semicolon (`;`); they are AND-joined, for example `Name contains 'Acme';Email contains 'dk'`.\n            Filterable fields: ExternalReference, Name, Email, VatNumber, EanNumber, IsPerson, Phone.\n            A value that does not follow this structure (for example a bare search term such as `AMINO`) is rejected with HTTP 400.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "changesSince",
            "in": "query",
            "description": "[Generic Filter Option] Only return contacts that was created, deleted or updated at or after given time.\n            If left empty, this filter will not be applied, and contacts will be returned regardless of change history.\n            The time must be UTC and in the format 'YYYY-MM-DDTHH:mm:ssZ' example: '2015-08-18T06:36:22Z'.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deletedOnly",
            "in": "query",
            "description": "[Generic Filter Option] Only select deleted contacts. If left empty, will default to false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The 0-based page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The maximum number of items to include in a page. Maximum 1000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Generic paged result returned by the Dinero public API list endpoints.",
                  "$ref": "#/components/schemas/ContactReadModelDineroCollection"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Contacts"
        ],
        "summary": "Create contact",
        "description": "Add a new contact to the organization. It's a good idea to query for a similar contact before creating a new one, by using the List contacts endpoint above. In the case of a company you can query to see if a similar company already exists as a contact, by using the queryFilter for VATnumber. For a privat contact you could check for instance name and/or email.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Content of the new contact",
          "content": {
            "application/json": {
              "schema": {
                "description": "Contact information for either a contact person or a company",
                "$ref": "#/components/schemas/ContactCreateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response of succesfull contact creation",
                  "$ref": "#/components/schemas/ContactCreatedResult"
                }
              }
            }
          }
        }
      }
    },
    "/v2/{organizationId}/contacts": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "List contacts v2",
        "description": "Retrieve a list of contacts for the organization. Take note of your different options here. You can filter what fields you want and you can query for specific contacts. When you want to create a new contact, it's a good idea to query to see if something similar already exists and use that instead.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma separated list of fields to include in the response.\n            Possible values are Name, ContactGuid, ExternalReference, IsPerson, Street, ZipCode, City, CountryKey, Phone, Email, Webpage, AttPerson,\n            VatNumber, EanNumber, PaymentConditionType, PaymentConditionNumberOfDays, IsMember, MemberNumber, CompanyStatus, VatRegionKey, CreatedAt, UpdatedAt, DeletedAt, PreferredInvoiceLanguageKey and PreferredInvoiceCurrencyKey.\n            Notice that it's not case sensitive, the property name will be returned the way you request it. If left empty it defaults to name and contactGuid (notice small start letter).",
            "schema": {
              "type": "string",
              "default": "name,contactGuid"
            }
          },
          {
            "name": "queryFilter",
            "in": "query",
            "description": "Filter contacts by one or more field conditions. If left empty no filtering is applied.\n            Each condition has the format `<Field> <operator> '<value>'`, for example `Name contains 'AMINO'`.\n            Supported operators are `eq` (equals) and `contains` (substring). The value must be wrapped in single quotes and is matched case-insensitively.\n            Combine several conditions with a semicolon (`;`); they are AND-joined, for example `Name contains 'Acme';Email contains 'dk'`.\n            Filterable fields: ExternalReference, Name, Email, VatNumber, EanNumber, IsPerson, Phone.\n            A value that does not follow this structure (for example a bare search term such as `AMINO`) is rejected with HTTP 400.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "changesSince",
            "in": "query",
            "description": "[Generic Filter Option] Only return contacts that was created, deleted or updated at or after given time.\n            If left empty, this filter will not be applied, and contacts will be returned regardless of change history.\n            The time must be UTC and in the format 'YYYY-MM-DDTHH:mm:ssZ' example: '2015-08-18T06:36:22Z'.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deletedOnly",
            "in": "query",
            "description": "[Generic Filter Option] Only select deleted contacts. If left empty, will fetch deleted and not deleted contacts",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The 0-based page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The maximum number of items to include in a page. Maximum 1000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Generic paged result returned by the Dinero public API list endpoints.",
                  "$ref": "#/components/schemas/ContactReadModelDineroCollection"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/contacts/{guid}": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Get Contact",
        "description": "Retrieves contact information for the specific contact with the given id. Here you will get more information than from the list. Useful in certain situations when the list doesn't provide enough information.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the contact information",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Contact information for either a contact person or a company",
                  "$ref": "#/components/schemas/ContactReadModel"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Contacts"
        ],
        "summary": "Update contact",
        "description": "Update an existing contact. Do note that PUT requests will replace the original content as per REST standard, so include all information. If you want to add to existing data then first get the specific contact and the append and PUT the data all together.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the contact information",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Content of the contact to update",
          "content": {
            "application/json": {
              "schema": {
                "description": "Contact information for either a contact person or a company",
                "$ref": "#/components/schemas/ContactUpdateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "deprecated": true
      },
      "delete": {
        "tags": [
          "Contacts"
        ],
        "summary": "Delete contact",
        "description": "Delete a contact from the given organization.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the contact information",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v2/{organizationId}/contacts/{guid}": {
      "put": {
        "tags": [
          "Contacts"
        ],
        "summary": "Update contact",
        "description": "Update an existing contact. Do note that PUT requests will replace the original content as per REST standard, so include all information. If you want to add to existing data then first get the specific contact and the append and PUT the data all together.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the contact information",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Content of the contact to update",
          "content": {
            "application/json": {
              "schema": {
                "description": "Contact information for either a contact person or a company",
                "$ref": "#/components/schemas/ContactUpdateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/contacts/{guid}/restore": {
      "post": {
        "tags": [
          "Contacts"
        ],
        "summary": "Restore deleted contact",
        "description": "Restore a deleted contact from the given organization. You can see if a contact is deleted by using the Get Contact endpoint. A deleted contact will have a deletedAt value.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the contact information",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/state-of-account/{guid}": {
      "get": {
        "tags": [
          "ContactStateOfAccount"
        ],
        "summary": "Get contacts state of account",
        "description": "Returns the income, expenses and related entries for a contact in the given period (or all time if no period is defined).",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the contact",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "Include entries after this date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "Include entries before this date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "hideClosed",
            "in": "query",
            "description": "Whether to exclude closed entries",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "State of account for a contact",
                  "$ref": "#/components/schemas/ContactStateOfAccount"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/state-of-account/{guid}/pdf": {
      "get": {
        "tags": [
          "ContactStateOfAccount"
        ],
        "summary": "Get contacts state of account as PDF",
        "description": "The same as the above endpoint, but as a PDF file.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the contact",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "Include entries after this date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "Include entries before this date",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "hideClosed",
            "in": "query",
            "description": "Whether to exclude closed entries",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/state-of-account/{guid}/email": {
      "post": {
        "tags": [
          "ContactStateOfAccount"
        ],
        "summary": "Send the contacts state of account as an email",
        "description": "You can send a contacts state of account to the contact in question by using this endpoint. It will default to the standard email of the contact if no other is specified.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the contact",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The mail out data",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactStateOfAccountMailoutModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/countries": {
      "get": {
        "tags": [
          "Countries"
        ],
        "summary": "List countries",
        "description": "Get a list of countries. Mostly useful for making sure you have a valid country for a contact.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CountryModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/create-organization": { },
    "/v1/{organizationId}/electronic-invoice/validate-recipient": { },
    "/v1/{organizationId}/entries": {
      "get": {
        "tags": [
          "Entry"
        ],
        "summary": "List entries",
        "description": "Get a list of all entries for a given period. This can be a very lengthy and demanding process on our end. Therefore this is only used initially. After that you must use the \"List changes\" endpoint below, to only get changes that have been made since the initial synchronization. Cannot cross accounting years.",
        "parameters": [
          {
            "name": "fromDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "toDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "includePrimo",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "Accounting Entry",
                    "$ref": "#/components/schemas/EntryReadModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/entries/changes": {
      "get": {
        "tags": [
          "Entry"
        ],
        "summary": "List changes",
        "description": "Get a list of all Entries added in a given time range, the time range cannot be longer than 31 days.\n            \nPrimo entries will be returned if they have been updated in the time range. The value of the primo entry will be the current total for that account and accounting year, not the changes made in the time range.\nThe guid of a primo entry will be the same for an accounting year, but the value might be updated.",
        "parameters": [
          {
            "name": "changesFrom",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "changesTo",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "includePrimo",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "Accounting Entry",
                    "$ref": "#/components/schemas/EntryReadModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/files": {
      "post": {
        "tags": [
          "Files"
        ],
        "summary": "Upload file",
        "description": "Accepts a posted image/pdf. If the file is accepted status code 200 will be returned with info\non the file's id and the id of the organization owning file. It might take a second for the\nfile to be accessible.\nIf the file size is above 6 MB, then a status code 400 will be returned.\nA file posted to this endpoint will also be added to the file archive and\ncan be used for all bookkeeping vouchers and the ledger.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/formdata": {
              "encoding": {
                "file": { }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Read model for a file posted to the server.",
                  "$ref": "#/components/schemas/FileSavedReadModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Files"
        ],
        "summary": "List files",
        "description": "Lists all files in file archive, either so it can be used to bind with a document or to download the file.",
        "parameters": [
          {
            "name": "extensions",
            "in": "query",
            "description": "(optional) limits the search to the given file extension(s)\n                Several extensions can be specified by separating values with comma. Ex. ?extensions=pdf,png,csv",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "uploadedBefore",
            "in": "query",
            "description": "(optional) limits the search to the given after. Format: yyyy/MM/dd",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "uploadedAfter",
            "in": "query",
            "description": "(optional) limits the search to the given before date. Format: yyyy/MM/dd",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fileStatus",
            "in": "query",
            "description": "(optional) limits the search to the specified file status, available values are: All, Used or Unused",
            "schema": {
              "default": "All",
              "$ref": "#/components/schemas/FileStatus"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "(optional) specifies page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "(optional) specifies page size",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1000
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "A file in the organization's file archive, with the vouchers it is linked to.",
                    "$ref": "#/components/schemas/FilteredFileReadModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/files/attachment": {
      "post": {
        "tags": [
          "Files"
        ],
        "summary": "Upload a file as an attachment.",
        "description": "Accepts a posted image/pdf. If the file is accepted, status code 200 will be returned with info\non the file's id and the id of the organization owning file. It might take a second for the\nfile to be accessible.\nIf the file size is above 6 MB, then a status code 400 will be returned.\nA file posted to this endpoint will NOT be added to the file archive and can only be used with\nthe attachment endpoints to be attached to an invoice intended for a customer.\nUseful for invoice specifications or terms of sales for instance.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/formdata": {
              "encoding": {
                "file": { }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Read model for a file posted to the server.",
                  "$ref": "#/components/schemas/FileSavedReadModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/files/{fileGuid}": {
      "get": {
        "tags": [
          "Files"
        ],
        "summary": "Download the specified file",
        "description": "Returns the file with a certain file guid.",
        "parameters": [
          {
            "name": "fileGuid",
            "in": "path",
            "description": "Specifies the file to be downloaded",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/integrations": { },
    "/v1/{organizationId}/integrations/mobilepay-invoice/start": { },
    "/v2/{organizationId}/integrations/mobilepay-invoice/start": { },
    "/v1/{organizationId}/integrations/mobilepay-invoice/accounting-access": { },
    "/v1/{organizationId}/integrations/mobilepay-invoice/activate": { },
    "/v1/{organizationId}/integrations/mobilepay-invoice/deactivate": { },
    "/v1/{organizationId}/integrations/pensopay/start": { },
    "/v1/{organizationId}/integrations/pensopay/reactivate": { },
    "/v1/{organizationId}/integrations/pensopay/deactivate": { },
    "/v1/{organizationId}/integrations/pensopay": { },
    "/v1/{organizationId}/integrations/pensopay/mobilepay": { },
    "/v1/{organizationId}/invoices": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Create invoice",
        "description": "Create a new draft invoice. This invoice can be found in the \"Salg\" section of Dinero. A draft invoice will not count in the accounts untill booked.\nThink about using the book and send endpoints after the draft has been created to further automate the booking process for the user.\nAlso note that the date on the invoice, should always be the date the invoice is sent to the customer.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Model of the invoice to save.",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for creating a sales voucher",
                "$ref": "#/components/schemas/InvoiceCreateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response returned by the public API when an object has been successfully created.",
                  "$ref": "#/components/schemas/CreatedResponseModel"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Invoices"
        ],
        "summary": "List invoices",
        "description": "Retrieve a list of invoices for the organization.\nThis can return quite a long list of invoices, consider using the changesSince filter to only return invoices that have been changed since the last time you fetched the list.\nAlso note that deleted invoices will not be returned on this list per default.",
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date in format 'YYYY-MM-DD' example '2015-01-01'. If you define a start date, you also need to define an end date. Note that drafts are not affected by this filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date in format 'YYYY-MM-DD' example '2015-01-01'. If you define an end date, you also need to define a start date.  Note that drafts are not affected by this filter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "description": "A comma separated list of fields to include in the response.\n            Possible values are:\n            Number, Guid, ExternalReference, ContactName, ContactGuid, Date, PaymentDate, Description, Currency, Status, MailOutStatus, LatestMailOutType, TotalExclVatInDkk, TotalInclVatInDkk\n            TotalExclVat, TotalInclVat, CreatedAt, UpdatedAt and DeletedAt.\n            If null, defaults to Guid,ContactName,Date,Description.\n            Notice that it's not case sensitive, the property name will be returned the way you request it.",
            "schema": {
              "type": "string",
              "default": "Guid,ContactName,Date,Description"
            }
          },
          {
            "name": "freeTextSearch",
            "in": "query",
            "description": "A free text search performed on Number, ContactName, Description and TotalInclTax",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statusFilter",
            "in": "query",
            "description": "Filter on Status. You can choose Draft, Booked, Paid, OverPaid or Overdue. You can add multible filters example: 'Paid,OverPaid,Overdue'. If left empty no filter is applied.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "queryFilter",
            "in": "query",
            "description": "Filtering can be applied to following fields:\n            ExternalReference, ContactGuid, Description. See API documentation for filtering format. If left empty no filtering is applied.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "changesSince",
            "in": "query",
            "description": "[Generic Filter Option] Only return invoices that was created, deleted or updated at or after given time.\n            If left empty, this filter will not be applied, and invoices will be returned regardless of change history.\n            The time must be UTC and in the format 'YYYY-MM-DDTHH:mm:ssZ' example: '2015-08-18T06:36:22Z'.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deletedOnly",
            "in": "query",
            "description": "[Generic Filter Option] Only select deleted invoices. If left empty, will defaults to false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The 0-based page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The maximum number of items to include in a page. Maximum 1000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "A comma separated list of fields to sort on. Possible values are: VoucherNumber, VoucherDate, Status and Contact.",
            "schema": {
              "type": "string",
              "default": "VoucherNumber,VoucherDate"
            }
          },
          {
            "name": "sortOrder",
            "in": "query",
            "description": "Sort order. Valid values are ascending and descending. Field Status is always sorted in the order Draft, Overdue, Booked, OverPaid and Paid.",
            "schema": {
              "type": "string",
              "default": "descending"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Generic paged result returned by the Dinero public API list endpoints.",
                  "$ref": "#/components/schemas/SalesVoucherReadListModelDineroCollection"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/fetch": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Get invoice totals",
        "description": "Fetch a invoice to get total, line sums and payment date calculations.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Model of the invoice.",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for fetching a sales voucher.",
                "$ref": "#/components/schemas/InvoiceCreateFetchModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Represent a invoice",
                  "$ref": "#/components/schemas/InvoiceFetchReadModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/{guid}": {
      "get": {
        "tags": [
          "Invoices"
        ],
        "summary": "Get invoice as json or pdf",
        "description": "Get invoice as json or pdf.\nDefine the Accept header of your request to either 'application/json' or 'application/octet-stream'.\nPDF's can only be generated from booked invoices.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Represents a sales invoice (faktura).",
                  "$ref": "#/components/schemas/InvoiceReadModel"
                }
              },
              "application/octet-stream": { }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Invoices"
        ],
        "summary": "Delete invoice",
        "description": "Delete invoice. The invoice should not be deleted if booked. In that case a creditnote would be the correct way to cancel the invoice.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the invoice",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "optional timestamp to verify version before deletion",
          "content": {
            "application/json": {
              "schema": {
                "description": "Wraps a version timestamp used for optimistic concurrency on write operations.",
                "$ref": "#/components/schemas/TimestampObject"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/{guid}/book": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Book invoice",
        "description": "Book invoice. Booking means actually posting the invoice to the accounts. A booked invoice can also be send via email, sms or as an e-invoice.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the invoice to book",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Data used for the booking transaction",
          "content": {
            "application/json": {
              "schema": {
                "description": "Timestamp container",
                "$ref": "#/components/schemas/BookModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Represents a sales invoice (faktura).",
                  "$ref": "#/components/schemas/InvoiceReadModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/{guid}/email": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Send invoice email",
        "description": "Send an email with link to a public version of the invoice where it can be printed or downloaded as a pdf. The invoice must be booked.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the invoice to send",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Model of the email to send",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for sending an email for an invoice.",
                "$ref": "#/components/schemas/ApiMailoutModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Information about the send email.",
                  "$ref": "#/components/schemas/EmailSentModel"
                }
              }
            }
          }
        }
      }
    },
    "/v2/{organizationId}/invoices/{guid}/email/template": {
      "get": {
        "tags": [
          "Invoices"
        ],
        "summary": "Get invoice email template",
        "description": "Gets the email template for an invoice. This can be used to preview what will be sent out on the email. These standards can be overwritten during the sending phase.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the invoice to send",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "V2 Model for the template of the email for an invoice / creditnote / tradeoffer",
                  "$ref": "#/components/schemas/MailoutTemplateReadModelV2"
                }
              }
            }
          }
        }
      }
    },
    "/v2/{organizationId}/invoices/{guid}/email": { },
    "/v1/{organizationId}/invoices/{guid}/email/pre-reminder/template": {
      "get": {
        "tags": [
          "Invoices"
        ],
        "summary": "Get pre-reminder template",
        "description": "Gets the email template for a pre-reminder. This can be used to preview what will be sent out on the email. These standards can be overwritten during the sending phase.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the invoice to send",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model for the template of the email for an invoice / creditnote / tradeoffer",
                  "$ref": "#/components/schemas/MailoutTemplateReadModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/{guid}/email/pre-reminder": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Send invoice prereminder",
        "description": "Send a pre reminder email with link to a public version of the invoice where it can be printed or downloaded as a pdf.\nThe invoice needs to be overdue to send the reminder.\nA pre-reminder is a mail reminding the customer, that the invoice is overdue. This will not cause a reminder to be created in Dinero, this is only a mailout.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the invoice to send",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Model of the email to send",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for sending an email for an invoice.",
                "$ref": "#/components/schemas/ApiMailoutModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v2/{organizationId}/invoices/{guid}/email/pre-reminder/template": { },
    "/v2/{organizationId}/invoices/{guid}/email/pre-reminder": { },
    "/v3/{organizationId}/invoices/{guid}/e-invoice": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Send electronic invoice",
        "description": "Send electronic invoice to following destinations: P, SE, EAN/GLN, Danish vat (CVR) -numbers",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the invoice to send",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "parameters for electronic invoice",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model containing parameters needed to send electronic invoice and/or creditnote",
                "$ref": "#/components/schemas/EInvoiceSendModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1.2/{organizationId}/invoices/{guid}": {
      "put": {
        "tags": [
          "Invoices"
        ],
        "summary": "Update invoice",
        "description": "Update an existing invoice. The invoice cannot be updated if booked. Note that the put request per rest standard will update the entire invoice and not only the fields you send.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the invoice information",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Content of the invoice to update",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for updating a sales voucher",
                "$ref": "#/components/schemas/InvoiceUpdateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response of a succesfull update",
                  "$ref": "#/components/schemas/UpdatedResponseModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/{guid}/payments": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Add payment to invoice",
        "description": "Create a payment for an invoice. Payments can only be added to a booked invoice.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the invoice",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The payment details",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for creating a payment",
                "$ref": "#/components/schemas/PaymentCreateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response of succesfull creation",
                  "$ref": "#/components/schemas/CreatedPaymentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/{guid}/payments/{paymentGuid}": {
      "delete": {
        "tags": [
          "Invoices"
        ],
        "summary": "Delete payment from invoice",
        "description": "Delete a payment from an invoice. Only booked invoices can have payments.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the invoice",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "paymentGuid",
            "in": "path",
            "description": "The payment guid",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Version of the invoice",
          "content": {
            "application/json": {
              "schema": {
                "description": "Timestamp container",
                "$ref": "#/components/schemas/RequiredTimestampObject"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response of succesfull deletion",
                  "$ref": "#/components/schemas/DeletedPaymentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v2/{organizationId}/invoices/{guid}/payments": {
      "get": {
        "tags": [
          "Invoices"
        ],
        "summary": "Get payments for invoice",
        "description": "Get the payments for an invoice",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the invoice",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model for invoice payments",
                  "$ref": "#/components/schemas/InvoicePaymentsModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/{guid}/generate-creditnote": {
      "post": {
        "tags": [
          "Invoices"
        ],
        "summary": "Create credit note from invoice",
        "description": "Generate and saves a creditnote draft of a given booked invoice. If you need to create a standalone creditnote or a partial creditnote, please look at the creditnote category further down the documentation. Remeber to also book and send the creditnote to fully automate the booking process.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the invoice",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Optional timestamp. If given validate that you got the latest version.\n            This can be used to ensure that the invoice has not been changed since you last fetched it.\n            Defaults to latest version of the invoice.",
          "content": {
            "application/json": {
              "schema": {
                "description": "Wraps a version timestamp used for optimistic concurrency on write operations.",
                "$ref": "#/components/schemas/TimestampObject"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response returned by the public API when an object has been successfully created.",
                  "$ref": "#/components/schemas/CreatedResponseModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/templates": {
      "get": {
        "tags": [
          "Invoices"
        ],
        "summary": "List invoice templates",
        "description": "Get possible templates for invoices, which change the design and look of the invoice. Only possible to customize in Dineros UI.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "Model for invoice templates",
                    "$ref": "#/components/schemas/InvoiceTemplateModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/{guid}/mailouts": {
      "get": {
        "tags": [
          "Invoices"
        ],
        "summary": "List mailouts",
        "description": "List the mailouts for a specific invoice.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "changesSince",
            "in": "query",
            "description": "[Generic Filter Option] Only return mailouts that was created or updated after a given time.\n            If left empty, this filter will not be applied, and mailouts will be returned regardless of change history.\n            The time must be UTC and in the format 'YYYY-MM-DDTHH:mm:ssZ' example: '2015-08-18T06:36:22Z'.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeSms",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VoucherMailoutReadModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/{contactGuid}/validate-trustpilot": { },
    "/v1/{organizationId}/ledgeritems/ledgers": {
      "post": {
        "tags": [
          "LedgerItems"
        ],
        "summary": "Get ledger items",
        "description": "Get ledger items already in the ledger and still unbooked.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "description": "Model for identifying a ledger item",
                  "$ref": "#/components/schemas/LedgerItemModel"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "Request item for adding lines to the daybook (kassekladde) via the public API (v1.2).\nA ledger item groups one or more balanced lines under a single voucher number.",
                    "$ref": "#/components/schemas/LedgerItemModelV2"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/{organizationId}/ledgeritems": {
      "post": {
        "tags": [
          "LedgerItems"
        ],
        "summary": "Add ledger item",
        "description": "Add a new array of ledger items to the ledger. Do note that this an array of items. The maximum number of ledger items in the same ledger is 1000. Please be careful around this endpoint as you are responsible for the bookkeeping, and must follow all applicable concepts of debet, credit etc. If you are in doubt, please reach out or contact an accountant for assistance.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "description": "Request item for adding lines to the daybook (kassekladde) via the public API (v1.2).\nA ledger item groups one or more balanced lines under a single voucher number.",
                  "$ref": "#/components/schemas/LedgerItemModelV2"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model returned by the public API for a created/updated ledger item (kassekladde line group).",
                  "$ref": "#/components/schemas/LedgerItemReadModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/ledgeritems": {
      "put": {
        "tags": [
          "LedgerItems"
        ],
        "summary": "Update ledger items",
        "description": "Update a ledger item to the ledger.\nIt is required to send version and id for each ledger item.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "description": "Request item for adding lines to the daybook (kassekladde) via the public API (v1.2).\nA ledger item groups one or more balanced lines under a single voucher number.",
                  "$ref": "#/components/schemas/LedgerItemModelV2"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "Model returned by the public API for a created/updated ledger item (kassekladde line group).",
                    "$ref": "#/components/schemas/LedgerItemReadModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/ledgeritems/book": {
      "post": {
        "tags": [
          "LedgerItems"
        ],
        "summary": "Send ledger items to booking",
        "description": "Starts the asynchronous booking process. You will get a status 200 response, if the process has succesfully initiated.\nThis does not mean the booking was succesful, so please follow up with a request to get ledger item status. The booking can take several seconds or indeed minutes incase of a long queue on our ledger service.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "A list of ledger item ids to book",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "description": "Model for identifying a ledger item",
                  "$ref": "#/components/schemas/LedgerItemModel"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/ledgeritems/status": {
      "post": {
        "tags": [
          "LedgerItems"
        ],
        "summary": "Get ledger item status",
        "description": "Get status for ledger items sent to booking. It is important to use this endpoint to make sure ledger items are actually booked.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "A list of ledger item status models",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "description": "Model for identifying a ledger item",
                  "$ref": "#/components/schemas/LedgerItemStatusModel"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "Model for the ledger item status",
                    "$ref": "#/components/schemas/LedgerItemStatusReadModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/ledgeritems/delete": {
      "delete": {
        "tags": [
          "LedgerItems"
        ],
        "summary": "Delete multiple ledger items",
        "description": "Deletes a list of ledger items",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "A list of ledger items",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "description": "Model for identifying a ledger item",
                  "$ref": "#/components/schemas/LedgerItemModel"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/organizations": {
      "get": {
        "tags": [
          "ListOrganizations"
        ],
        "summary": "List organization",
        "description": "Gets a list of the users' organizations. It is also used to validate if the users has a Pro subscription or not, which is a prerequsite to interact with the API. Incase a user does not have Pro every other request will return a 403 error.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma separated list of fields to include in the response. Possible values are Name, Id, Type, IsPro, IsPayingPro, IsVatFree, Email, Phone, Street, City, ZipCode, AttPerson, IsTaxFreeUnion and VatNumber. Notice that it's not case sensitive, the property name will be returned the way you request it. If left empty it defaults to name.",
            "schema": {
              "type": "string",
              "default": "id,name,isPro"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "Organization information",
                    "$ref": "#/components/schemas/OrganizationReadModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/organizations": {
      "get": {
        "tags": [
          "ListOrganizations"
        ],
        "summary": "List organization",
        "description": "/// Gets a list of the user's organizations. It is also used to validate if the user has a Pro subscription or not, which is a prerequisite to interact with the API. In case a user does not have Pro, every other request will return a 403 error.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "Organization information",
                    "$ref": "#/components/schemas/OrganizationReadModelV2"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/vouchers/manuel": {
      "post": {
        "tags": [
          "ManuelVouchers"
        ],
        "summary": "Create manual voucher",
        "description": "Creates a manual voucher draft. In our application we call this \"finansbilag\" and will be found under the \"Bilagsoversigt\".\nDo note this will be created as a draft and have no impact on the books untill booked. Most user will most likely expect the integration to handle the booking.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The values of the voucher",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model used to create a new manuel voucher",
                "$ref": "#/components/schemas/ManuelVoucherCreateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The model that is returned when getting a manuel voucher",
                  "$ref": "#/components/schemas/ManuelVoucherReadModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/vouchers/manuel/{guid}": {
      "get": {
        "tags": [
          "ManuelVouchers"
        ],
        "summary": "Get manual voucher",
        "description": "Get the details of a specific manuel voucher that you know the guid of.\nIt is not possible to get a list. In case you wish to work with accounting data,\nuse the entries endpoints instead.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Identifier of a specific manuel voucher",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The model that is returned when getting a manuel voucher",
                  "$ref": "#/components/schemas/ManuelVoucherReadModel"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ManuelVouchers"
        ],
        "summary": "Update manual voucher",
        "description": "Updates a manuel voucher draft. Not possible once booked.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Identifier of the manuel voucher",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Model describing new values for the manuel voucher",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model used to update a manuel voucher",
                "$ref": "#/components/schemas/ManuelVoucherUpdateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The model that is returned when getting a manuel voucher",
                  "$ref": "#/components/schemas/ManuelVoucherReadModel"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ManuelVouchers"
        ],
        "summary": "Delete manual voucher",
        "description": "Deletes a manuel voucher. If it is a draft, this will simply remove that draft. If already booked then it will add an offset entry for the manual voucher, so it will have no effect, but still be present in the bookkeeping, since it is not allowed under danish law to completely remove something, that has already been booked.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the manuel voucher to delete",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Timestamp version of the voucher, used to validate concurrency",
          "content": {
            "application/json": {
              "schema": {
                "description": "Timestamp container",
                "$ref": "#/components/schemas/RequiredTimestampObject"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/vouchers/manuel/{guid}/book": {
      "post": {
        "tags": [
          "ManuelVouchers"
        ],
        "summary": "Book manual voucher",
        "description": "Books a manuel voucher which will cause the voucher to have effect on the books.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the voucher to book",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Data used for the booking transaction",
          "content": {
            "application/json": {
              "schema": {
                "description": "Timestamp container",
                "$ref": "#/components/schemas/BookModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The model that is returned when getting a manuel voucher",
                  "$ref": "#/components/schemas/ManuelVoucherReadModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/organizations": { },
    "/v1/{organizationId}/organization/verification/is-verified": { },
    "/v1/{organizationId}/organization/verification": { },
    "/v1/{organizationId}/products/{guid}": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get product",
        "description": "Gets Product Information for the product with the given Id.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the Product",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Product information for a single Product",
                  "$ref": "#/components/schemas/ProductReadModel"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Products"
        ],
        "summary": "Update product",
        "description": "Update an existing product.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the product",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Content of the product to update",
          "content": {
            "application/json": {
              "schema": {
                "description": "Product information for a product",
                "$ref": "#/components/schemas/ProductUpdateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "delete": {
        "tags": [
          "Products"
        ],
        "summary": "Delete product",
        "description": "Delete a product.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the product",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/products": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "List products",
        "description": "Retrieve a list of products for the organization order by UpdatedAt.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma separated list of fields to include in the response.\n            Possible values are Name,ProductNumber,Quantity,Unit,AccountNumber,BaseAmountValue,BaseAmountValueInclVat,TotalAmount,TotalAmountInclVat,ExternalReference,CreatedAt,UpdatedAt and DeletedAt.\n            Notice that it's not case sensitive, the property name will be returned the way you request it. If left empty it defaults to Name and ProductGuid.",
            "schema": {
              "type": "string",
              "default": "Name,ProductGuid"
            }
          },
          {
            "name": "freeTextSearch",
            "in": "query",
            "description": "A free text search performed on Name and ProductNumber. Can be left empty.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "queryFilter",
            "in": "query",
            "description": "Filter specific for products. Filtering can be applied to following fields: Name, ProductNumber, ExternalReference.\n            See API documentation for filtering format. If left empty no filtering is applied.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "changesSince",
            "in": "query",
            "description": "[Generic Filter Option] Only return products that was created, deleted or updated at or after given time.\n            If left empty, this filter will not be applied, and products will be returned regardless of change history.\n            The time must be UTC and in the format 'YYYY-MM-DDTHH:mm:ssZ' example: '2015-08-18T06:36:22Z'.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deletedOnly",
            "in": "query",
            "description": "[Generic Filter Option] Only select deleted products. If left empty, will default to false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The 0-based page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The maximum number of items to include in a page. Maximum 1000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Generic paged result returned by the Dinero public API list endpoints.",
                  "$ref": "#/components/schemas/ProductReadModelDineroCollection"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Create product",
        "description": "Add a new product to the organization. These can then be added to invoices.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Content of the new product",
          "content": {
            "application/json": {
              "schema": {
                "description": "Product information",
                "$ref": "#/components/schemas/ProductCreateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response of succesfull productcreation",
                  "$ref": "#/components/schemas/ProductCreatedResult"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/vouchers/purchase/creditnotes": {
      "post": {
        "tags": [
          "PurchaseCreditNote"
        ],
        "summary": "Create purchase credit note",
        "description": "Creates a new purchase credit note draft. This will usually apply to a specific purchase voucher, in which case all potential payments are handle through the purchase itself where the credit note will be withdrawn from the amount due.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Data to create the credit note from",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseCreditNoteCreateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response returned by the public API when an object has been successfully created.",
                  "$ref": "#/components/schemas/CreatedResponseModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/vouchers/purchase/creditnotes/{guid}": {
      "get": {
        "tags": [
          "PurchaseCreditNote"
        ],
        "summary": "Get purchase credit note",
        "description": "Gets a purchase credit note by its guid.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the purchase credit note to get",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Represents a purchase credit note (køb-kreditnota).",
                  "$ref": "#/components/schemas/PurchaseCreditNoteReadModel"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "PurchaseCreditNote"
        ],
        "summary": "Update purchase credit note",
        "description": "Update a purchase credit note draft.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the purchase credit note to update",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Data to update the credit note with",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseCreditNoteUpdateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response returned by the public API when an object has been successfully created.",
                  "$ref": "#/components/schemas/CreatedResponseModel"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PurchaseCreditNote"
        ],
        "summary": "Delete purchase credit note",
        "description": "Delete a purchase credit note.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the credit note to delete",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Timestamp used for version validation",
          "content": {
            "application/json": {
              "schema": {
                "description": "Wraps a version timestamp used for optimistic concurrency on write operations.",
                "$ref": "#/components/schemas/TimestampObject"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/vouchers/purchase/creditnotes/{guid}/book": {
      "post": {
        "tags": [
          "PurchaseCreditNote"
        ],
        "summary": "Book purchase credit note",
        "description": "Book purchase credit note.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the credit note to book",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Data used for the booking transaction",
          "content": {
            "application/json": {
              "schema": {
                "description": "Timestamp container",
                "$ref": "#/components/schemas/BookModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Represents a purchase credit note (køb-kreditnota).",
                  "$ref": "#/components/schemas/PurchaseCreditNoteReadModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/purchase-vouchers/{id}/payments": {
      "get": {
        "tags": [
          "PurchaseVoucherCreditPayments"
        ],
        "summary": "Get payments for credit purchase voucher or credit note",
        "description": "Get the payment from a credit purchase voucher or a purchase credit note which is not connected to a seperate purchase.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Guid for the voucher or purchase voucher credit note",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "Model for a payment",
                    "$ref": "#/components/schemas/PaymentReadModel"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "PurchaseVoucherCreditPayments"
        ],
        "summary": "Create payment for credit purchase voucher or credit note",
        "description": "Add a payment to a credit purchase voucher or a purchase credit note which is not connected to a seperate purchase.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Guid for the voucher",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The payment details",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PurchaseVoucherCreditPaymentCreateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response of succesfull creation",
                  "$ref": "#/components/schemas/CreatedPaymentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/purchase-vouchers/{id}/payments/v2": { },
    "/v1/{organizationId}/purchase-vouchers/{id}/payments/calculations": { },
    "/v1/{organizationId}/purchase-vouchers/{id}/payments/{paymentId}/{timestamp}": {
      "delete": {
        "tags": [
          "PurchaseVoucherCreditPayments"
        ],
        "summary": "Delete payment from credit purchase voucher or credit note",
        "description": "Delete a payment from a credit purchase voucher or a purchase credit note which is not connected to a seperate purchase.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Guid for the voucher",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "paymentId",
            "in": "path",
            "description": "The payment guid",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "timestamp",
            "in": "path",
            "description": "Version of the voucher",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response of succesfull deletion",
                  "$ref": "#/components/schemas/DeletedPaymentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/{organizationId}/vouchers/purchase": {
      "post": {
        "tags": [
          "PurchaseVouchers"
        ],
        "summary": "Create purchase voucher",
        "description": "Creates a new purchase voucher draft. This voucher will have no effect on the accounts untill booked, and can be found under \"Bilagsoversigt\" inside Dinero.\nMost users will likely expect this to be booked automatically incase it is created through the API.\nDo note that if the credit option is chosen, payments must be added afterwards through the add payment endpoints in the PurchaseVoucherCreditPayment section.\nDoes not support AccountTagName.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Data to create the voucher from",
          "content": {
            "application/json": {
              "schema": {
                "description": "Request body for creating a purchase voucher (køb) draft via the public API (v1.2).",
                "$ref": "#/components/schemas/PurchaseVoucherCreateModelV2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model returned by the public API when a purchase voucher (køb) is created.",
                  "$ref": "#/components/schemas/PurchaseVoucherReadModelV2"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/{organizationId}/vouchers/purchase": {
      "post": {
        "tags": [
          "PurchaseVouchers"
        ],
        "summary": "Create purchase voucher V2",
        "description": "Creates a new purchase voucher draft. This voucher will have no effect on the accounts untill booked, and can be found under \"Bilagsoversigt\" inside Dinero.\nMost users will likely expect this to be booked automatically incase it is created through the API.\nDo note that if the credit option is chosen, payments must be added afterwards through the add payment endpoints in the PurchaseVoucherCreditPayment section.\nSupports AccountTagName.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Data to create the voucher from",
          "content": {
            "application/json": {
              "schema": {
                "description": "Request body for creating a purchase voucher (køb) draft via the public API (v1.2).",
                "$ref": "#/components/schemas/PurchaseVoucherCreateModelV2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model returned by the public API when a purchase voucher (køb) is created.",
                  "$ref": "#/components/schemas/PurchaseVoucherReadModelV2"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/vouchers/purchase/fetch": {
      "post": {
        "tags": [
          "PurchaseVouchers"
        ],
        "summary": "Get purchase totals",
        "description": "Fetch a purchase to get totals.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Data to create the voucher from",
          "content": {
            "application/json": {
              "schema": {
                "description": "Request body for creating a purchase voucher (køb) draft via the public API (v1.2).",
                "$ref": "#/components/schemas/PurchaseVoucherCreateModelV2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model returned by the api when fetching purchasevouchers",
                  "$ref": "#/components/schemas/PurchaseVoucherFetchReadModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/vouchers/purchase/similar": {
      "post": {
        "tags": [
          "PurchaseVouchers"
        ],
        "summary": "Get similar purchase",
        "description": "Looks for similar purchase.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Data to create the voucher from",
          "content": {
            "application/json": {
              "schema": {
                "description": "Request body for creating a purchase voucher (køb) draft via the public API (v1.2).",
                "$ref": "#/components/schemas/PurchaseVoucherCreateModelV2"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimilarPurchaseVoucherReadModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/vouchers/purchase/{guid}": {
      "get": {
        "tags": [
          "PurchaseVouchers"
        ],
        "summary": "Get purchase voucher",
        "description": "Gets a purchase voucher by its guid.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the voucher to get",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model returned by the public API when a purchase voucher (køb) is created.",
                  "$ref": "#/components/schemas/PurchaseVoucherReadModelV2"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "PurchaseVouchers"
        ],
        "summary": "Update purchase voucher",
        "description": "Update a purchase voucher draft, you cannot update booked purchase vouchers.\nDoes not support AccountTagName on voucher lines.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the purchase voucher to update",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Data to update the purchase voucher with",
          "content": {
            "application/json": {
              "schema": {
                "description": "Used for updating purchase vouchers",
                "$ref": "#/components/schemas/PurchaseVoucherUpdateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model returned by the public API when a purchase voucher (køb) is created.",
                  "$ref": "#/components/schemas/PurchaseVoucherReadModelV2"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PurchaseVouchers"
        ],
        "summary": "Delete purchase voucher",
        "description": "Delete a purchase voucher. Incase the voucher is a draft, the draft will simply be removed.\nIf already booked then it will add an offset entry for the purchase voucher so it will have no effect, but still be present in the bookkeeping, since it is not allowed under danish law to completely remove something, that has already been booked.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the voucher to delete",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Timestamp used for version validation",
          "content": {
            "application/json": {
              "schema": {
                "description": "Wraps a version timestamp used for optimistic concurrency on write operations.",
                "$ref": "#/components/schemas/TimestampObject"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/vouchers/purchase/fileguid/{fileGuid}": {
      "get": {
        "tags": [
          "PurchaseVouchers"
        ],
        "summary": "Get purchase draft Guid by fileGuid",
        "description": "Gets purchase voucher Guid by fileGuid.",
        "parameters": [
          {
            "name": "fileGuid",
            "in": "path",
            "description": "FileGuid used to find purchase",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1.1/{organizationId}/vouchers/purchase/{guid}": {
      "put": {
        "tags": [
          "PurchaseVouchers"
        ],
        "summary": "Update purchase voucher v2",
        "description": "Update a purchase voucher draft, you cannot update booked purchase vouchers.\nSupports AccountTagName on voucher lines.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the purchase voucher to update",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Data to update the purchase voucher with",
          "content": {
            "application/json": {
              "schema": {
                "description": "Used for updating purchase vouchers",
                "$ref": "#/components/schemas/PurchaseVoucherUpdateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model returned by the public API when a purchase voucher (køb) is created.",
                  "$ref": "#/components/schemas/PurchaseVoucherReadModelV2"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/vouchers/purchase/{guid}/book": {
      "post": {
        "tags": [
          "PurchaseVouchers"
        ],
        "summary": "Book purchase voucher",
        "description": "Book a purchase voucher.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "guid of the voucher to book",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Model containing timestamp and optional vouchernumber to use for booking",
          "content": {
            "application/json": {
              "schema": {
                "description": "Timestamp container",
                "$ref": "#/components/schemas/BookModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model returned by the public API when a purchase voucher (køb) is created.",
                  "$ref": "#/components/schemas/PurchaseVoucherReadModelV2"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/vouchers/purchase/{guid}/generate-creditnote": {
      "post": {
        "tags": [
          "PurchaseVouchers"
        ],
        "summary": "Create credit note from purchase voucher",
        "description": "Generate and saves a credit note draft of a given booked purchase voucher.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the invoice",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Model containing optional timestamp, voucher date and file guid parameters",
          "content": {
            "application/json": {
              "schema": {
                "description": "Request body for generating a credit note for a purchase voucher.",
                "$ref": "#/components/schemas/CreditNoteForPurchaseVoucherRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response returned by the public API when an object has been successfully created.",
                  "$ref": "#/components/schemas/CreatedResponseModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/{voucherGuid}/reminders": {
      "get": {
        "tags": [
          "Reminders"
        ],
        "summary": "Get reminders",
        "description": "Get all reminders (rykkere) for a specific invoice. There can be up to three reminders per invoice. If you want a specific one of those reminders, look for the Get reminder endpoint.",
        "parameters": [
          {
            "name": "voucherGuid",
            "in": "path",
            "description": "Voucher guid",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "changesSince",
            "in": "query",
            "description": "[Generic Filter Option] Only return mailouts that was created or updated after a given time.\n            If left empty, this filter will not be applied, and reminders will be returned regardless of change history.\n            The time must be UTC and in the format 'YYYY-MM-DDTHH:mm:ssZ' example: '2015-08-18T06:36:22Z'.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ReminderViewModel"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Reminders"
        ],
        "summary": "Add reminder",
        "description": "Add a reminder (rykker) to a specific invoice. The invoice in question must be overdue, in order for a reminder to be added, once 10 days have passed, another reminder can be added.\nYou need to follow the rules applied in Renteloven, when adding a reminder. If in doubt, try to use the standards of Dinero. Remeber to book the reminder in order for it to have any effect.",
        "parameters": [
          {
            "name": "voucherGuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReminderCreateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReminderViewModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/{voucherGuid}/reminders/{id}": {
      "get": {
        "tags": [
          "Reminders"
        ],
        "summary": "Get reminder",
        "description": "Get a specific reminder (rykker) as either json or pdf. Define the Accept header of your request to either 'application/json' or 'application/octet-stream'.\nYou use the id to specify which reminder you want from an invoice, since there can be up to three per invoice. If you instead want the list of reminders for an invoice, then look for Get Reminders.",
        "parameters": [
          {
            "name": "voucherGuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReminderViewModel"
                }
              },
              "application/octet-stream": { }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Reminders"
        ],
        "summary": "Update reminder",
        "description": "Updates an unbooked reminder, incase you've created a draft you wish to change.",
        "parameters": [
          {
            "name": "voucherGuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReminderCreateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReminderViewModel"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Reminders"
        ],
        "summary": "Delete reminder",
        "description": "Deletes a reminder. If unbooked this will just remove the draft.\nIf already booked then it will add an offset entry for the reminder so it will have no effect, but still be present in the bookkeeping, since it is not allowed under danish law to completely remove something, that has already been booked.",
        "parameters": [
          {
            "name": "voucherGuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReminderDeleteModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/{voucherGuid}/reminders/next": {
      "get": {
        "tags": [
          "Reminders"
        ],
        "summary": "Get next reminder",
        "description": "Get the next reminder in line.",
        "parameters": [
          {
            "name": "voucherGuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReminderViewModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/{voucherGuid}/reminders/fetch": {
      "post": {
        "tags": [
          "Reminders"
        ],
        "summary": "Fetch reminder",
        "description": "Fetch a reminder matching the specified criteria.",
        "parameters": [
          {
            "name": "voucherGuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReminderFetchModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReminderViewModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/{voucherGuid}/reminders/{id}/book": {
      "post": {
        "tags": [
          "Reminders"
        ],
        "summary": "Book reminder",
        "description": "Books a reminder draft that has been added with the Add reminder endpoint. Only a booked reminder will have any effect and be able to be sent out.",
        "parameters": [
          {
            "name": "voucherGuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReminderBookModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReminderViewModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/{voucherGuid}/reminders/email/template": {
      "get": {
        "tags": [
          "Reminders"
        ],
        "summary": "Get reminder email template",
        "description": "Gets the email template for a reminder. This can be used to preview what will be sent out on the email. These standards can be overwritten during the sending phase.",
        "parameters": [
          {
            "name": "voucherGuid",
            "in": "path",
            "description": "Guid of the invoice",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model for the template of the email for an invoice / creditnote / tradeoffer",
                  "$ref": "#/components/schemas/MailoutTemplateReadModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/invoices/{voucherGuid}/reminders/email": {
      "post": {
        "tags": [
          "Reminders"
        ],
        "summary": "Send reminder email",
        "description": "Sends the reminder as an email with a link to a public version of the reminder. Here the default message, receivers etc. can be overwritten. If you want the user to preview these options, use the Get reminder email template endpoint.",
        "parameters": [
          {
            "name": "voucherGuid",
            "in": "path",
            "description": "Guid of the invoice to send",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Model of the email to send",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for sending an email for an invoice.",
                "$ref": "#/components/schemas/ApiMailoutModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Information about the send email.",
                  "$ref": "#/components/schemas/EmailSentModel"
                }
              }
            }
          }
        }
      }
    },
    "/v2/{organizationId}/invoices/{voucherGuid}/reminders/email/template": { },
    "/v2/{organizationId}/invoices/{voucherGuid}/reminders/email": { },
    "/v1/{organizationId}/invoices/{voucherGuid}/reminders/{id}/e-reminder": {
      "post": {
        "tags": [
          "Reminders"
        ],
        "summary": "Send reminder with EAN",
        "description": "This simply sends the reminder as an electronic invoice. The customer must be able to receive invoices through either EAN, CVR or another means. This can be added to the contact in question.",
        "parameters": [
          {
            "name": "voucherGuid",
            "in": "path",
            "description": "Guid of the invoice",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "Id of the reminder to send",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Parameters for the e-reminder",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model containing parameters needed to send EAN reminders",
                "$ref": "#/components/schemas/EanReminderModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v2/{organizationId}/invoices/{voucherGuid}/reminders/{id}/e-reminder": { },
    "/v1/{organizationId}/{accountingYear}/reports/saldo": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Get saldo balance report",
        "description": "Get a saldobalance report which contains both the result and balance in one report. Can only be fetched for an entire accounting year.",
        "parameters": [
          {
            "name": "accountingYear",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showZeroAccount",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "showAccountNo",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "includeSummaryAccount",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "includeLedgerEntries",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "showVatType",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "A line in the saldo-balance report (saldobalance): an account and its total. The\nsaldo-balance combines the result and balance in one report.",
                    "$ref": "#/components/schemas/SaldoBalanceReportApiModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/{accountingYear}/reports/result": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Get result report",
        "description": "Get a result report, which contains income and expense accounts. Can only be fetched for an entire accounting year.",
        "parameters": [
          {
            "name": "accountingYear",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showZeroAccount",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "showAccountNo",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "includeLedgerEntries",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "showVatType",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "includeSummaryAccount",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "A line in the result report (resultatopgørelse): an income or expense account and its total.",
                    "$ref": "#/components/schemas/ResultReportApiModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/{accountingYear}/reports/primo": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Get Primo balance report",
        "description": "Get the primo balance report for an accounting year. The primo balance is the balance the year starts with.",
        "parameters": [
          {
            "name": "accountingYear",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showZeroAccount",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "showAccountNo",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "includeSummaryAccount",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "showVatType",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "A line in the primo-balance report: the balance the accounting year starts with.",
                    "$ref": "#/components/schemas/PrimoBalanceApiModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/{accountingYear}/reports/balance": {
      "get": {
        "tags": [
          "Reports"
        ],
        "summary": "Get balance report",
        "description": "Get the balance report, which contains assetts and liabilities. Can only be fetched for an entire accounting year.",
        "parameters": [
          {
            "name": "accountingYear",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showZeroAccount",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "showAccountNo",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "includeLedgerEntries",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "showVatType",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "includeSummaryAccount",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "A line in the balance report (balance): an asset or liability account and its total.",
                    "$ref": "#/components/schemas/BalanceReportApiModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/sales": {
      "get": {
        "tags": [
          "Sales"
        ],
        "summary": "List invoices and credit notes",
        "description": "Retrieve a list of all invoices and credit notes for the organization. This can be a lengthy and demanding process on our end.\nTherefore you should not use this endpoint often. Instead use the endpoint with the changesSince filter, to make sure you only get data that has changed since you last got the list.",
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date in format 'YYYY-MM-DD' example '2015-01-01'. If you define a start date, you also need to define an end date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date in format 'YYYY-MM-DD' example '2015-01-01'. If you define an end date, you also need to define a start date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "description": "A comma separated list of fields to include in the response.\n            Possible values are:\n            Type, Number, Guid, ExternalReference, ContactName, ContactGuid, Date, PaymentDate, Description, Currency, Status, MailOutStatus, LatestMailOutType\n            TotalExclVatInDkk, TotalInclVatInDkk, TotalExclVat, TotalInclVat, CreatedAt, UpdatedAt and DeletedAt.\n            If null, defaults to Guid,ContactName,Date,Description,Type.\n            Notice that it's not case sensitive, the property name will be returned the way you request it.",
            "schema": {
              "type": "string",
              "default": "Guid,ContactName,Date,Description,Type"
            }
          },
          {
            "name": "freeTextSearch",
            "in": "query",
            "description": "A free text search performed on Number, ContactName, Description and TotalInclTax",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statusFilter",
            "in": "query",
            "description": "Filter on Status. You can choose Draft, Booked, Paid, OverPaid or Overdue. You can add multible filters example: 'Paid,OverPaid,Overdue'. If left empty no filter is applied.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "queryFilter",
            "in": "query",
            "description": "Filtering can be applied to following fields:\n            ExternalReference, ContactGuid, Description. See API documentation for filtering format. If left empty no filtering is applied.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "changesSince",
            "in": "query",
            "description": "[Generic Filter Option] Only return credit notes that was created, deleted or updated at or after given time.\n            If left empty, this filter will not be applied, and credit notes will be returned regardless of change history.\n            The time must be UTC and in the format 'YYYY-MM-DDTHH:mm:ssZ' example: '2015-08-18T06:36:22Z'.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deletedOnly",
            "in": "query",
            "description": "[Generic Filter Option] Only select deleted credit notes. If left empty, will defaults to false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The 0-based page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The maximum number of items to include in a page. Maximum 1000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "A comma separated list of fields to sort on. Possible values are: VoucherNumber, VoucherDate, Status and Contact.",
            "schema": {
              "type": "string",
              "default": "VoucherNumber,VoucherDate"
            }
          },
          {
            "name": "sortOrder",
            "in": "query",
            "description": "Sort order. Valid values are ascending and descending. Field Status is always sorted in the order Draft, Overdue, Booked, OverPaid and Paid.",
            "schema": {
              "type": "string",
              "default": "descending"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Generic paged result returned by the Dinero public API list endpoints.",
                  "$ref": "#/components/schemas/SalesVoucherReadListModelDineroCollection"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/sales/settings": {
      "get": {
        "tags": [
          "Sales"
        ],
        "summary": "Get default settings",
        "description": "Returns a model containing the users default sales voucher setting preferences.\nThese are the settings that are applied when the user creates a new invoice in Dinero's web app.\nThe user can edit these setting under Settings>InvoiceSettings (Indstillinger>Faktura indstillinger).",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Default SalesVoucherSettings",
                  "$ref": "#/components/schemas/SalesVoucherSetttingsModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/sales/creditnotes": {
      "post": {
        "tags": [
          "SalesCreditNotes"
        ],
        "summary": "Create credit note",
        "description": "Create a new draft credit note in Dinero. This credit note can be found in the \"Salg\" section of Dinero. A draft credit note will not count in the accounts untill booked.\nThink about using the book and send endpoints after the draft has been created to further automate the booking process for the user. Also note that the date on the credit note, should always be the date the credit note is sent to the customer.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Model of the credit note to save.",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for creating a credit note",
                "$ref": "#/components/schemas/SalesCreditNoteCreateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response returned by the public API when an object has been successfully created.",
                  "$ref": "#/components/schemas/CreatedResponseModel"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "SalesCreditNotes"
        ],
        "summary": "List credit notes",
        "description": "Retrieve a list of credit notes for the organization. This can return quite a long list of credit notes, consider using the changesSince filter to only return credit notes that have been changed since the last time you fetched the list.",
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "description": "Start date in format 'YYYY-MM-DD' example '2015-01-01'. If you define a start date, you also need to define an end date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "End date in format 'YYYY-MM-DD' example '2015-01-01'. If you define an end date, you also need to define a start date.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "description": "A comma separated list of fields to include in the response.\n            Possible values are:\n            Number, Guid, ExternalReference, ContactName, ContactGuid, Date, PaymentDate, Description, Currency, Status, MailOutStatus,\n            TotalExclVatInDkk, TotalInclVatInDkk, TotalExclVat, TotalInclVat, CreatedAt, UpdatedAt and DeletedAt.\n            If null, defaults to Guid,ContactName,Date,Description,Type.\n            Notice that it's not case sensitive, the property name will be returned the way you request it.",
            "schema": {
              "type": "string",
              "default": "Guid,ContactName,Date,Description,Type"
            }
          },
          {
            "name": "freeTextSearch",
            "in": "query",
            "description": "A free text search performed on Number, ContactName, Description and TotalInclTax",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statusFilter",
            "in": "query",
            "description": "Filter on Status. You can choose Draft, Booked, Paid, OverPaid or Overdue. You can add multible filters example: 'Paid,OverPaid,Overdue'. If left empty no filter is applied.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "queryFilter",
            "in": "query",
            "description": "Filtering can be applied to following fields:\n            ExternalReference, ContactGuid, Description. See API documentation for filtering format. If left empty no filtering is applied.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "changesSince",
            "in": "query",
            "description": "[Generic Filter Option] Only return credit notes that was created, deleted or updated at or after given time.\n            If left empty, this filter will not be applied, and credit notes will be returned regardless of change history.\n            The time must be UTC and in the format 'YYYY-MM-DDTHH:mm:ssZ' example: '2015-08-18T06:36:22Z'.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deletedOnly",
            "in": "query",
            "description": "[Generic Filter Option] Only select deleted credit notes. If left empty, will defaults to false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The 0-based page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The maximum number of items to include in a page. Maximum 1000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "A comma separated list of fields to sort on. Possible values are: VoucherNumber, VoucherDate, Status and Contact.",
            "schema": {
              "type": "string",
              "default": "VoucherNumber,VoucherDate"
            }
          },
          {
            "name": "sortOrder",
            "in": "query",
            "description": "Sort order. Valid values are ascending and descending. Field Status is always sorted in the order Draft, Overdue, Booked, OverPaid and Paid.",
            "schema": {
              "type": "string",
              "default": "descending"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Generic paged result returned by the Dinero public API list endpoints.",
                  "$ref": "#/components/schemas/SalesVoucherReadListModelDineroCollection"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/{organizationId}/sales/creditnotes/{guid}": {
      "put": {
        "tags": [
          "SalesCreditNotes"
        ],
        "summary": "Update credit note",
        "description": "Update an existing credit note. The credit note cannot be updated if booked. Note that the put request per rest standard will update the entire credit note and not only the fields you send.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the credit note",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Content of the credit note to update",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for updating a credit note.",
                "$ref": "#/components/schemas/SalesCreditNoteUpdateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response of a succesfull update",
                  "$ref": "#/components/schemas/UpdatedResponseModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/sales/creditnotes/{guid}": {
      "delete": {
        "tags": [
          "SalesCreditNotes"
        ],
        "summary": "Delete credit note",
        "description": "Delete credit note. The credit note should not be deleted if booked. In that case a new invoice would be the correct way to cancel the credit note.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the credit note",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "optional timestamp to verify version before deletion",
          "content": {
            "application/json": {
              "schema": {
                "description": "Wraps a version timestamp used for optimistic concurrency on write operations.",
                "$ref": "#/components/schemas/TimestampObject"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      },
      "get": {
        "tags": [
          "SalesCreditNotes"
        ],
        "summary": "Get credit note",
        "description": "Get credit note as json or pdf. Define the Accept header of your request to either 'application/json' or 'application/octet-stream'. PDF's can only be generated from booked credit notes.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the credit note",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Represent a invoice",
                  "$ref": "#/components/schemas/SalesCreditNoteReadModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/sales/creditnotes/{guid}/book": {
      "post": {
        "tags": [
          "SalesCreditNotes"
        ],
        "summary": "Book credit note",
        "description": "Book credit note. Booking means actually posting the credit note to the accounts. A booked credit note can also be sent via email, sms or as an e-credit note.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the credit note to book",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Data used for the booking transaction",
          "content": {
            "application/json": {
              "schema": {
                "description": "Timestamp container",
                "$ref": "#/components/schemas/BookModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Represents a sales invoice (faktura).",
                  "$ref": "#/components/schemas/InvoiceReadModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/sales/creditnotes/fetch": {
      "post": {
        "tags": [
          "SalesCreditNotes"
        ],
        "summary": "Get credit note totals",
        "description": "Fetch a credit note to get total and line sums calculations.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Model of the credit note.",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for fetching a credit note.",
                "$ref": "#/components/schemas/SalesCreditNoteCreateFetchModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Represent a invoice",
                  "$ref": "#/components/schemas/SalesCreditNoteFetchReadModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/sales/creditnotes/{guid}/email/template": {
      "get": {
        "tags": [
          "SalesCreditNotes"
        ],
        "summary": "Get credit note email template",
        "description": "Gets the email template for a credit note. This can be used to preview what will be sent out on the email. These standards can be overwritten during the sending phase.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the credit note to send",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model for the template of the email for an invoice / creditnote / tradeoffer",
                  "$ref": "#/components/schemas/MailoutTemplateReadModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/sales/creditnotes/{guid}/email": {
      "post": {
        "tags": [
          "SalesCreditNotes"
        ],
        "summary": "Send credit note",
        "description": "Send an email with link to a public version of the credit note where it can be printed or downloaded as a pdf. The credit note must be booked.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the credit note to send",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Model of the email to send",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for sending an email for an invoice.",
                "$ref": "#/components/schemas/ApiMailoutModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Information about the send email.",
                  "$ref": "#/components/schemas/EmailSentModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/sales/creditnotes/{guid}/pdf": {
      "get": {
        "tags": [
          "SalesCreditNotes"
        ],
        "summary": "Get credit note as pdf",
        "description": "Get a creditnote as PDF",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the booked credit note to create a PDF from",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v3/{organizationId}/sales/creditnotes/{guid}/e-creditNote": {
      "post": {
        "tags": [
          "SalesCreditNotes"
        ],
        "summary": "Send electronic creditnote",
        "description": "Send electronic creditnote to following destinations: P, SE, EAN/GLN, Danish vat (CVR) -numbers",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the credit note to send",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "parameters for the electronic creditnote",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model containing parameters needed to send electronic invoice and/or creditnote",
                "$ref": "#/components/schemas/EInvoiceSendModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/sales/creditnotes/{guid}/mailouts": {
      "get": {
        "tags": [
          "SalesCreditNotes"
        ],
        "summary": "List mailouts",
        "description": "List the mailouts for a specific credit note",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "changesSince",
            "in": "query",
            "description": "[Generic Filter Option] Only return mailouts that was created or updated after a given time.\n            If left empty, this filter will not be applied, and mailouts will be returned regardless of change history.\n            The time must be UTC and in the format 'YYYY-MM-DDTHH:mm:ssZ' example: '2015-08-18T06:36:22Z'.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VoucherMailoutReadModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/sales/creditnotes/{guid}/payments": {
      "post": {
        "tags": [
          "SalesCreditNotes"
        ],
        "summary": "Add payment to creditnote",
        "description": "Create a payment for an creditnote. Payments can only be added to a booked creditnote.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the creditnote",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The payment details",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for creating a payment",
                "$ref": "#/components/schemas/PaymentCreateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response of succesfull creation",
                  "$ref": "#/components/schemas/CreatedPaymentResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "SalesCreditNotes"
        ],
        "summary": "Get payments for creditnote",
        "description": "Get the payments for an creditnote",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the creditnote",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model for invoice payments",
                  "$ref": "#/components/schemas/InvoicePaymentsModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/sales/creditnotes/{guid}/payments/{paymentGuid}": {
      "delete": {
        "tags": [
          "SalesCreditNotes"
        ],
        "summary": "Delete payment from creditnote",
        "description": "Delete a payment from an creditnote. Only booked creditnote can have payments.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the creditnote",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "paymentGuid",
            "in": "path",
            "description": "The payment guid",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Version of the invoice",
          "content": {
            "application/json": {
              "schema": {
                "description": "Wraps a version timestamp used for optimistic concurrency on write operations.",
                "$ref": "#/components/schemas/TimestampObject"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response of succesfull deletion",
                  "$ref": "#/components/schemas/DeletedPaymentResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/settings/access": { },
    "/v1/{organizationId}/sms/validate": { },
    "/v1/{organizationId}/sms/{voucherGuid}/send-sms": {
      "post": {
        "tags": [
          "Sms"
        ],
        "summary": "Send sms with link to invoice",
        "description": "Sends a specific invoice with a link in an SMS to the customer. An invoice must be booked, before it can be sent. SMS has special terms and usage will be invoiced. By using our API, you accept these <a href=\"https://dinero.dk/sikkerhed/retningslinjer-og-vilkaar-for-api-partnere/\" target=\"_blank\">terms and conditions</a>.",
        "parameters": [
          {
            "name": "voucherGuid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SmsSendModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/tradeoffers": {
      "post": {
        "tags": [
          "TradeOffers"
        ],
        "summary": "Create trade offer",
        "description": "Creates a draft of a trade offer(tilbud). The trade offer will not have any effect on bookkeeping, and as such cannot be booked like other voucher types. The trade offer is binding under danish law though, so make sure you fill it out with the correct information.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Model of the trade offer to save.",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for creating a trade offer",
                "$ref": "#/components/schemas/TradeOfferCreateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response returned by the public API when an object has been successfully created.",
                  "$ref": "#/components/schemas/CreatedResponseModel"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "TradeOffers"
        ],
        "summary": "List trade offers",
        "description": "Retrieve a list of trade offers for the organization. This can be used as an overview or to get the id of a specific trade offer.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma separated list of fields to include in the response.\n            Possible values are:\n            Number, Guid, TimeStamp, ContactName, ContactGuid, Address, Date, Comment, Description, ExternalReference, Language, Currency,\n            TotalExclVat, TotalVatableAmount, TotalInclVat, TotalNonVatableAmount, TotalVat, HasGeneratedAnyVouchers, Status, MailOutStatus, LatestMailOutType\n            CreatedAt, UpdatedAt and DeletedAt. If left empty it defaults to guid, contactName, date, description,  Note that ProductLines and TotalLines are NOT available when fetching a list.\n             Notice that it's not case sensitive, the property name will be returned the way you request it. If null, defaults to 'guid,contactName,date,description' (notice small start letter).",
            "schema": {
              "type": "string",
              "default": "guid,contactName,date,description"
            }
          },
          {
            "name": "queryFilter",
            "in": "query",
            "description": "Filter specific for trade offers. Filtering can be applied to following fields:\n            ExternalReference, ContactName, Address, Comment, Description, HasGeneratedAnyVouchers, Currency, Date and Number.\n            See API documentation for filtering format.\n            If left empty no filtering is applied.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "changesSince",
            "in": "query",
            "description": "[Generic Filter Option] Only return trade offers that was created, deleted or updated at or after given time.\n            If left empty, this filter will not be applied, and trade offers will be returned regardless of change history.\n            The time must be UTC and in the format 'YYYY-MM-DDTHH:mm:ssZ' example: '2015-08-18T06:36:22Z'.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deletedOnly",
            "in": "query",
            "description": "[Generic Filter Option] Only select deleted trade offers. If left empty, will defaults to false.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "freeTextSearch",
            "in": "query",
            "description": "A free text search performed on Number, ContactName, Description and TotalInclTax",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The 0-based page number",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The maximum number of items to include in a page. Maximum 1000.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 100
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "A comma separated list of fields to sort on. Possible values are: TradeOfferNumber, TradeOfferDate, Status and ContactName.",
            "schema": {
              "type": "string",
              "default": "TradeOfferNumber"
            }
          },
          {
            "name": "sortOrder",
            "in": "query",
            "description": "Valid values are ascending or descending.",
            "schema": {
              "type": "string",
              "default": "descending"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Generic paged result returned by the Dinero public API list endpoints.",
                  "$ref": "#/components/schemas/TradeOfferReadModelDineroCollection"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/tradeoffers/fetch": {
      "post": {
        "tags": [
          "TradeOffers"
        ],
        "summary": "Get trade offer totals",
        "description": "Fetch a trade offer to get total and line sums.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Model of the trade offer.",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for fetching a trade offer.",
                "$ref": "#/components/schemas/TradeOfferCreateFetchModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Represent a trade offer",
                  "$ref": "#/components/schemas/TradeOfferFetchReadModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/tradeoffers/{guid}": {
      "get": {
        "tags": [
          "TradeOffers"
        ],
        "summary": "Get trade offer as json or pdf",
        "description": "Get tradeoffer as json or pdf.\nDefine the Accept header of your request to either 'application/json' or 'application/octet-stream'.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the tradeoffer",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Represent a trade offer",
                  "$ref": "#/components/schemas/TradeOfferReadModel"
                }
              },
              "application/octet-stream": { }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "TradeOffers"
        ],
        "summary": "Delete trade offer",
        "description": "Delete trade offer. Please note that already accepted trade offers should not be deleted, as these are binding as per danish legislation.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the trade offer",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "optional timestamp to verify version before deletion",
          "content": {
            "application/json": {
              "schema": {
                "description": "Wraps a version timestamp used for optimistic concurrency on write operations.",
                "$ref": "#/components/schemas/TimestampObject"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/tradeoffers/{guid}/email/template": {
      "get": {
        "tags": [
          "TradeOffers"
        ],
        "summary": "Get trade offer email template",
        "description": "Gets the email template for a trade offer. This can be used to preview what will be sent out on the email. These standards can be overwritten during the sending phase.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the trade offer to send",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Model for the template of the email for an invoice / creditnote / tradeoffer",
                  "$ref": "#/components/schemas/MailoutTemplateReadModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/tradeoffers/{guid}/email": {
      "post": {
        "tags": [
          "TradeOffers"
        ],
        "summary": "Send trade offer email",
        "description": "Sends the trade offer as an email with a link to a public version of the reminder. Here the default message, receivers etc. can be overwritten. If you want the user to preview these options, use the Get reminder email template endpoint.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the tradeoffer to send",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Model of the email to send",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for sending an email for an invoice.",
                "$ref": "#/components/schemas/ApiMailoutModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Information about the send email.",
                  "$ref": "#/components/schemas/EmailSentModel"
                }
              }
            }
          }
        }
      }
    },
    "/v2/{organizationId}/tradeoffers/{guid}/email/template": { },
    "/v2/{organizationId}/tradeoffers/{guid}/email": { },
    "/v1/{organizationId}/tradeoffers/{guid}/generate-invoice": {
      "post": {
        "tags": [
          "TradeOffers"
        ],
        "summary": "Create invoice from trade offer",
        "description": "Generate an invoice draft of a given trade offer. (OBS Generating a invoice of the trade offer, will trigger a new timestamp on the trade offer). Also do note that the invoice must be booked to have any effect on the books, and be able to be sent.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Guid of the trade offer",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Optional timestamp. If given validate that you got the latest version.\n            This can be used to ensure that the trade offer has not been changed since you last fetched it.\n            Defaults to latest version of the TradeOffer.",
          "content": {
            "application/json": {
              "schema": {
                "description": "Wraps a version timestamp used for optimistic concurrency on write operations.",
                "$ref": "#/components/schemas/TimestampObject"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response returned by the public API when an object has been successfully created.",
                  "$ref": "#/components/schemas/CreatedResponseModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1.2/{organizationId}/tradeoffers/{guid}": {
      "put": {
        "tags": [
          "TradeOffers"
        ],
        "summary": "Update trade offer",
        "description": "Update an existing trade offer. Due to danish legislation, you should not update an already accepted or rejected trade offer, instead you should create a new one.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "Unique identifier for the trade offer information",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Content of the trade offer to update",
          "content": {
            "application/json": {
              "schema": {
                "description": "Model for creating a trade offer",
                "$ref": "#/components/schemas/TradeOfferUpdateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "The response of a succesfull update",
                  "$ref": "#/components/schemas/UpdatedResponseModel"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/tradeoffers/{guid}/mailouts": {
      "get": {
        "tags": [
          "TradeOffers"
        ],
        "summary": "List mailouts",
        "description": "List the mailouts for a specific trade offer.",
        "parameters": [
          {
            "name": "guid",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "changesSince",
            "in": "query",
            "description": "[Generic Filter Option] Only return mailouts that was created or updated after a given time.\n            If left empty, this filter will not be applied, and mailouts will be returned regardless of change history.\n            The time must be UTC and in the format 'YYYY-MM-DDTHH:mm:ssZ' example:'2015-08-18T06:36:22Z'.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeSms",
            "in": "query",
            "description": "",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VoucherMailoutReadModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/unifiedvouchers": { },
    "/v1/{organizationId}/vatTypes": {
      "get": {
        "tags": [
          "VatTypes"
        ],
        "summary": "List vat types",
        "description": "Gets a list of all of the organization's VAT types. Most organizations will have the same, although users can create their own partial purchase vats.",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "description": "Represents a VAT type",
                    "$ref": "#/components/schemas/VatTypeReadModel"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/{organizationId}/vouchertemplates/types": { },
    "/v1/{organizationId}/vouchertemplates/{accountingYearKey}/{templateType}": { },
    "/v1/{organizationId}/vouchertemplates/{templateType}/{id}": { },
    "/v1/{organizationId}/vouchertemplates/{templateType}/{id}/book": { },
    "/v1/{organizationId}/vouchertemplates/{accountingYearKey}/{templateType}/{id}": { },
    "/v1/{organizationId}/vouchertemplates/{templateType}/deposits/{voucherId}": { },
    "/v1/{organizationId}/vouchertemplates/{accountingYearKey}/{templateType}/similar-exists": { },
    "/v1/{organizationId}/webhooks/subscribe": {
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Subscribe to webhook",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Event id of webhook to subscribe to and url for webhook destination",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubscribeToWebhookModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/webhooks/unsubscribe": {
      "delete": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Unsubscribe specific webhook event",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Event id of webhook to unsubscribe",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnsubscribeFromWebhookModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/webhooks/subscriptions": {
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Get active webhook subscriptions for an organization",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/v1/{organizationId}/webhooks/events": {
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Get list of available webhook events to subscribe to for an organization",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccountCreateModel": {
        "required": [
          "Name",
          "Number",
          "VatCode"
        ],
        "type": "object",
        "properties": {
          "Number": {
            "type": "integer",
            "description": "Account number",
            "format": "int32",
            "example": 1020
          },
          "PublicStandardNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Account number mapped to the public standard account",
            "format": "int32",
            "example": 1010
          },
          "Name": {
            "minLength": 1,
            "type": "string",
            "description": "Human friendly name of the account",
            "example": "Sales of specific goods with VAT"
          },
          "VatCode": {
            "minLength": 1,
            "type": "string",
            "description": "Vat code for the selected account number. The value should be an existing VAT code e.g. U25, I25, UVC, KUNS etc.\nThe account VAT type can be suppressed by providing the value \"none\"",
            "example": "U25"
          }
        },
        "additionalProperties": false,
        "description": "Model for creating a new ledger item"
      },
      "AccountingYearReadModel": {
        "required": [
          "SalarySumTaxStateEnum"
        ],
        "type": "object",
        "properties": {
          "Name": {
            "type": [
              "null",
              "string"
            ],
            "description": "Accounting year name",
            "example": "2022"
          },
          "FromDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "Accounting Year Start date",
            "example": "2022-01-01"
          },
          "ToDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "Accounting Year End data",
            "example": "2022-12-31"
          },
          "SalarySumTaxStateEnum": {
            "description": "If an organization is Salary sum tax (danish lønsum) or not",
            "$ref": "#/components/schemas/SalarySumTaxStateEnum"
          }
        },
        "additionalProperties": false,
        "description": "Accounting Year"
      },
      "AddressPlacement": {
        "enum": [
          "Right",
          "Left"
        ],
        "type": "string",
        "description": "Determine where the address is placed"
      },
      "ApiMailoutModel": {
        "required": [
          "ShouldAddTrustPilotEmailAsBcc"
        ],
        "type": "object",
        "properties": {
          "Timestamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional timestamp of version.\nIf given validate that you got the latest version.\nThis can be used to ensure that the voucher has not been changed since you last fetched it.\nDefaults to latest version.",
            "example": "00000000020A5EA8"
          },
          "Sender": {
            "type": [
              "null",
              "string"
            ],
            "description": "Sender email. Defaults to organization email if left empty.",
            "example": "my@company-email.dk"
          },
          "CcToSender": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Set to true, if copy should be send to sender. Defaults to false.",
            "example": true
          },
          "Receiver": {
            "type": [
              "null",
              "string"
            ],
            "description": "Receiver email. Defaults to contact email if left empty. If left empty, the contact needs to have an email, otherwise it will cause a bad request.\nFor multiple receivers a comma separated list is also allowed. Fx 'customer@dinero.dk,extrareceiver@dinero.dk'",
            "example": "my@customer-email.dk"
          },
          "Subject": {
            "type": [
              "null",
              "string"
            ],
            "description": "The subject of the email. Defaults to '{Type} {Number}' (according to the selected invoice language). Fx 'Invoice 3', 'Credit note 4' or 'Offer 12'.",
            "example": "Email subject."
          },
          "Message": {
            "type": [
              "null",
              "string"
            ],
            "description": "Body of the email. If set, then it must contain the tag: [link-to-pdf], so that a link to the pdf can be included.\nIf left empty, defaults to template created in dinero.",
            "example": "Here is my personal text. Be sure to include a link tag! Link to PDF: [link-to-pdf]"
          },
          "AddVoucherAsPdfAttachment": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Defaults to invoice settings (Fakturaindstillinger > Standard udsendelses-indstillinger). If true, the voucher will be attached to the email as pdf.",
            "example": true
          },
          "ShouldAddTrustPilotEmailAsBcc": {
            "type": "boolean",
            "description": "Defaults to false. Determines if TrustPilotEmail should be added as BCC or not.",
            "example": true
          }
        },
        "additionalProperties": false,
        "description": "Model for sending an email for an invoice."
      },
      "ApiMailoutModelV2": {
        "required": [
          "SendAsSms",
          "ShouldAddTrustPilotEmailAsBcc"
        ],
        "type": "object",
        "properties": {
          "SendAsSms": {
            "type": "boolean",
            "description": "Indicates whether to send an SMS aswell as the email, SmsReceiverPhoneNumber must be set, and content cannot be more than 1000 characters, and must not include links"
          },
          "SmsReceiverPhoneNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Phone number of the receiver, only phone numbers from Denmark, The Faroe Islands, and Greenland are allowed"
          },
          "Timestamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional timestamp of version.\nIf given validate that you got the latest version.\nThis can be used to ensure that the voucher has not been changed since you last fetched it.\nDefaults to latest version.",
            "example": "00000000020A5EA8"
          },
          "Sender": {
            "type": [
              "null",
              "string"
            ],
            "description": "Sender email. Defaults to organization email if left empty.",
            "example": "my@company-email.dk"
          },
          "CcToSender": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Set to true, if copy should be send to sender. Defaults to false.",
            "example": true
          },
          "Receiver": {
            "type": [
              "null",
              "string"
            ],
            "description": "Receiver email. Defaults to contact email if left empty. If left empty, the contact needs to have an email, otherwise it will cause a bad request.\nFor multiple receivers a comma separated list is also allowed. Fx 'customer@dinero.dk,extrareceiver@dinero.dk'",
            "example": "my@customer-email.dk"
          },
          "Subject": {
            "type": [
              "null",
              "string"
            ],
            "description": "The subject of the email. Defaults to '{Type} {Number}' (according to the selected invoice language). Fx 'Invoice 3', 'Credit note 4' or 'Offer 12'.",
            "example": "Email subject."
          },
          "Message": {
            "type": [
              "null",
              "string"
            ],
            "description": "Body of the email. If set, then it must contain the tag: [link-to-pdf], so that a link to the pdf can be included.\nIf left empty, defaults to template created in dinero.",
            "example": "Here is my personal text. Be sure to include a link tag! Link to PDF: [link-to-pdf]"
          },
          "AddVoucherAsPdfAttachment": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Defaults to invoice settings (Fakturaindstillinger > Standard udsendelses-indstillinger). If true, the voucher will be attached to the email as pdf.",
            "example": true
          },
          "ShouldAddTrustPilotEmailAsBcc": {
            "type": "boolean",
            "description": "Defaults to false. Determines if TrustPilotEmail should be added as BCC or not.",
            "example": true
          }
        },
        "additionalProperties": false,
        "description": "Model for sending an email for an invoice."
      },
      "AuthorizationViewModel": {
        "type": "object",
        "properties": {
          "AuthUrl": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "BalanceReportApiModel": {
        "required": [
          "AccountNumber",
          "Amount"
        ],
        "type": "object",
        "properties": {
          "AccountName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Account name",
            "example": "Omsætning"
          },
          "AccountNumber": {
            "type": "integer",
            "description": "Account number",
            "format": "int32",
            "example": 1300
          },
          "Amount": {
            "type": "number",
            "description": "Total amount",
            "format": "double",
            "example": 0.0
          }
        },
        "additionalProperties": false,
        "description": "A line in the balance report (balance): an asset or liability account and its total."
      },
      "BookModel": {
        "required": [
          "Timestamp"
        ],
        "type": "object",
        "properties": {
          "Number": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Optional. If specified, the voucher will be created with this number. If the number is already taken the booking of the voucher will fail.",
            "format": "int64",
            "example": 42
          },
          "Timestamp": {
            "minLength": 1,
            "type": "string",
            "description": "Timestamp to validate against. This is a safety measure to ensure that an API partner is only making changes to the latest version of the entity.\nThe timestamp is generated on Dinero's server every time the entity is updated, and is returned as a part of CreatedResponse and UpdatedResponse. It's also available on the entity itself.\nIf you get a timestamp outdated exception (error code 58), you will need to get the latest version of the entity and use its timestamp.",
            "example": "00000000020A5EA8"
          }
        },
        "additionalProperties": false,
        "description": "Timestamp container"
      },
      "CompanyTypeCodeViewModel": {
        "type": "object",
        "properties": {
          "Key": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "ContactCreateModel": {
        "required": [
          "CountryKey",
          "IsMember",
          "IsPerson",
          "Name",
          "UseCvr"
        ],
        "type": "object",
        "properties": {
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional guid for the contact. If not set the system will create a guid returned in the response.",
            "format": "uuid"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebShopID:42"
          },
          "Name": {
            "minLength": 1,
            "type": "string",
            "description": "Name of the contact person or the company name",
            "example": "John Doe"
          },
          "Street": {
            "type": [
              "null",
              "string"
            ],
            "description": "Street name",
            "example": "Main road 42"
          },
          "ZipCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "Zip code",
            "example": "2300"
          },
          "City": {
            "type": [
              "null",
              "string"
            ],
            "description": "City",
            "example": "Copenhagen S"
          },
          "CountryKey": {
            "minLength": 1,
            "type": "string",
            "description": "Country key\nTwo character string e.g. DK for Denmark, DE for Germany or SE for Sweden",
            "example": "DK"
          },
          "Phone": {
            "type": [
              "null",
              "string"
            ],
            "description": "Phone number",
            "example": "+45 99 99 99 99"
          },
          "Email": {
            "type": [
              "null",
              "string"
            ],
            "description": "Email address",
            "example": "test@test.com"
          },
          "Webpage": {
            "type": [
              "null",
              "string"
            ],
            "description": "Webpage address",
            "example": "test.com"
          },
          "AttPerson": {
            "type": [
              "null",
              "string"
            ],
            "description": "Name of the att. person in cases here the contact is a company. If IsPerson this should be NULL.",
            "example": "Jane Doe"
          },
          "VatNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "VAT number. If IsPerson this should be NULL.\nThis can be used for digital invoicing.",
            "example": "12345674"
          },
          "EanNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "EAN number. This number is used for digital invoicing. If IsPerson this should be NULL.",
            "example": "1111000022223"
          },
          "SENumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "SE number. The number is used for digital invoicing. If IsPerson this should be NULL.",
            "example": "12345678"
          },
          "PNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "P number. The number is used for digital invoicing. If IsPerson this should be NULL.",
            "example": "1234567890"
          },
          "PaymentConditionType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Type of the payment condition for the contact. Netto, NettoCash or CurrentMonthOut. If NettoCash, then PaymentConditionNumberOfDays should be null. Defaults to type specified in voucher settings.",
            "example": "Netto"
          },
          "PaymentConditionNumberOfDays": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Number of days for payment for the contact. E.g. that the contact has 7 days until\npayment has to be made. This field depends on PaymentConditionType. If left empty, defaults to the number of days specified in voucher settings.",
            "format": "int32",
            "example": 8
          },
          "IsPerson": {
            "type": "boolean",
            "description": "Boolean to indicate whether the contact is a private person or a company. If true, the contact is a person.",
            "example": false
          },
          "IsMember": {
            "type": "boolean",
            "description": "Boolean to indicate whether the contact is a member. If true, the contact is a member else a private person of a company depending on IsPerson.\nOnly usable by unions.",
            "example": false
          },
          "MemberNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "A membership number used if the contact is a member.\nOnly usable by unions.",
            "example": "A-123"
          },
          "UseCvr": {
            "type": "boolean",
            "description": "Boolean to indicate whether the contacts name and address should be updated with data from CVR.",
            "example": false
          },
          "CompanyTypeKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "String with the key of the company type. The following keys are allowed: EmptyCompanyType,\nSoleProprietorship, PrivateLimitedCompany, PublicLimitedCompany, GeneralPartnership,\nLimitedPartnership, LimitedLiabilityCooperative, LimitedLiabilityVoluntaryAssociation,\nLimitedLiabilityCompany, EntreprenurLimitedCompany, Union, VoluntaryUnion, SmallPersonallyOwnedCompany,\nTrustFund and Others.",
            "example": "PrivateLimitedCompany"
          },
          "InvoiceMailOutOptionKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Preferred e-invoicing method.\nThe possible values are:\nVAT (cvr-nummer), GLN (ean- / gln-nummer), SE (se-nummer), P (p-nummer) and null if the contact is not a company or if nothing is preferred.\nEach field requires that the selected mail out number is present - e.g. vat number should be present when InvoiceMailOutOptionKey is set to VAT.",
            "example": "VAT, GLN, SE, P, null "
          },
          "PreferredInvoiceLanguageKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Preferred language for invoices sent to this contact.\nThis is used to determine which language template to use when generating invoices.",
            "example": "da, en, de, sv, no"
          },
          "PreferredInvoiceCurrencyKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Preferred currency for invoices sent to this contact.\nThis is used to determine which currency to use when generating invoices.",
            "example": "DKK, EUR, USD, SEK, NOK"
          }
        },
        "additionalProperties": false,
        "description": "Contact information for either a contact person or a company"
      },
      "ContactCreatedResult": {
        "required": [
          "ContactGuid"
        ],
        "type": "object",
        "properties": {
          "ContactGuid": {
            "type": "string",
            "description": "The guid of the contact",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "The response of succesfull contact creation"
      },
      "ContactNoteCreateModel": {
        "required": [
          "Text"
        ],
        "type": "object",
        "properties": {
          "Text": {
            "minLength": 1,
            "type": "string",
            "description": "The body text of the note"
          }
        },
        "additionalProperties": false,
        "description": "Note on a contact"
      },
      "ContactNoteReadModel": {
        "required": [
          "Id",
          "NoteDate",
          "Text"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Guid of the note",
            "format": "uuid"
          },
          "NoteDate": {
            "type": "string",
            "description": "Date of which the note was created",
            "format": "date-time"
          },
          "AuthorName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Name of the author of the note"
          },
          "AuthorEmail": {
            "type": [
              "null",
              "string"
            ],
            "description": "Email of the author of the note"
          },
          "CreatedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time at which the note was created",
            "format": "date-time"
          },
          "UpdatedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time at which the note was last updated",
            "format": "date-time"
          },
          "DeletedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time at which the note as deleted",
            "format": "date-time"
          },
          "Text": {
            "minLength": 1,
            "type": "string",
            "description": "The body text of the note"
          }
        },
        "additionalProperties": false,
        "description": "Note on a contact"
      },
      "ContactNoteReadModelDineroCollection": {
        "required": [
          "Pagination"
        ],
        "type": "object",
        "properties": {
          "Collection": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Note on a contact",
              "$ref": "#/components/schemas/ContactNoteReadModel"
            },
            "description": "Collection containing the result of the request."
          },
          "Pagination": {
            "description": "Pagination information.",
            "$ref": "#/components/schemas/PaginationDetails"
          }
        },
        "additionalProperties": false,
        "description": "Generic paged result returned by the Dinero public API list endpoints."
      },
      "ContactNoteUpdateModel": {
        "required": [
          "Text"
        ],
        "type": "object",
        "properties": {
          "Text": {
            "minLength": 1,
            "type": "string",
            "description": "The body text of the note"
          }
        },
        "additionalProperties": false,
        "description": "Note on a contact"
      },
      "ContactReadModel": {
        "required": [
          "ContactGuid",
          "CountryKey",
          "IsCreditor",
          "IsDebitor",
          "IsMember",
          "IsPerson",
          "Name",
          "UseCvr"
        ],
        "type": "object",
        "properties": {
          "ContactGuid": {
            "type": "string",
            "description": "Our Guid",
            "format": "uuid"
          },
          "CreatedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time at which the Contact was created",
            "format": "date-time"
          },
          "UpdatedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time at which the Contact was last updated",
            "format": "date-time"
          },
          "DeletedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time at which the Contact was deleted",
            "format": "date-time"
          },
          "IsDebitor": {
            "type": "boolean",
            "description": "Is the contact a debitor"
          },
          "IsCreditor": {
            "type": "boolean",
            "description": "Is the contact a creditor"
          },
          "CompanyStatus": {
            "type": [
              "null",
              "string"
            ],
            "description": "Possible values are unknown, normal, active, withoutLegalEffect, underVoluntaryLiquidation, duringReconstruction, underBankruptcy, underCompulsoryResolution,\ndissolvedAfterBankruptcy, forciblyDissolved, dissolvedAfterVoluntaryLiquidation, dissolvedAfterDeclaration, underReassumption, deleted, dissolved,\ndissolvedAfterFusion, dissolvedAfterDemerger, underCreation, dissolvedAfterOfficeBorderRelocation, dissolvedAfterOfficeBorderFusion and ceasedTrading"
          },
          "VatRegionKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "The country of the contact is placed in this region.\nDifferent danish VAT rules apply in these regions.\nPossible values are DK, EU and World."
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebShopID:42"
          },
          "Name": {
            "minLength": 1,
            "type": "string",
            "description": "Name of the contact person or the company name",
            "example": "John Doe"
          },
          "Street": {
            "type": [
              "null",
              "string"
            ],
            "description": "Street name",
            "example": "Main road 42"
          },
          "ZipCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "Zip code",
            "example": "2300"
          },
          "City": {
            "type": [
              "null",
              "string"
            ],
            "description": "City",
            "example": "Copenhagen S"
          },
          "CountryKey": {
            "minLength": 1,
            "type": "string",
            "description": "Country key\nTwo character string e.g. DK for Denmark, DE for Germany or SE for Sweden",
            "example": "DK"
          },
          "Phone": {
            "type": [
              "null",
              "string"
            ],
            "description": "Phone number",
            "example": "+45 99 99 99 99"
          },
          "Email": {
            "type": [
              "null",
              "string"
            ],
            "description": "Email address",
            "example": "test@test.com"
          },
          "Webpage": {
            "type": [
              "null",
              "string"
            ],
            "description": "Webpage address",
            "example": "test.com"
          },
          "AttPerson": {
            "type": [
              "null",
              "string"
            ],
            "description": "Name of the att. person in cases here the contact is a company. If IsPerson this should be NULL.",
            "example": "Jane Doe"
          },
          "VatNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "VAT number. If IsPerson this should be NULL.\nThis can be used for digital invoicing.",
            "example": "12345674"
          },
          "EanNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "EAN number. This number is used for digital invoicing. If IsPerson this should be NULL.",
            "example": "1111000022223"
          },
          "SENumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "SE number. The number is used for digital invoicing. If IsPerson this should be NULL.",
            "example": "12345678"
          },
          "PNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "P number. The number is used for digital invoicing. If IsPerson this should be NULL.",
            "example": "1234567890"
          },
          "PaymentConditionType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Type of the payment condition for the contact. Netto, NettoCash or CurrentMonthOut. If NettoCash, then PaymentConditionNumberOfDays should be null. Defaults to type specified in voucher settings.",
            "example": "Netto"
          },
          "PaymentConditionNumberOfDays": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Number of days for payment for the contact. E.g. that the contact has 7 days until\npayment has to be made. This field depends on PaymentConditionType. If left empty, defaults to the number of days specified in voucher settings.",
            "format": "int32",
            "example": 8
          },
          "IsPerson": {
            "type": "boolean",
            "description": "Boolean to indicate whether the contact is a private person or a company. If true, the contact is a person.",
            "example": false
          },
          "IsMember": {
            "type": "boolean",
            "description": "Boolean to indicate whether the contact is a member. If true, the contact is a member else a private person of a company depending on IsPerson.\nOnly usable by unions.",
            "example": false
          },
          "MemberNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "A membership number used if the contact is a member.\nOnly usable by unions.",
            "example": "A-123"
          },
          "UseCvr": {
            "type": "boolean",
            "description": "Boolean to indicate whether the contacts name and address should be updated with data from CVR.",
            "example": false
          },
          "CompanyTypeKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "String with the key of the company type. The following keys are allowed: EmptyCompanyType,\nSoleProprietorship, PrivateLimitedCompany, PublicLimitedCompany, GeneralPartnership,\nLimitedPartnership, LimitedLiabilityCooperative, LimitedLiabilityVoluntaryAssociation,\nLimitedLiabilityCompany, EntreprenurLimitedCompany, Union, VoluntaryUnion, SmallPersonallyOwnedCompany,\nTrustFund and Others.",
            "example": "PrivateLimitedCompany"
          },
          "InvoiceMailOutOptionKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Preferred e-invoicing method.\nThe possible values are:\nVAT (cvr-nummer), GLN (ean- / gln-nummer), SE (se-nummer), P (p-nummer) and null if the contact is not a company or if nothing is preferred.\nEach field requires that the selected mail out number is present - e.g. vat number should be present when InvoiceMailOutOptionKey is set to VAT.",
            "example": "VAT, GLN, SE, P, null "
          },
          "PreferredInvoiceLanguageKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Preferred language for invoices sent to this contact.\nThis is used to determine which language template to use when generating invoices.",
            "example": "da, en, de, sv, no"
          },
          "PreferredInvoiceCurrencyKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Preferred currency for invoices sent to this contact.\nThis is used to determine which currency to use when generating invoices.",
            "example": "DKK, EUR, USD, SEK, NOK"
          }
        },
        "additionalProperties": false,
        "description": "Contact information for either a contact person or a company"
      },
      "ContactReadModelDineroCollection": {
        "required": [
          "Pagination"
        ],
        "type": "object",
        "properties": {
          "Collection": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Contact information for either a contact person or a company",
              "$ref": "#/components/schemas/ContactReadModel"
            },
            "description": "Collection containing the result of the request."
          },
          "Pagination": {
            "description": "Pagination information.",
            "$ref": "#/components/schemas/PaginationDetails"
          }
        },
        "additionalProperties": false,
        "description": "Generic paged result returned by the Dinero public API list endpoints."
      },
      "ContactStateOfAccount": {
        "required": [
          "ContactGuid",
          "Expenses",
          "Income"
        ],
        "type": "object",
        "properties": {
          "ContactGuid": {
            "type": "string",
            "description": "Unique identifier for the contact",
            "format": "uuid"
          },
          "Income": {
            "type": "number",
            "description": "Summed income",
            "format": "double"
          },
          "Expenses": {
            "type": "number",
            "description": "Summed expenses",
            "format": "double"
          },
          "Entries": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Information about an entry in a state of account",
              "$ref": "#/components/schemas/ContactStateOfAccountEntry"
            },
            "description": "List of entries related to the contact in the period"
          }
        },
        "additionalProperties": false,
        "description": "State of account for a contact"
      },
      "ContactStateOfAccountEntry": {
        "required": [
          "Amount",
          "Balance",
          "Date",
          "RelatedVoucherGuid"
        ],
        "type": "object",
        "properties": {
          "RelatedVoucherGuid": {
            "type": "string",
            "description": "Unique identifier of the voucher related to the entry",
            "format": "uuid"
          },
          "RelatedVoucherNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "The number of the related voucher"
          },
          "Date": {
            "type": "string",
            "description": "Date of the entry",
            "format": "date-time"
          },
          "DecayDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The payment day of a related voucher or asset payment.",
            "format": "date-time"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "Description of the entry"
          },
          "Type": {
            "type": [
              "null",
              "string"
            ],
            "description": "Type of the entry"
          },
          "Amount": {
            "type": "number",
            "description": "The amount of the entry in DKK",
            "format": "double"
          },
          "Balance": {
            "type": "number",
            "description": "The balance of the state of account after the entry",
            "format": "double"
          },
          "Status": {
            "type": [
              "null",
              "string"
            ],
            "description": "Status of the entry (open, closed, unknown)"
          },
          "RelatedVoucherCategory": {
            "type": [
              "null",
              "string"
            ],
            "description": "Category of the related voucher (sales, purchases, manual, notSet)"
          },
          "RelatedVoucherClass": {
            "type": [
              "null",
              "string"
            ],
            "description": "Class of the related voucher (invoice, cash, creditnote, voucher, notSet)"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "Currency key. Etc DKK, EUR, USD"
          }
        },
        "additionalProperties": false,
        "description": "Information about an entry in a state of account"
      },
      "ContactStateOfAccountMailoutModel": {
        "required": [
          "CCToSender",
          "HideClosed"
        ],
        "type": "object",
        "properties": {
          "Sender": {
            "type": [
              "null",
              "string"
            ],
            "description": "Sender email, defaults to the organization email if null."
          },
          "CCToSender": {
            "type": "boolean",
            "description": "CC the email to sender"
          },
          "Receiver": {
            "type": [
              "null",
              "string"
            ],
            "description": "Receivers email"
          },
          "Subject": {
            "type": [
              "null",
              "string"
            ],
            "description": "Subject of the email"
          },
          "Message": {
            "type": [
              "null",
              "string"
            ],
            "description": "Body of the email"
          },
          "From": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional start date for which to calculate state of account",
            "format": "date-time"
          },
          "To": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional end date from which to calculate state of account",
            "format": "date-time"
          },
          "HideClosed": {
            "type": "boolean",
            "description": "Hide closed entries from state of account"
          }
        },
        "additionalProperties": false
      },
      "ContactUpdateModel": {
        "required": [
          "CountryKey",
          "IsMember",
          "IsPerson",
          "Name",
          "UseCvr"
        ],
        "type": "object",
        "properties": {
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebShopID:42"
          },
          "Name": {
            "minLength": 1,
            "type": "string",
            "description": "Name of the contact person or the company name",
            "example": "John Doe"
          },
          "Street": {
            "type": [
              "null",
              "string"
            ],
            "description": "Street name",
            "example": "Main road 42"
          },
          "ZipCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "Zip code",
            "example": "2300"
          },
          "City": {
            "type": [
              "null",
              "string"
            ],
            "description": "City",
            "example": "Copenhagen S"
          },
          "CountryKey": {
            "minLength": 1,
            "type": "string",
            "description": "Country key\nTwo character string e.g. DK for Denmark, DE for Germany or SE for Sweden",
            "example": "DK"
          },
          "Phone": {
            "type": [
              "null",
              "string"
            ],
            "description": "Phone number",
            "example": "+45 99 99 99 99"
          },
          "Email": {
            "type": [
              "null",
              "string"
            ],
            "description": "Email address",
            "example": "test@test.com"
          },
          "Webpage": {
            "type": [
              "null",
              "string"
            ],
            "description": "Webpage address",
            "example": "test.com"
          },
          "AttPerson": {
            "type": [
              "null",
              "string"
            ],
            "description": "Name of the att. person in cases here the contact is a company. If IsPerson this should be NULL.",
            "example": "Jane Doe"
          },
          "VatNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "VAT number. If IsPerson this should be NULL.\nThis can be used for digital invoicing.",
            "example": "12345674"
          },
          "EanNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "EAN number. This number is used for digital invoicing. If IsPerson this should be NULL.",
            "example": "1111000022223"
          },
          "SENumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "SE number. The number is used for digital invoicing. If IsPerson this should be NULL.",
            "example": "12345678"
          },
          "PNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "P number. The number is used for digital invoicing. If IsPerson this should be NULL.",
            "example": "1234567890"
          },
          "PaymentConditionType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Type of the payment condition for the contact. Netto, NettoCash or CurrentMonthOut. If NettoCash, then PaymentConditionNumberOfDays should be null. Defaults to type specified in voucher settings.",
            "example": "Netto"
          },
          "PaymentConditionNumberOfDays": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Number of days for payment for the contact. E.g. that the contact has 7 days until\npayment has to be made. This field depends on PaymentConditionType. If left empty, defaults to the number of days specified in voucher settings.",
            "format": "int32",
            "example": 8
          },
          "IsPerson": {
            "type": "boolean",
            "description": "Boolean to indicate whether the contact is a private person or a company. If true, the contact is a person.",
            "example": false
          },
          "IsMember": {
            "type": "boolean",
            "description": "Boolean to indicate whether the contact is a member. If true, the contact is a member else a private person of a company depending on IsPerson.\nOnly usable by unions.",
            "example": false
          },
          "MemberNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "A membership number used if the contact is a member.\nOnly usable by unions.",
            "example": "A-123"
          },
          "UseCvr": {
            "type": "boolean",
            "description": "Boolean to indicate whether the contacts name and address should be updated with data from CVR.",
            "example": false
          },
          "CompanyTypeKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "String with the key of the company type. The following keys are allowed: EmptyCompanyType,\nSoleProprietorship, PrivateLimitedCompany, PublicLimitedCompany, GeneralPartnership,\nLimitedPartnership, LimitedLiabilityCooperative, LimitedLiabilityVoluntaryAssociation,\nLimitedLiabilityCompany, EntreprenurLimitedCompany, Union, VoluntaryUnion, SmallPersonallyOwnedCompany,\nTrustFund and Others.",
            "example": "PrivateLimitedCompany"
          },
          "InvoiceMailOutOptionKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Preferred e-invoicing method.\nThe possible values are:\nVAT (cvr-nummer), GLN (ean- / gln-nummer), SE (se-nummer), P (p-nummer) and null if the contact is not a company or if nothing is preferred.\nEach field requires that the selected mail out number is present - e.g. vat number should be present when InvoiceMailOutOptionKey is set to VAT.",
            "example": "VAT, GLN, SE, P, null "
          },
          "PreferredInvoiceLanguageKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Preferred language for invoices sent to this contact.\nThis is used to determine which language template to use when generating invoices.",
            "example": "da, en, de, sv, no"
          },
          "PreferredInvoiceCurrencyKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Preferred currency for invoices sent to this contact.\nThis is used to determine which currency to use when generating invoices.",
            "example": "DKK, EUR, USD, SEK, NOK"
          }
        },
        "additionalProperties": false,
        "description": "Contact information for either a contact person or a company"
      },
      "CountryModel": {
        "required": [
          "DanishName",
          "EnglishName",
          "Key"
        ],
        "type": "object",
        "properties": {
          "Key": {
            "minLength": 1,
            "type": "string",
            "readOnly": true
          },
          "DanishName": {
            "minLength": 1,
            "type": "string",
            "readOnly": true
          },
          "EnglishName": {
            "minLength": 1,
            "type": "string",
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "CreateAccountingYearInputModel": {
        "required": [
          "End",
          "Start"
        ],
        "type": "object",
        "properties": {
          "Start": {
            "type": "string",
            "description": "Represents the start date of an accounting year.",
            "format": "date-time"
          },
          "End": {
            "type": "string",
            "description": "Represents the end date of the accounting year.",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CreateMonthlyBusinessGoalRequest": {
        "required": [
          "Income",
          "Month",
          "Result",
          "Year"
        ],
        "type": "object",
        "properties": {
          "Month": {
            "type": "integer",
            "format": "int32"
          },
          "Year": {
            "type": "integer",
            "format": "int32"
          },
          "Result": {
            "type": "number",
            "format": "double"
          },
          "Income": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "CreateYearlyBusinessGoalRequest": {
        "type": "object",
        "properties": {
          "MonthlyGoals": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CreateMonthlyBusinessGoalRequest"
            }
          }
        },
        "additionalProperties": false
      },
      "CreatedPaymentResponse": {
        "required": [
          "Guid"
        ],
        "type": "object",
        "properties": {
          "Guid": {
            "type": "string",
            "description": "The guid of the payment",
            "format": "uuid"
          },
          "TimeStamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "Timestamp of version of the invoice. To avoid concurrency issues.",
            "example": "00000000020A5EA8"
          },
          "RelatedVoucherGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "For VoucherPayments this is the guid of the related voucher, i.e. of the\nvoucher that was booked for the payment (not to be confused with the entity -\ne.g. an invoice - that this is a payment for).",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "The response of succesfull creation"
      },
      "CreatedResponseModel": {
        "required": [
          "Guid"
        ],
        "type": "object",
        "properties": {
          "Guid": {
            "type": "string",
            "description": "The guid of the created object.",
            "format": "uuid"
          },
          "TimeStamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "Timestamp of the version, to avoid concurrency issues on subsequent updates.",
            "example": "00000000020A5EA8"
          }
        },
        "additionalProperties": false,
        "description": "The response returned by the public API when an object has been successfully created."
      },
      "CreditNoteForPurchaseVoucherRequest": {
        "required": [
          "Timestamp"
        ],
        "type": "object",
        "properties": {
          "Timestamp": {
            "description": "Optional timestamp.",
            "$ref": "#/components/schemas/TimestampObject"
          },
          "VoucherDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional datetime for giving the voucher date of the credit - if no value is given it defaults to today.",
            "format": "date-time"
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional id of the file associated with the purchase credit note.",
            "example": "web0crmck5v0ndcx3313g6zn61tc7wgc"
          }
        },
        "additionalProperties": false,
        "description": "Request body for generating a credit note for a purchase voucher."
      },
      "DateRangeViewModel": {
        "type": "object",
        "properties": {
          "Start": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "End": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "DeletedPaymentResponse": {
        "type": "object",
        "properties": {
          "TimeStamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "Timestamp of version of the invoice. To avoid concurrency issues.",
            "example": "00000000020A5EA8"
          }
        },
        "additionalProperties": false,
        "description": "The response of succesfull deletion"
      },
      "DepositAccountReadModel": {
        "required": [
          "AccountNumber",
          "IsDefault",
          "IsHidden"
        ],
        "type": "object",
        "properties": {
          "AccountNumber": {
            "type": "integer",
            "description": "Account number e.g. 1000 or 55000",
            "format": "int32",
            "example": 55100
          },
          "PublicStandardNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Account number mapped to the public standard account",
            "format": "int32",
            "example": 1010
          },
          "Name": {
            "type": [
              "null",
              "string"
            ],
            "description": "Name of the account",
            "example": "My New Bankaccount"
          },
          "IsDefault": {
            "type": "boolean",
            "description": "Indicates whether or not the deposit account is selected as default deposit account in company settings",
            "example": true
          },
          "IsHidden": {
            "type": "boolean",
            "description": "Indicates whether or not the deposit account is hidden in the chart of accounts",
            "example": false
          },
          "BankRegistrationNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Deposit account bank registration number",
            "example": "1234"
          },
          "BankAccountNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Deposit account bank account number",
            "example": "123456789"
          },
          "BankSwiftNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Deposit account bank swift number",
            "example": "DK123456789"
          },
          "BankIbanNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Deposit account bank iban number",
            "example": "DK123456789"
          }
        },
        "additionalProperties": false,
        "description": "Represents a single deposit account within the chart of accounts"
      },
      "DepositCreateModel": {
        "required": [
          "Name",
          "Number"
        ],
        "type": "object",
        "properties": {
          "Number": {
            "type": "integer",
            "description": "Account number",
            "format": "int32",
            "example": 55100
          },
          "PublicStandardNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Account number mapped to the public standard account",
            "format": "int32",
            "example": 1010
          },
          "Name": {
            "minLength": 1,
            "type": "string",
            "description": "Human friendly name of the account",
            "example": "My new bankaccount"
          },
          "RegistrationNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Bank registration number",
            "example": "9999"
          },
          "AccountNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Bank account number",
            "example": "1234567890"
          },
          "SwiftNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Swift number/code",
            "example": "AAAABBCC123"
          },
          "IbanNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "IBAN number of the account"
          }
        },
        "additionalProperties": false
      },
      "DocumentAttachmentReadModel": {
        "required": [
          "DocumentId",
          "OrganizationId"
        ],
        "type": "object",
        "properties": {
          "OrganizationId": {
            "type": "integer",
            "description": "The ID of the organization",
            "format": "int32",
            "example": 42
          },
          "DocumentId": {
            "type": "string",
            "description": "Guid of invoice, trade-offer or credit-note",
            "format": "uuid"
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Attachment Guid",
            "example": "panzc3nx4hkg74wzfk4lzhuiofv8bpud"
          },
          "FileName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Attachment name",
            "example": "attachment-01.pdf"
          }
        },
        "additionalProperties": false
      },
      "EInvoiceSendModel": {
        "required": [
          "PaymentMeanEnum"
        ],
        "type": "object",
        "properties": {
          "OrderReference": {
            "type": [
              "null",
              "string"
            ],
            "description": "Order reference supplied for electronic invoice and/or creditnote"
          },
          "AttPerson": {
            "type": [
              "null",
              "string"
            ],
            "description": "Name of the att. person in company. If the parameter is specified here, it will overwrite the contacts att person."
          },
          "Timestamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "Timestamp to validate against. This is a safety measure to ensure that an API partner is only making changes to the latest version of the entity.\nThe timestamp is generated on Dinero's server every time the entity is updated, and is returned as a part of CreatedResponse and UpdatedResponse. It's also available on the entity itself.\nIf you get a timestamp outdated exception (error code 58), you will need to get the latest version of the entity and use its timestamp.\nWhen sending electronic invoices, the timestamp is optional",
            "example": "00000000020A5EA8"
          },
          "PaymentMeanEnum": {
            "description": "Enum representing different payment means.\nBy default, the payment mean is set to Dinero.Domains.ElectronicInvoicing.Communication.Models.PaymentMean.Domestic.",
            "$ref": "#/components/schemas/PaymentMean"
          }
        },
        "additionalProperties": false,
        "description": "Model containing parameters needed to send electronic invoice and/or creditnote"
      },
      "EReminderSendModel": {
        "required": [
          "PaymentMeanEnum"
        ],
        "type": "object",
        "properties": {
          "AttPerson": {
            "type": [
              "null",
              "string"
            ],
            "description": "Name of the att. person in company. If the parameter is specified here, it will overwrite the contacts att person."
          },
          "Timestamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "Timestamp to validate against. This is a safety measure to ensure that an API partner is only making changes to the latest version of the entity.\nThe timestamp is generated on Dinero's server every time the entity is updated, and is returned as a part of CreatedResponse and UpdatedResponse. It's also available on the entity itself.\nIf you get a timestamp outdated exception (error code 58), you will need to get the latest version of the entity and use its timestamp.\nWhen sending electronic invoices, the timestamp is optional",
            "example": "00000000020A5EA8"
          },
          "PaymentMeanEnum": {
            "description": "Enum representing different payment means.\nBy default, the payment mean is set to Dinero.Domains.ElectronicInvoicing.Communication.Models.PaymentMean.Domestic.",
            "$ref": "#/components/schemas/PaymentMean"
          }
        },
        "additionalProperties": false,
        "description": "Model containing parameters needed to send electronic reminders"
      },
      "EanReminderModel": {
        "required": [
          "PaymentMeanEnum"
        ],
        "type": "object",
        "properties": {
          "AttPerson": {
            "type": [
              "null",
              "string"
            ],
            "description": "Name of the att. person in cases here the contact is a company. If the parameter is specified here, it will overwrite the contacts att person."
          },
          "Timestamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "Timestamp to validate against. This is a safety measure to ensure that an API partner is only making changes to the latest version of the entity.\nThe timestamp is generated on Dinero's server every time the entity is updated, and is returned as a part of CreatedResponse and UpdatedResponse. It's also available on the entity itself.\nIf you get a timestamp outdated exception (error code 58), you will need to get the latest version of the entity and use its timestamp.\nWhen sending EAN invoices, the timestamp is optional",
            "example": "00000000020A5EA8"
          },
          "ReceiverEanNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Receiver EAN Number"
          },
          "PaymentMeanEnum": {
            "description": "Enum representing different payment means.\nBy default, the payment mean is set to Dinero.Domains.ElectronicInvoicing.Communication.Models.PaymentMean.Domestic.",
            "$ref": "#/components/schemas/PaymentMean"
          }
        },
        "additionalProperties": false,
        "description": "Model containing parameters needed to send EAN reminders"
      },
      "ElectronicInvoiceSendStatus": {
        "enum": [
          "DineroCanSend",
          "ChildCanSend",
          "CannotSend",
          "ValidateWithPeppol"
        ],
        "type": "string"
      },
      "ElectronicInvoiceSendStatusResult": {
        "required": [
          "ElectronicInvoiceSendStatus"
        ],
        "type": "object",
        "properties": {
          "ElectronicInvoiceSendStatus": {
            "$ref": "#/components/schemas/ElectronicInvoiceSendStatus"
          }
        },
        "additionalProperties": false
      },
      "EmailRecipientModel": {
        "type": "object",
        "properties": {
          "Email": {
            "type": [
              "null",
              "string"
            ],
            "description": "Email of the recipient.",
            "example": "test@dinero.dk"
          }
        },
        "additionalProperties": false,
        "description": "Information about the recipient of an email."
      },
      "EmailSentModel": {
        "type": "object",
        "properties": {
          "Recipients": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Information about the recipient of an email.",
              "$ref": "#/components/schemas/EmailRecipientModel"
            },
            "description": "List of recipients."
          }
        },
        "additionalProperties": false,
        "description": "Information about the send email."
      },
      "EndDatesRequestModel": {
        "required": [
          "StartDate"
        ],
        "type": "object",
        "properties": {
          "StartDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "EntryAccountReadModel": {
        "required": [
          "AccountNumber",
          "IsDefaultSalesAccount",
          "IsHidden"
        ],
        "type": "object",
        "properties": {
          "AccountNumber": {
            "type": "integer",
            "description": "Account number e.g. 1000 or 55000",
            "format": "int32",
            "example": 2020
          },
          "PublicStandardNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Account number mapped to the public standard account",
            "format": "int32",
            "example": 1010
          },
          "Name": {
            "type": [
              "null",
              "string"
            ],
            "description": "Name of the account",
            "example": "Purchase of specific goods"
          },
          "VatCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "The VAT code for the entry account's VAT type. Usually U25 for sales and I25 for purchases.",
            "example": "I25"
          },
          "Category": {
            "type": [
              "null",
              "string"
            ],
            "description": "Possible categories: Turnover, Variable Expenses, Salary, Sales Expenses, Property Expenses, Administration Expenses,\nTravel Expenses, Depreciation, Interest Income, Interest Expenses, Property, Turnover Assets, Financial Assets, Receivables,\nLiquid Assets, Equity, Long Term Debt, Short Term Debt, Vat Due, Salary Due, Analysis, Not Set, Tax, Charge, IntangibleProperty"
          },
          "CategoryName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Danish display name of the Cateogry"
          },
          "IsHidden": {
            "type": "boolean",
            "description": "Indicates if the account is hidden, and should not be used"
          },
          "IsDefaultSalesAccount": {
            "type": "boolean",
            "description": "Indicates if this is the default account"
          }
        },
        "additionalProperties": false,
        "description": "Represents a single account within the chart of accounts"
      },
      "EntryReadModel": {
        "required": [
          "AccountNumber",
          "Amount"
        ],
        "type": "object",
        "properties": {
          "AccountNumber": {
            "type": "integer",
            "description": "Account number",
            "format": "int32",
            "example": 7300
          },
          "AccountName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Account name",
            "example": "Internet og webhotel"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date",
            "example": "2022-05-16"
          },
          "VoucherNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Voucher number",
            "format": "int64",
            "example": 27
          },
          "VoucherGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Guid identifying the voucher this entry belongs to, if any. Entries sharing a voucher share this guid.\nFor manual and purchase vouchers it can also be used to fetch the voucher; other voucher types are not\nindividually fetchable. To reach the attached file, prefer Dinero.PublicApi.Shared.ReadModels.EntryReadModel.FileGuid directly.",
            "format": "uuid",
            "example": "b9e5b9b0-1d6e-4d7e-9c0a-8b7f6c5d4e3a"
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Identifier of the file (receipt/attachment) on this entry's voucher, if any. Pass it as the\n`fileGuid` route parameter to `GET /files/{fileGuid}` to fetch the file.",
            "example": "d29f89bf-4148-4573-a24e-4578266a572d"
          },
          "VoucherType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Voucher type",
            "example": "Purchases"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "Description",
            "example": "#Hjemmeside"
          },
          "VatType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Vat type",
            "example": "Dansk købsmoms"
          },
          "VatCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "Vat code",
            "example": "I25"
          },
          "Amount": {
            "type": "number",
            "description": "Amount",
            "format": "double",
            "example": 1000
          },
          "EntryGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Amount",
            "format": "uuid",
            "example": "d29f89bf-4148-4573-a24e-4578266a572d"
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Guid of the contact",
            "format": "uuid",
            "example": "74ba828f-0b4b-49e1-b5c9-ef9675755556"
          },
          "Type": {
            "type": [
              "null",
              "string"
            ],
            "description": "Type of entry, can be Normal, Primo, or Ultimo",
            "example": "Normal"
          }
        },
        "additionalProperties": false,
        "description": "Accounting Entry"
      },
      "FileFilter": {
        "enum": [
          "All",
          "WithFile",
          "WithoutFile"
        ],
        "type": "string"
      },
      "FileLinkReadModel": {
        "required": [
          "VoucherGuid",
          "VoucherId"
        ],
        "type": "object",
        "properties": {
          "VoucherId": {
            "type": "integer",
            "description": "The numeric id of the linked voucher.",
            "format": "int32",
            "example": 42
          },
          "VoucherGuid": {
            "type": "string",
            "description": "The guid of the linked voucher.",
            "format": "uuid",
            "example": "74ba828f-0b4b-49e1-b5c9-ef9675755556"
          },
          "LinkedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "When the file was linked to the voucher."
          }
        },
        "additionalProperties": false,
        "description": "A link between a file and the voucher it is attached to."
      },
      "FileSavedReadModel": {
        "type": "object",
        "properties": {
          "FileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "The guid of the posted file",
            "example": "web0crmck5v0ndcx3313g6zn61tc7wgc"
          }
        },
        "additionalProperties": false,
        "description": "Read model for a file posted to the server."
      },
      "FileStatus": {
        "enum": [
          "All",
          "Unused",
          "Used"
        ],
        "type": "string"
      },
      "FilteredFileReadModel": {
        "required": [
          "Size",
          "UploadedAt"
        ],
        "type": "object",
        "properties": {
          "FileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "The guid of the file.",
            "example": "74ba828f-0b4b-49e1-b5c9-ef9675755556"
          },
          "Name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The file name.",
            "example": "receipt.pdf"
          },
          "Extension": {
            "type": [
              "null",
              "string"
            ],
            "description": "The file extension.",
            "example": "pdf"
          },
          "Size": {
            "type": "integer",
            "description": "File size in bytes.",
            "format": "int64",
            "example": 20480
          },
          "UploadedAt": {
            "type": "string",
            "description": "When the file was uploaded.",
            "format": "date-time"
          },
          "Note": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied note on the file."
          },
          "NumberOfPages": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Number of pages in the file, when known.",
            "format": "int32",
            "example": 2
          },
          "Linked": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "A link between a file and the voucher it is attached to.",
              "$ref": "#/components/schemas/FileLinkReadModel"
            },
            "description": "The vouchers this file is linked to."
          },
          "UploadedBy": {
            "type": [
              "null",
              "string"
            ],
            "description": "Name of the user who uploaded the file."
          }
        },
        "additionalProperties": false,
        "description": "A file in the organization's file archive, with the vouchers it is linked to."
      },
      "FindSimilarVoucherResponse": {
        "required": [
          "SimilarFound"
        ],
        "type": "object",
        "properties": {
          "SimilarFound": {
            "type": "boolean"
          },
          "Id": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "VoucherNumber": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          }
        },
        "additionalProperties": false
      },
      "IntegrationViewModel": {
        "required": [
          "IsActive"
        ],
        "type": "object",
        "properties": {
          "Key": {
            "type": [
              "null",
              "string"
            ]
          },
          "Name": {
            "type": [
              "null",
              "string"
            ]
          },
          "IsActive": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "InvoiceCreateFetchModel": {
        "required": [
          "ProductLines"
        ],
        "type": "object",
        "properties": {
          "PaymentConditionNumberOfDays": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Number of days until payment deadline. If PaymentConditionNumberOfDays AND PaymentConditionType is left empty they will default to the contacts default payment conditions.",
            "format": "int32",
            "example": 8
          },
          "PaymentConditionType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Type of payment condition. Valid types are: Netto, NettoCash, CurrentMonthOut, or Paid. Note that if you use NettoCash or Paid, PaymentConditionNumberOfDays should be null.",
            "example": "Netto"
          },
          "ReminderFee": {
            "type": [
              "null",
              "number"
            ],
            "description": "Reminder fee for any reminders created from the invoice. Should be nonnegative and at most 100. Will use default sales voucher setting if left empty.",
            "format": "double",
            "example": 100
          },
          "ReminderInterestRate": {
            "type": [
              "null",
              "number"
            ],
            "description": "Reminder interest rate for any reminders created from the invoice. Should be nonnegative and at most 100. Will use default sales voucher setting if left empty.",
            "format": "double",
            "example": 0.70
          },
          "IsMobilePayInvoiceEnabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether MobilePay Invoice should be enabled for this invoice."
          },
          "IsPensoPayEnabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether PensoPay should be enabled for this invoice."
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Dinero contact guid. Optional for creating a draft, required for booking.",
            "format": "uuid"
          },
          "Guid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional guid for the object. If not set the system will create a guid returned in the response.",
            "format": "uuid",
            "example": "3a315ad3-ddcc-419d-9fc5-219280ae4816"
          },
          "ShowLinesInclVat": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "If your user (or your system) prefers to provide the line amounts incl. VAT, then this property should be set to true. All voucher lines will be assumed to have amounts incl VAT.\nIf your lines are excl VAT, you do not need to set this property. It will defaults to false.",
            "example": false
          },
          "InvoiceTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Template id to use for design. If null, the default one will be used.",
            "format": "uuid"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the voucher. Defaults to DKK if null. Dinero will assign days date currency rate for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Language": {
            "type": [
              "null",
              "string"
            ],
            "description": "The language to be used in the voucher. Available languages are 'da-DK' and 'en-GB'. Defaults to 'da-DK'.",
            "example": "en-GB"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebshopSpecialId: 42"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied description of the voucher e.g. 'Custom Invoice description'. Defaults to document type e.g. 'Invoice', 'Offer', 'Creditnote' using the selected language.",
            "example": "Description of document type. Fx.: invoice, credit note or offer"
          },
          "Comment": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment on the voucher",
            "example": "Here is a comment"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the creation/issuing. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "ProductLines": {
            "type": "array",
            "items": {
              "description": "Model for a line on a invoice",
              "$ref": "#/components/schemas/InvoiceLinesCreateModel"
            },
            "description": "User supplied invoice lines. Minimum one."
          },
          "Address": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact address (linebreaks are allowed '\\n'). When null is specified the address defaults to the contacts address.",
            "example": "Test Road 3 2300 Copenhagen S Denmark"
          }
        },
        "additionalProperties": false,
        "description": "Model for fetching a sales voucher."
      },
      "InvoiceCreateModel": {
        "required": [
          "ProductLines"
        ],
        "type": "object",
        "properties": {
          "PaymentConditionNumberOfDays": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Number of days until payment deadline. If PaymentConditionNumberOfDays AND PaymentConditionType is left empty they will default to the contacts default payment conditions.",
            "format": "int32",
            "example": 8
          },
          "PaymentConditionType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Type of payment condition. Valid types are: Netto, NettoCash, CurrentMonthOut, or Paid. Note that if you use NettoCash or Paid, PaymentConditionNumberOfDays should be null.",
            "example": "Netto"
          },
          "ReminderFee": {
            "type": [
              "null",
              "number"
            ],
            "description": "Reminder fee for any reminders created from the invoice. Should be nonnegative and at most 100. Will use default sales voucher setting if left empty.",
            "format": "double",
            "example": 100
          },
          "ReminderInterestRate": {
            "type": [
              "null",
              "number"
            ],
            "description": "Reminder interest rate for any reminders created from the invoice. Should be nonnegative and at most 100. Will use default sales voucher setting if left empty.",
            "format": "double",
            "example": 0.70
          },
          "IsMobilePayInvoiceEnabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether MobilePay Invoice should be enabled for this invoice."
          },
          "IsPensoPayEnabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether PensoPay should be enabled for this invoice."
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Dinero contact guid. Optional for creating a draft, required for booking.",
            "format": "uuid"
          },
          "Guid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional guid for the object. If not set the system will create a guid returned in the response.",
            "format": "uuid",
            "example": "3a315ad3-ddcc-419d-9fc5-219280ae4816"
          },
          "ShowLinesInclVat": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "If your user (or your system) prefers to provide the line amounts incl. VAT, then this property should be set to true. All voucher lines will be assumed to have amounts incl VAT.\nIf your lines are excl VAT, you do not need to set this property. It will defaults to false.",
            "example": false
          },
          "InvoiceTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Template id to use for design. If null, the default one will be used.",
            "format": "uuid"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the voucher. Defaults to DKK if null. Dinero will assign days date currency rate for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Language": {
            "type": [
              "null",
              "string"
            ],
            "description": "The language to be used in the voucher. Available languages are 'da-DK' and 'en-GB'. Defaults to 'da-DK'.",
            "example": "en-GB"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebshopSpecialId: 42"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied description of the voucher e.g. 'Custom Invoice description'. Defaults to document type e.g. 'Invoice', 'Offer', 'Creditnote' using the selected language.",
            "example": "Description of document type. Fx.: invoice, credit note or offer"
          },
          "Comment": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment on the voucher",
            "example": "Here is a comment"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the creation/issuing. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "ProductLines": {
            "type": "array",
            "items": {
              "description": "Model for a line on a invoice",
              "$ref": "#/components/schemas/InvoiceLinesCreateModel"
            },
            "description": "User supplied invoice lines. Minimum one."
          },
          "Address": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact address (linebreaks are allowed '\\n'). When null is specified the address defaults to the contacts address.",
            "example": "Test Road 3 2300 Copenhagen S Denmark"
          }
        },
        "additionalProperties": false,
        "description": "Model for creating a sales voucher"
      },
      "InvoiceFetchReadModel": {
        "required": [
          "CanEnableMobilePayInvoice",
          "CanEnablePensoPay",
          "Number",
          "PaymentConditionNumberOfDays",
          "ProductLines",
          "ShowLinesInclVat",
          "TotalExclVat",
          "TotalInclVat",
          "TotalNonVatableAmount",
          "TotalVat",
          "TotalVatableAmount"
        ],
        "type": "object",
        "properties": {
          "PaymentDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The invoice's payment date. This should be in the format YYYY-MM-DD e.g. 2015-12-02",
            "example": "2022-06-01"
          },
          "PaymentConditionNumberOfDays": {
            "type": "integer",
            "description": "Number of days until payment deadline.",
            "format": "int32",
            "example": 8
          },
          "PaymentConditionType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Type of payment condition. Valid types are: Netto, NettoCash, CurrentMonthOut. \nNote that if you use NettoCash, PaymentConditionNumberOfDays should be zero.",
            "example": "Netto"
          },
          "CanEnableMobilePayInvoice": {
            "type": "boolean",
            "description": "Whether MobilePay Invoice can be enabled for this invoice"
          },
          "CanEnablePensoPay": {
            "type": "boolean"
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Dinero contact guid.",
            "format": "uuid"
          },
          "Number": {
            "type": "integer",
            "description": "The number of the voucher.",
            "format": "int64",
            "example": 12
          },
          "ContactName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact name",
            "example": "My Customer"
          },
          "ShowLinesInclVat": {
            "type": "boolean",
            "description": "If true, the user prefers the invoice to be displayed with lines incl vat.",
            "example": false
          },
          "TotalExclVat": {
            "type": "number",
            "description": "Total amount without vat",
            "format": "double",
            "example": 200
          },
          "TotalVatableAmount": {
            "type": "number",
            "description": "Total amount to calculate the vat from",
            "format": "double",
            "example": 200
          },
          "TotalInclVat": {
            "type": "number",
            "description": "Total amount incl. vat",
            "format": "double",
            "example": 250
          },
          "TotalNonVatableAmount": {
            "type": "number",
            "description": "Total vat free amount",
            "format": "double",
            "example": 0
          },
          "TotalVat": {
            "type": "number",
            "description": "Total vat amount",
            "format": "double",
            "example": 50
          },
          "TotalLines": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Total line",
              "$ref": "#/components/schemas/TotalLine"
            },
            "description": "Total lines. SubTotal, Vat and Total. Only lines valid for display in the current context are returned."
          },
          "InvoiceTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Template id to use for design.",
            "format": "uuid"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the voucher. Defaults to DKK if null. Dinero will assign days date currency rate for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Language": {
            "type": [
              "null",
              "string"
            ],
            "description": "The language to be used in the voucher. Available languages are 'da-DK' and 'en-GB'. Defaults to 'da-DK'.",
            "example": "en-GB"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebshopSpecialId: 42"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied description of the voucher e.g. 'Custom Invoice description'. Defaults to document type e.g. 'Invoice', 'Offer', 'Creditnote' using the selected language.",
            "example": "Description of document type. Fx.: invoice, credit note or offer"
          },
          "Comment": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment on the voucher",
            "example": "Here is a comment"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the creation/issuing. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "ProductLines": {
            "type": "array",
            "items": {
              "description": "A single line on a sales invoice. Concrete so the payload can be deserialized.",
              "$ref": "#/components/schemas/InvoiceLinesReadModel"
            },
            "description": "User supplied invoice lines. Minimum one."
          },
          "Address": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact address (linebreaks are allowed '\\n'). When null is specified the address defaults to the contacts address.",
            "example": "Test Road 3 2300 Copenhagen S Denmark"
          }
        },
        "additionalProperties": false,
        "description": "Represent a invoice"
      },
      "InvoiceLinesCreateModel": {
        "required": [
          "AccountNumber",
          "BaseAmountValue",
          "Discount",
          "Quantity"
        ],
        "type": "object",
        "properties": {
          "BaseAmountValue": {
            "type": "number",
            "description": "Base amount. As default without VAT. If you want to use amounts incl vat, the setting 'ShowLinesInclVat' should be set to true on the voucher containing the lines.",
            "format": "double",
            "example": 20.0
          },
          "ProductGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "The guid of product. If product guid is set, description should be null.",
            "format": "uuid"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "A description of the product. If no ProductGuid, this field is required.\nThis field will always have a value on the read model, even if a ProductGuid is set.",
            "example": "Flowers"
          },
          "Comments": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment",
            "example": "Smells good"
          },
          "Quantity": {
            "type": "number",
            "description": "Quantity",
            "format": "double",
            "example": 5.0
          },
          "AccountNumber": {
            "type": "integer",
            "description": "Account number",
            "format": "int32",
            "example": 1000
          },
          "Unit": {
            "type": [
              "null",
              "string"
            ],
            "description": "Product unit. Required when LineType = Product. Available unit types: hours, parts, km, day, week, month, kilogram, cubicMetre, set, litre, box, case, carton, metre, package, shipment, squareMetre, session, tonne.",
            "example": "parts"
          },
          "Discount": {
            "type": "number",
            "description": "Discount for the current line. Specified in percentage from 0 to 100.",
            "format": "double",
            "example": 10.0
          },
          "LineType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Type. Either Product or Text line.\n Text is used for creating bold lines only with text displayed, these lines are purely visual and have no effect on the voucher.\nText lines should only contain a description.\nProduct lines are the actual lines of the invoice used for accounting and total calculations.\nWhen an invoice or credit note is sent as an electronic invoice, only its product lines are included. Text lines are left out entirely: their text appears on the invoice PDF, which is not part of the electronic invoice.\nInformation that has to reach the recipient of an electronic invoice belongs in the voucher's Description or Comment instead, as both are written to the note on the electronic invoice.",
            "example": "Product"
          }
        },
        "additionalProperties": false,
        "description": "Model for a line on a invoice"
      },
      "InvoiceLinesReadModel": {
        "required": [
          "AccountNumber",
          "BaseAmountValue",
          "BaseAmountValueInclVat",
          "Discount",
          "Quantity",
          "TotalAmount",
          "TotalAmountInclVat"
        ],
        "type": "object",
        "properties": {
          "AccountName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Name of the Account",
            "example": "Bank"
          },
          "BaseAmountValue": {
            "type": "number",
            "description": "Amount excl. VAT",
            "format": "double",
            "example": 20.0
          },
          "BaseAmountValueInclVat": {
            "type": "number",
            "description": "Base amount incl. VAT",
            "format": "double",
            "example": 25.0
          },
          "TotalAmount": {
            "type": "number",
            "description": "Total of the line excl VAT",
            "format": "double",
            "example": 100.0
          },
          "TotalAmountInclVat": {
            "type": "number",
            "description": "Total of the line incl VAT",
            "format": "double",
            "example": 125.0
          },
          "ProductGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "The guid of product. If product guid is set, description should be null.",
            "format": "uuid"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "A description of the product. If no ProductGuid, this field is required.\nThis field will always have a value on the read model, even if a ProductGuid is set.",
            "example": "Flowers"
          },
          "Comments": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment",
            "example": "Smells good"
          },
          "Quantity": {
            "type": "number",
            "description": "Quantity",
            "format": "double",
            "example": 5.0
          },
          "AccountNumber": {
            "type": "integer",
            "description": "Account number",
            "format": "int32",
            "example": 1000
          },
          "Unit": {
            "type": [
              "null",
              "string"
            ],
            "description": "Product unit. Required when LineType = Product. Available unit types: hours, parts, km, day, week, month, kilogram, cubicMetre, set, litre, box, case, carton, metre, package, shipment, squareMetre, session, tonne.",
            "example": "parts"
          },
          "Discount": {
            "type": "number",
            "description": "Discount for the current line. Specified in percentage from 0 to 100.",
            "format": "double",
            "example": 10.0
          },
          "LineType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Type. Either Product or Text line.\n Text is used for creating bold lines only with text displayed, these lines are purely visual and have no effect on the voucher.\nText lines should only contain a description.\nProduct lines are the actual lines of the invoice used for accounting and total calculations.\nWhen an invoice or credit note is sent as an electronic invoice, only its product lines are included. Text lines are left out entirely: their text appears on the invoice PDF, which is not part of the electronic invoice.\nInformation that has to reach the recipient of an electronic invoice belongs in the voucher's Description or Comment instead, as both are written to the note on the electronic invoice.",
            "example": "Product"
          }
        },
        "additionalProperties": false,
        "description": "A single line on a sales invoice. Concrete so the payload can be deserialized."
      },
      "InvoicePaymentsModel": {
        "required": [
          "InvoiceTotalIncludingReminderExpenses",
          "PaidAmount",
          "RemainderAsFeeAvailable",
          "RemainingAmount"
        ],
        "type": "object",
        "properties": {
          "Payments": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Model for a payment",
              "$ref": "#/components/schemas/PaymentReadModel"
            },
            "description": "List of payments"
          },
          "RemainingAmount": {
            "type": "number",
            "description": "The remaining amount to be paid. Might be negative if the invoice is overpaid.",
            "format": "double",
            "example": 0.0
          },
          "PaidAmount": {
            "type": "number",
            "description": "The sum of the registered payments on the invoice.",
            "format": "double",
            "example": 1000.0
          },
          "InvoiceTotalIncludingReminderExpenses": {
            "type": "number",
            "description": "The total amount of the invoice, including reminder fees, if any.",
            "format": "double",
            "example": 1000.0
          },
          "RemainderAsFeeAvailable": {
            "type": "boolean",
            "description": "Tells if the remainder can be used as a fee",
            "example": false
          }
        },
        "additionalProperties": false,
        "description": "Model for invoice payments"
      },
      "InvoiceReadModel": {
        "required": [
          "Guid",
          "IsMobilePayInvoiceEnabled",
          "IsPensoPayEnabled",
          "IsSentToDebtCollection",
          "Number",
          "PaymentConditionNumberOfDays",
          "ProductLines",
          "ShowLinesInclVat",
          "TotalExclVat",
          "TotalInclVat",
          "TotalNonVatableAmount",
          "TotalVat",
          "TotalVatableAmount"
        ],
        "type": "object",
        "properties": {
          "PaymentDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The invoice's payment date. This should be in the format YYYY-MM-DD e.g. 2021-12-02.",
            "example": "2022-06-01"
          },
          "PaymentStatus": {
            "type": [
              "null",
              "string"
            ],
            "description": "An invoice can have payment status Draft, Booked, Paid, OverPaid or Overdue.",
            "example": "Overdue"
          },
          "PaymentConditionNumberOfDays": {
            "type": "integer",
            "description": "Number of days until payment deadline.",
            "format": "int32",
            "example": 8
          },
          "PaymentConditionType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Type of payment condition. Valid types are: Netto, NettoCash, CurrentMonthOut.\nNote that if you use NettoCash, PaymentConditionNumberOfDays should be zero.",
            "example": "Netto"
          },
          "FikCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "FIK code (Fælles Indbetalings Kort).",
            "example": "+71000000016460909+12345678"
          },
          "DepositAccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The deposit account to register payments on.",
            "format": "int32",
            "example": 55000
          },
          "MailOutStatus": {
            "type": [
              "null",
              "string"
            ],
            "description": "The mailout can have following status:\nNotSent, Sent or SeenByCustomer, Failed.\nSeenByCustomer, means the user has clicked on the link in the mailout and viewed the sales voucher.\nAny type of mailout (email, reminder, pre-reminder, e-invoice), will change the status from NotSent to Sent.",
            "example": "Sent, NotSent, Failed, SeenByCustomer"
          },
          "LatestMailOutType": {
            "type": [
              "null",
              "string"
            ],
            "description": "The mailout category can have following values:\nEinvoice, ElectronicInvoiceReminder, Inkasso, Mailout, OrderConfirmation, PreReminder, Reminder, TradeOffer, None.",
            "example": "einvoice"
          },
          "IsSentToDebtCollection": {
            "type": "boolean",
            "description": "Whether the invoice has been sent to debt collection, i.e. at least one of the sent reminders contains a debt collection warning."
          },
          "IsMobilePayInvoiceEnabled": {
            "type": "boolean",
            "description": "Whether MobilePay Invoice has been enabled for the invoice."
          },
          "IsPensoPayEnabled": {
            "type": "boolean",
            "description": "Whether PensoPay has been enabled for the invoice."
          },
          "Status": {
            "type": [
              "null",
              "string"
            ],
            "description": "A sales voucher can have status Draft or Booked.",
            "example": "Draft"
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Dinero contact guid.",
            "format": "uuid"
          },
          "Guid": {
            "type": "string",
            "description": "The guid of the voucher",
            "format": "uuid"
          },
          "TimeStamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "Timestamp of version. To avoid concurrency issues.",
            "example": "00000000020A5EA8"
          },
          "CreatedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time of creation",
            "format": "date-time"
          },
          "UpdatedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time of last update",
            "format": "date-time"
          },
          "DeletedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time of deletion. Null unless the object is deleted.",
            "format": "date-time"
          },
          "Number": {
            "type": "integer",
            "description": "The number of the voucher.",
            "format": "int64",
            "example": 12
          },
          "ContactName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact name",
            "example": "My Customer"
          },
          "ShowLinesInclVat": {
            "type": "boolean",
            "description": "If true, the user prefers the invoice to be displayed with lines incl vat.",
            "example": false
          },
          "TotalExclVat": {
            "type": "number",
            "description": "Total amount without vat",
            "format": "double",
            "example": 200
          },
          "TotalVatableAmount": {
            "type": "number",
            "description": "Total amount to calculate the vat from",
            "format": "double",
            "example": 200
          },
          "TotalInclVat": {
            "type": "number",
            "description": "Total amount incl. vat",
            "format": "double",
            "example": 250
          },
          "TotalNonVatableAmount": {
            "type": "number",
            "description": "Total vat free amount",
            "format": "double",
            "example": 0
          },
          "TotalVat": {
            "type": "number",
            "description": "Total vat amount",
            "format": "double",
            "example": 50
          },
          "TotalLines": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Total line",
              "$ref": "#/components/schemas/TotalLine"
            },
            "description": "Total lines. SubTotal, Vat and Total. Only lines valid for display in the current context are returned."
          },
          "InvoiceTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Template id to use for design.",
            "format": "uuid"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the voucher. Defaults to DKK if null. Dinero will assign days date currency rate for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Language": {
            "type": [
              "null",
              "string"
            ],
            "description": "The language to be used in the voucher. Available languages are 'da-DK' and 'en-GB'. Defaults to 'da-DK'.",
            "example": "en-GB"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebshopSpecialId: 42"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied description of the voucher e.g. 'Custom Invoice description'. Defaults to document type e.g. 'Invoice', 'Offer', 'Creditnote' using the selected language.",
            "example": "Description of document type. Fx.: invoice, credit note or offer"
          },
          "Comment": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment on the voucher",
            "example": "Here is a comment"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the creation/issuing. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "ProductLines": {
            "type": "array",
            "items": {
              "description": "A single line on a sales invoice. Concrete so the payload can be deserialized.",
              "$ref": "#/components/schemas/InvoiceLinesReadModel"
            },
            "description": "User supplied invoice lines. Minimum one."
          },
          "Address": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact address (linebreaks are allowed '\\n'). When null is specified the address defaults to the contacts address.",
            "example": "Test Road 3 2300 Copenhagen S Denmark"
          }
        },
        "additionalProperties": false,
        "description": "Represents a sales invoice (faktura)."
      },
      "InvoiceTemplateModel": {
        "required": [
          "AddressPlacement",
          "Id",
          "IsDefault",
          "LogoType",
          "MaxImageWidthMm",
          "ShowCompanyInfo",
          "ShowLineQuantity",
          "ShowLineUnit",
          "ShowLogo",
          "ShowPaymentConditions",
          "Theme"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "Id of the template",
            "format": "uuid"
          },
          "Name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The name to identify the template"
          },
          "IsDefault": {
            "type": "boolean",
            "description": "Is true for the default template"
          },
          "Theme": {
            "description": "Invoice theme",
            "$ref": "#/components/schemas/InvoiceTheme"
          },
          "PrimaryColor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Primary color used in theme"
          },
          "SecondaryColor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Secondary color used in theme"
          },
          "AddressPlacement": {
            "description": "Indicates where the address is placed",
            "$ref": "#/components/schemas/AddressPlacement"
          },
          "Font": {
            "type": [
              "null",
              "string"
            ],
            "description": "Font used for template"
          },
          "LogoType": {
            "description": "Specifies what kind of logo type is used",
            "$ref": "#/components/schemas/LogoType"
          },
          "LogoText": {
            "type": [
              "null",
              "string"
            ],
            "description": "Logo text"
          },
          "LogoFileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "File guid for logo"
          },
          "MaxImageWidthMm": {
            "type": "integer",
            "description": "Max width for logo",
            "format": "int32"
          },
          "ShowCompanyInfo": {
            "type": "boolean",
            "description": "Show company info on template"
          },
          "ShowPaymentConditions": {
            "type": "boolean",
            "description": "Show payment conditions on template"
          },
          "ShowLogo": {
            "type": "boolean",
            "description": "Show logo on template"
          },
          "ShowLineQuantity": {
            "type": "boolean",
            "description": "Show line quantity on template"
          },
          "ShowLineUnit": {
            "type": "boolean",
            "description": "Show line unit on template"
          },
          "ImageFileUploadGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "File guid for image. Can be used for background and header"
          },
          "ImageTextColor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Text color on image"
          }
        },
        "additionalProperties": false,
        "description": "Model for invoice templates"
      },
      "InvoiceTheme": {
        "enum": [
          "DineroStarter",
          "Standard",
          "Massive",
          "TopImage",
          "BackgroundImage",
          "Box"
        ],
        "type": "string",
        "description": "Possible themes for templates"
      },
      "InvoiceUpdateModel": {
        "required": [
          "ProductLines",
          "Timestamp"
        ],
        "type": "object",
        "properties": {
          "Timestamp": {
            "minLength": 1,
            "type": "string",
            "description": "Version of the invoice"
          },
          "PaymentConditionNumberOfDays": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Number of days until payment deadline. If PaymentConditionNumberOfDays AND PaymentConditionType is left empty they will default to the contacts default payment conditions.",
            "format": "int32",
            "example": 8
          },
          "PaymentConditionType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Type of payment condition. Valid types are: Netto, NettoCash, CurrentMonthOut, or Paid. Note that if you use NettoCash or Paid, PaymentConditionNumberOfDays should be null.",
            "example": "Netto"
          },
          "ReminderFee": {
            "type": [
              "null",
              "number"
            ],
            "description": "Reminder fee for any reminders created from the invoice. Should be nonnegative and at most 100. Will use default sales voucher setting if left empty.",
            "format": "double",
            "example": 100
          },
          "ReminderInterestRate": {
            "type": [
              "null",
              "number"
            ],
            "description": "Reminder interest rate for any reminders created from the invoice. Should be nonnegative and at most 100. Will use default sales voucher setting if left empty.",
            "format": "double",
            "example": 0.70
          },
          "IsMobilePayInvoiceEnabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether MobilePay Invoice should be enabled for this invoice."
          },
          "IsPensoPayEnabled": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Indicates whether PensoPay should be enabled for this invoice."
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Dinero contact guid. Optional for creating a draft, required for booking.",
            "format": "uuid"
          },
          "Guid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional guid for the object. If not set the system will create a guid returned in the response.",
            "format": "uuid",
            "example": "3a315ad3-ddcc-419d-9fc5-219280ae4816"
          },
          "ShowLinesInclVat": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "If your user (or your system) prefers to provide the line amounts incl. VAT, then this property should be set to true. All voucher lines will be assumed to have amounts incl VAT.\nIf your lines are excl VAT, you do not need to set this property. It will defaults to false.",
            "example": false
          },
          "InvoiceTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Template id to use for design. If null, the default one will be used.",
            "format": "uuid"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the voucher. Defaults to DKK if null. Dinero will assign days date currency rate for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Language": {
            "type": [
              "null",
              "string"
            ],
            "description": "The language to be used in the voucher. Available languages are 'da-DK' and 'en-GB'. Defaults to 'da-DK'.",
            "example": "en-GB"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebshopSpecialId: 42"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied description of the voucher e.g. 'Custom Invoice description'. Defaults to document type e.g. 'Invoice', 'Offer', 'Creditnote' using the selected language.",
            "example": "Description of document type. Fx.: invoice, credit note or offer"
          },
          "Comment": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment on the voucher",
            "example": "Here is a comment"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the creation/issuing. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "ProductLines": {
            "type": "array",
            "items": {
              "description": "Model for a line on a invoice",
              "$ref": "#/components/schemas/InvoiceLinesCreateModel"
            },
            "description": "User supplied invoice lines. Minimum one."
          },
          "Address": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact address (linebreaks are allowed '\\n'). When null is specified the address defaults to the contacts address.",
            "example": "Test Road 3 2300 Copenhagen S Denmark"
          }
        },
        "additionalProperties": false,
        "description": "Model for updating a sales voucher"
      },
      "LedgerItemLineModelV2": {
        "type": "object",
        "properties": {
          "Id": {
            "type": [
              "null",
              "string"
            ],
            "description": "An optional unique identifier for ledger item lines.\nRequired when updating an existing ledger item line.\nMust be unique for each line.",
            "format": "uuid"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "Description of the ledger item.",
            "example": "Description"
          },
          "Amount": {
            "type": [
              "null",
              "number"
            ],
            "description": "The amount value for the ledger item. The amount is always in DKK and formatted as XXXX.YY e.g. 100.23, 202.00, 1.20 etc.",
            "format": "double",
            "example": -200.0
          },
          "AccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Account number e.g. 1000 or 55000.",
            "format": "int32",
            "example": 1000
          },
          "AccountVatCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "Vat code for the selected account number. The value should be an existing VAT code e.g. U25, I25, UVC, KUNS etc.\nThe account VAT type can be suppressed by providing the value \"none\". If set to NULL it defaults to the accounts default vat code, if the account has any.",
            "example": "U25"
          },
          "BalancingAccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Account number of the balancing account e.g. 1000 or 55000.",
            "format": "int32",
            "example": 55000
          },
          "BalancingAccountVatCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "Vat code for the selected balancing account number. The value should be an existing VAT code e.g. I25, UVC, KUNS etc.\nThe balancing account VAT type can be suppressed by providing the value \"none\". If set to NULL it defaults to the accounts default vat code, if the account has any."
          },
          "IsPaymentForVoucherId": {
            "type": [
              "null",
              "string"
            ],
            "description": "The id for a voucher for which this ledger item is a payment.\nIf this property has a value the AccountNumber cannot have a value.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "A single line within a ledger item (kassekladde) supplied when creating daybook entries (v1.2)."
      },
      "LedgerItemModel": {
        "required": [
          "Id"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "The unique identifier to identify a ledger item.",
            "format": "uuid"
          },
          "Version": {
            "type": [
              "null",
              "string"
            ],
            "description": "The version for the ledger item. To avoid concurrency issues.",
            "example": "AAAAAAYb0Eo1"
          }
        },
        "additionalProperties": false,
        "description": "Model for identifying a ledger item"
      },
      "LedgerItemModelV2": {
        "type": "object",
        "properties": {
          "Id": {
            "type": [
              "null",
              "string"
            ],
            "description": "An optional unique identifier for the ledger item.\nRequired when updating an existing ledger item.",
            "format": "uuid",
            "example": "bf453202-d755-4602-aae0-f79819fb7ef0"
          },
          "Version": {
            "type": [
              "null",
              "string"
            ],
            "description": "A required version number to identify the ledger item."
          },
          "VoucherNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The number of the voucher that will be created or updated.",
            "format": "int32"
          },
          "VoucherDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the voucher. This should be in the format yyyy-mm-dd e.g. 2015-12-02.",
            "example": "2022-05-13"
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "The guid of an uploaded file to connect to the purchase voucher, this\nwill typically be an image of the voucher.",
            "example": "web0crmck5v0ndcx3313g6zn61tc7wgc"
          },
          "Lines": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "A single line within a ledger item (kassekladde) supplied when creating daybook entries (v1.2).",
              "$ref": "#/components/schemas/LedgerItemLineModelV2"
            },
            "description": "The lines of the ledger item."
          }
        },
        "additionalProperties": false,
        "description": "Request item for adding lines to the daybook (kassekladde) via the public API (v1.2).\nA ledger item groups one or more balanced lines under a single voucher number."
      },
      "LedgerItemReadModel": {
        "required": [
          "Id"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "The unique identifier of the ledger item.",
            "format": "uuid"
          },
          "Version": {
            "type": [
              "null",
              "string"
            ],
            "description": "The version of the ledger item, to avoid concurrency issues on subsequent updates.",
            "example": "AAAAAAYb0Eo1"
          }
        },
        "additionalProperties": false,
        "description": "Model returned by the public API for a created/updated ledger item (kassekladde line group)."
      },
      "LedgerItemStatusModel": {
        "required": [
          "Id"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "string",
            "description": "The unique identifier to identify a ledger item.",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Model for identifying a ledger item"
      },
      "LedgerItemStatusReadModel": {
        "required": [
          "Id"
        ],
        "type": "object",
        "properties": {
          "Status": {
            "type": [
              "null",
              "string"
            ],
            "description": "Status for the ledger item. Possible values are Draft, PendingBooking and Booked.",
            "example": "Draft"
          },
          "VoucherNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The assigned voucher number. If `null`, no voucher number is assgined yet.",
            "format": "int64",
            "example": "1L"
          },
          "Id": {
            "type": "string",
            "description": "The unique identifier of the ledger item.",
            "format": "uuid"
          },
          "Version": {
            "type": [
              "null",
              "string"
            ],
            "description": "The version of the ledger item, to avoid concurrency issues on subsequent updates.",
            "example": "AAAAAAYb0Eo1"
          }
        },
        "additionalProperties": false,
        "description": "Model for the ledger item status"
      },
      "LogoType": {
        "enum": [
          "Image",
          "Letters"
        ],
        "type": "string",
        "description": "Type of logo for the template"
      },
      "MailoutTemplateReadModel": {
        "required": [
          "AddVoucherAsPdfAttachment"
        ],
        "type": "object",
        "properties": {
          "Sender": {
            "type": [
              "null",
              "string"
            ],
            "description": "Sender email. Defaults to organization email if left empty.",
            "example": "awesome@dinero.dk"
          },
          "Receiver": {
            "type": [
              "null",
              "string"
            ],
            "description": "Receiver email. Defaults to contact email if left empty. If left empty, the contact needs to have an email, otherwise it will cause a bad request.\nFor multiple receivers a comma separated list is also allowed. Fx 'customer@dinero.dk,extrareceiver@dinero.dk'",
            "example": "customer@dinero.dk"
          },
          "Subject": {
            "type": [
              "null",
              "string"
            ],
            "description": "The subject of the email. Defaults to '{Type} {Number}' (according to the selected invoice language). Fx 'Invoice 3', 'Credit note 4' or 'Offer 12'.",
            "example": "Email subject."
          },
          "Message": {
            "type": [
              "null",
              "string"
            ],
            "description": "Body of the email. If set, then it MUST contain the tag: [link-to-pdf], so that a link to the pdf can be included.\nIf left empty, defaults to template created in dinero.",
            "example": "Here is my personal text. Be sure to include a link tag! Link to PDF: [link-to-pdf]"
          },
          "AddVoucherAsPdfAttachment": {
            "type": "boolean",
            "description": "Defaults to invoice settings (Fakturaindstillinger > Standard udsendelses-indstillinger). If true, the voucher will be attached to the email as pdf.",
            "example": true
          }
        },
        "additionalProperties": false,
        "description": "Model for the template of the email for an invoice / creditnote / tradeoffer"
      },
      "MailoutTemplateReadModelV2": {
        "required": [
          "AddVoucherAsPdfAttachment",
          "SendAsSms"
        ],
        "type": "object",
        "properties": {
          "SendAsSms": {
            "type": "boolean"
          },
          "SmsReceiverPhoneNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "Sender": {
            "type": [
              "null",
              "string"
            ],
            "description": "Sender email. Defaults to organization email if left empty.",
            "example": "awesome@dinero.dk"
          },
          "Receiver": {
            "type": [
              "null",
              "string"
            ],
            "description": "Receiver email. Defaults to contact email if left empty. If left empty, the contact needs to have an email, otherwise it will cause a bad request.\nFor multiple receivers a comma separated list is also allowed. Fx 'customer@dinero.dk,extrareceiver@dinero.dk'",
            "example": "customer@dinero.dk"
          },
          "Subject": {
            "type": [
              "null",
              "string"
            ],
            "description": "The subject of the email. Defaults to '{Type} {Number}' (according to the selected invoice language). Fx 'Invoice 3', 'Credit note 4' or 'Offer 12'.",
            "example": "Email subject."
          },
          "Message": {
            "type": [
              "null",
              "string"
            ],
            "description": "Body of the email. If set, then it MUST contain the tag: [link-to-pdf], so that a link to the pdf can be included.\nIf left empty, defaults to template created in dinero.",
            "example": "Here is my personal text. Be sure to include a link tag! Link to PDF: [link-to-pdf]"
          },
          "AddVoucherAsPdfAttachment": {
            "type": "boolean",
            "description": "Defaults to invoice settings (Fakturaindstillinger > Standard udsendelses-indstillinger). If true, the voucher will be attached to the email as pdf.",
            "example": true
          }
        },
        "additionalProperties": false,
        "description": "V2 Model for the template of the email for an invoice / creditnote / tradeoffer"
      },
      "ManuelVoucherCreateModel": {
        "type": "object",
        "properties": {
          "VoucherDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the voucher",
            "example": "2022-05-14"
          },
          "Lines": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Write model for creating a new line in a manuel voucher",
              "$ref": "#/components/schemas/ManuelVoucherLineCreateModel"
            },
            "description": "The lines of the voucher"
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Guid of the file associated with the voucher, optional value",
            "example": "de0ed9ee-c187-4fd2-944c-fb6f6578df14"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "e.g. WebShopID:42"
          }
        },
        "additionalProperties": false,
        "description": "Model used to create a new manuel voucher"
      },
      "ManuelVoucherLineCreateModel": {
        "required": [
          "Amount"
        ],
        "type": "object",
        "properties": {
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "Description of the line",
            "example": "Køb af produkt"
          },
          "AccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The account number to book on",
            "format": "int32",
            "example": 55000
          },
          "BalancingAccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The account number to balance with",
            "format": "int32",
            "example": 2000
          },
          "Amount": {
            "type": "number",
            "description": "The amount of money in the line, amount should include VAT when VAT type is purchase and exclude VAT when VAT type is sale or the VAT type is foreign to Denmark",
            "format": "double",
            "example": 100
          },
          "AccountVatCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "Vat code for the selected account number. The value should be an existing VAT code e.g. I25, UVC, KUNS etc.\nThe account VAT type can be suppressed by providing the value \"none\". If set to NULL it defaults to the accounts default vat code, if the account has any.",
            "example": "NULL"
          },
          "BalancingAccountVatCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "Vat code for the selected balancing account number. The value should be an existing VAT code e.g. I25, UVC, KUNS etc.\nThe balancing account VAT type can be suppressed by providing the value \"none\". If set to NULL it defaults to the accounts default vat code, if the account has any.",
            "example": "I25"
          }
        },
        "additionalProperties": false,
        "description": "Write model for creating a new line in a manuel voucher"
      },
      "ManuelVoucherLineReadModel": {
        "required": [
          "AmountExclVatValue",
          "AmountInclVatValue",
          "VatAmountValue"
        ],
        "type": "object",
        "properties": {
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "Description of the line",
            "example": "Sale of things"
          },
          "AmountExclVatValue": {
            "type": "number",
            "description": "Amount on the line excluding VAT",
            "format": "double",
            "example": 80
          },
          "AmountInclVatValue": {
            "type": "number",
            "description": "Amount on the line including VAT",
            "format": "double",
            "example": 100
          },
          "VatAmountValue": {
            "type": "number",
            "description": "Amount in VAT on the line",
            "format": "double",
            "example": 20
          },
          "AccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The account number the line books on",
            "format": "int32",
            "example": 55000
          },
          "BalancingAccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The account number the line balances on",
            "format": "int32",
            "example": 1000
          },
          "AccountVatCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "Vat code for the selected account number. The value should be an existing VAT code e.g. I25, UVC, KUNS etc.\nThe account VAT type can be suppressed by providing the value \"none\". If set to NULL it defaults to the accounts default vat code, if the account has any.",
            "example": "NULL"
          },
          "BalancingAccountVatCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "Vat code for the selected balancing account number. The value should be an existing VAT code e.g. U25, I25, UVC, KUNS etc.\nThe balancing account VAT type can be suppressed by providing the value \"none\". If set to NULL it defaults to the accounts default vat code, if the account has any.",
            "example": "U25"
          },
          "CurrencyKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Currency of the line amount"
          },
          "AmountInForeignCurrency": {
            "type": [
              "null",
              "number"
            ],
            "description": "The amount in foreign currency for a manual voucher line.",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Read model for lines"
      },
      "ManuelVoucherReadModel": {
        "required": [
          "Guid",
          "TotalExclVat",
          "TotalInclVat"
        ],
        "type": "object",
        "properties": {
          "VoucherNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The vouchers number",
            "format": "int64",
            "example": 1
          },
          "VoucherDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date of the voucher",
            "example": "2022-09-02"
          },
          "TotalInclVat": {
            "type": "number",
            "description": "Obsolete",
            "format": "double",
            "example": 100
          },
          "TotalExclVat": {
            "type": "number",
            "description": "Obsolete",
            "format": "double",
            "example": 80
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Guid of the file associated with the voucher",
            "example": "687f0b3b-7de5-4a4c-b2bd-7b4b761bbf60s"
          },
          "Guid": {
            "type": "string",
            "description": "Guid of the voucher",
            "format": "uuid",
            "example": "69c2d72d-d3d2-401a-aa4d-b39ec4c8be26"
          },
          "CreditNoteFor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Id of the purchase voucher for which the manual voucher is a credit note.\nA manual voucher can only be a credit note in the case where it\nis a credit note for a cash purchase voucher. In this case the manual voucher\nmight be called a PurchaseCreditNoteCash (as contrasted to the more normal\nPruchaseCreditNote which might be a credit note for a purchase invoice).",
            "format": "uuid"
          },
          "Status": {
            "type": [
              "null",
              "string"
            ],
            "description": "Voucher status: Draft, Editing or Booked",
            "example": "Draft"
          },
          "Lines": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Read model for lines",
              "$ref": "#/components/schemas/ManuelVoucherLineReadModel"
            },
            "description": "List of the lines on the voucher"
          },
          "Timestamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "Timestamp used to validate version in case of updating",
            "example": "00000000000017B7"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "e.g. WebShopID:42"
          },
          "BookedByType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Where the voucher was booked from in the system.\nThe available types are Ukendt, Web, Assistent, Mobil-app, Pensopay, System, Kassekladde, Anlægskartotek, Kontingentopkrævning, Abonnement and API (with client id)",
            "example": "Web"
          },
          "BookedByUsername": {
            "type": [
              "null",
              "string"
            ],
            "description": "The username of the user that booked the voucher",
            "example": "john.doe@email.com"
          },
          "BookingTime": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date for when the voucher is booked",
            "example": "2022-05-02"
          }
        },
        "additionalProperties": false,
        "description": "The model that is returned when getting a manuel voucher"
      },
      "ManuelVoucherUpdateModel": {
        "required": [
          "Timestamp"
        ],
        "type": "object",
        "properties": {
          "Timestamp": {
            "minLength": 1,
            "type": "string",
            "description": "Timestamp to verify version before editing, use the timestamp value from last time get",
            "example": "00000000000017B7"
          },
          "VoucherDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the voucher, uses yyyy-MM-dd format",
            "example": "2022-05-22"
          },
          "Lines": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Write model for creating a new line in a manuel voucher",
              "$ref": "#/components/schemas/ManuelVoucherLineCreateModel"
            },
            "description": "The lines of the voucher"
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Guid of the file associated with the voucher, optional value",
            "example": "pa2halkrpgo3oho45hj0dlkfrro4ilf"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "e.g. WebShopID:42"
          }
        },
        "additionalProperties": false,
        "description": "Model used to update a manuel voucher"
      },
      "MerchantSignupModel": {
        "required": [
          "AttPerson",
          "BankDepositAccountNumber",
          "BusinessModelDescription",
          "Email",
          "HasMobilePayEnabled",
          "Iban",
          "Phone",
          "PhysicalProductsDescription"
        ],
        "type": "object",
        "properties": {
          "AttPerson": {
            "type": [
              "null",
              "string"
            ]
          },
          "DanishVatNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "Email": {
            "type": [
              "null",
              "string"
            ]
          },
          "Phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "Website": {
            "type": [
              "null",
              "string"
            ]
          },
          "BusinessModelDescription": {
            "type": [
              "null",
              "string"
            ]
          },
          "Iban": {
            "type": [
              "null",
              "string"
            ]
          },
          "BankDepositAccountNumber": {
            "type": "integer",
            "format": "int32"
          },
          "Street": {
            "type": [
              "null",
              "string"
            ]
          },
          "City": {
            "type": [
              "null",
              "string"
            ]
          },
          "ZipCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "PhysicalProductsDescription": {
            "$ref": "#/components/schemas/PhysicalProductsDescription"
          },
          "HasMobilePayEnabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "MerchantViewModel": {
        "required": [
          "DepositAccountNumber",
          "HasMobilePayEnabled",
          "IsActive",
          "IsApproved",
          "IsDeclined",
          "ManuallyDisabled",
          "OrganizationId"
        ],
        "type": "object",
        "properties": {
          "OrganizationId": {
            "type": "integer",
            "format": "int32"
          },
          "AccountId": {
            "type": [
              "null",
              "string"
            ]
          },
          "IsActive": {
            "type": "boolean"
          },
          "IsApproved": {
            "type": "boolean"
          },
          "IsDeclined": {
            "type": "boolean"
          },
          "ManuallyDisabled": {
            "type": "boolean"
          },
          "DepositAccountNumber": {
            "type": "integer",
            "format": "int32"
          },
          "HasMobilePayEnabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "MobilePayStartIntegrationModel": {
        "required": [
          "DepositAccountNumber"
        ],
        "type": "object",
        "properties": {
          "DepositAccountNumber": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "OrganizationCreateModel": {
        "required": [
          "CompanyType",
          "CurrentAccountingYear",
          "FirstAccountingYear",
          "HasAcceptedDataProcessingAgreement"
        ],
        "type": "object",
        "properties": {
          "Name": {
            "type": [
              "null",
              "string"
            ]
          },
          "ZipCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "Address": {
            "type": [
              "null",
              "string"
            ]
          },
          "Phone": {
            "type": [
              "null",
              "string"
            ]
          },
          "Email": {
            "type": [
              "null",
              "string"
            ]
          },
          "CompanyType": {
            "$ref": "#/components/schemas/CompanyTypeCodeViewModel"
          },
          "City": {
            "type": [
              "null",
              "string"
            ]
          },
          "CountryCode": {
            "type": [
              "null",
              "string"
            ]
          },
          "CvrNumber": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "FirstAccountingYear": {
            "$ref": "#/components/schemas/DateRangeViewModel"
          },
          "CurrentAccountingYear": {
            "$ref": "#/components/schemas/DateRangeViewModel"
          },
          "IsVatFree": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "IsTaxFreeUnion": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "AttName": {
            "type": [
              "null",
              "string"
            ]
          },
          "StreetName": {
            "type": [
              "null",
              "string"
            ]
          },
          "HouseNumber": {
            "type": [
              "null",
              "string"
            ]
          },
          "Floor": {
            "type": [
              "null",
              "string"
            ]
          },
          "Door": {
            "type": [
              "null",
              "string"
            ]
          },
          "HasAcceptedDataProcessingAgreement": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "OrganizationCreatedViewModel": {
        "required": [
          "FirstAccountingYearCreated",
          "IsUsersFirstOrganization",
          "OrganizationId"
        ],
        "type": "object",
        "properties": {
          "OrganizationId": {
            "type": "integer",
            "description": "Unique identifier of an organization.",
            "format": "int32"
          },
          "FirstAccountingYearCreated": {
            "type": "boolean",
            "description": "Value indicating whether the first accounting year is created automatically."
          },
          "IsUsersFirstOrganization": {
            "type": "boolean",
            "description": "Value indicating whether the user is the first user in the organization."
          }
        },
        "additionalProperties": false,
        "description": "View model for creating an organization."
      },
      "OrganizationReadModel": {
        "required": [
          "IsTaxFreeUnion",
          "IsVatFree"
        ],
        "type": "object",
        "properties": {
          "Name": {
            "type": [
              "null",
              "string"
            ],
            "description": "Name of the organization",
            "example": "My Consultancy Aps"
          },
          "Id": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Id of the organization",
            "format": "int32",
            "example": 42
          },
          "Type": {
            "type": [
              "null",
              "string"
            ],
            "description": "Whether the organization is VIP or default",
            "example": "Default"
          },
          "IsPro": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Whether the organization has Dinero Pro access",
            "example": true
          },
          "IsPayingPro": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "Whether the organization has a paid Dinero Pro subscription",
            "example": true
          },
          "IsVatFree": {
            "type": "boolean",
            "description": "If an organization does not use VAT",
            "example": false
          },
          "Email": {
            "type": [
              "null",
              "string"
            ],
            "description": "Email of the organization",
            "example": "my@company-email.dk"
          },
          "Phone": {
            "type": [
              "null",
              "string"
            ],
            "description": "Organization phone number",
            "example": "35731849"
          },
          "Street": {
            "type": [
              "null",
              "string"
            ],
            "description": "Organization street",
            "example": "Gærtorvet 1"
          },
          "City": {
            "type": [
              "null",
              "string"
            ],
            "description": "Organization city",
            "example": "København"
          },
          "ZipCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "Organization zip code",
            "example": "1799"
          },
          "AttPerson": {
            "type": [
              "null",
              "string"
            ],
            "description": "Att. person of the organization",
            "example": "Hans Hansen"
          },
          "IsTaxFreeUnion": {
            "type": "boolean",
            "description": "Whether the organization is a tax free union",
            "example": false
          },
          "VatNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Vat number for organization"
          },
          "CountryKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Organization country code"
          },
          "Website": {
            "type": [
              "null",
              "string"
            ],
            "description": "Website for organization"
          }
        },
        "additionalProperties": false,
        "description": "Organization information"
      },
      "OrganizationReadModelV2": {
        "required": [
          "Id",
          "IsTaxFreeUnion",
          "IsVatFree",
          "Subscription"
        ],
        "type": "object",
        "properties": {
          "Name": {
            "type": [
              "null",
              "string"
            ],
            "description": "Name of the organization",
            "example": "My Consultancy Aps"
          },
          "Id": {
            "type": "integer",
            "description": "Id of the organization",
            "format": "int32",
            "example": 42
          },
          "CompanyTypeKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "The key of the company type."
          },
          "IsVatFree": {
            "type": "boolean",
            "description": "Whether an organization uses VAT",
            "example": false
          },
          "Email": {
            "type": [
              "null",
              "string"
            ],
            "description": "Email of the organization",
            "example": "my@company-email.dk"
          },
          "Phone": {
            "type": [
              "null",
              "string"
            ],
            "description": "Phone number of the organization",
            "example": "35731849"
          },
          "Street": {
            "type": [
              "null",
              "string"
            ],
            "description": "Street of the organization",
            "example": "Gærtorvet 1"
          },
          "City": {
            "type": [
              "null",
              "string"
            ],
            "description": "City of the organization",
            "example": "København"
          },
          "ZipCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "Zip code of the organization",
            "example": "1799"
          },
          "AttPerson": {
            "type": [
              "null",
              "string"
            ],
            "description": "Attention person of the organization",
            "example": "John Doe"
          },
          "IsTaxFreeUnion": {
            "type": "boolean",
            "description": "Whether the organization is a tax-free union",
            "example": false
          },
          "VatNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Vat number of the organization",
            "example": "DK12345678"
          },
          "CountryKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Country key of the organization",
            "example": "DK"
          },
          "Website": {
            "type": [
              "null",
              "string"
            ],
            "description": "Website of the organization"
          },
          "RoleKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Role key of the organization"
          },
          "Subscription": {
            "description": "Subscription summary for an organization",
            "$ref": "#/components/schemas/SubscriptionReadModel"
          }
        },
        "additionalProperties": false,
        "description": "Organization information"
      },
      "OrganizationUpdateModel": {
        "type": "object",
        "properties": {
          "Name": {
            "type": [
              "null",
              "string"
            ],
            "description": "Represents the name of the organization."
          },
          "CompanyTypeKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Represents the CompanyTypeKey of an organization."
          },
          "Street": {
            "type": [
              "null",
              "string"
            ],
            "description": "Represents a street address."
          },
          "ZipCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "Represents a zip code."
          },
          "City": {
            "type": [
              "null",
              "string"
            ],
            "description": "Represents a city in an address."
          },
          "CountryKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Represents the country key of an organization's address."
          },
          "EanNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Represents the EAN (European Article Number) number of an organization."
          },
          "VatNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Represents the VAT number of an organization."
          },
          "Phone": {
            "type": [
              "null",
              "string"
            ],
            "description": "Represents the phone number of the organization."
          },
          "Email": {
            "type": [
              "null",
              "string"
            ],
            "description": "Represents the email address of the organization."
          },
          "Webpage": {
            "type": [
              "null",
              "string"
            ],
            "description": "Represents a webpage property of an organization."
          },
          "AttPerson": {
            "type": [
              "null",
              "string"
            ],
            "description": "Represents a person who is associated with an organization."
          },
          "StreetName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Represents the street name of an organization's address."
          },
          "HouseNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Gets or sets the house number of the organization's address."
          },
          "Floor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Represents the Floor of an organization's address."
          },
          "Door": {
            "type": [
              "null",
              "string"
            ],
            "description": "Represents a door in an organization's address."
          }
        },
        "additionalProperties": false,
        "description": "Represents the update model for an organization."
      },
      "OrganizationVerifiedReadModel": {
        "required": [
          "CanSendFromDinero",
          "IsVerified"
        ],
        "type": "object",
        "properties": {
          "IsVerified": {
            "type": "boolean",
            "description": "Specifies if organization is currently verified"
          },
          "Name": {
            "type": [
              "null",
              "string"
            ]
          },
          "VerificationDate": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "CanSendFromDinero": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "description": "Organization information for verification status"
      },
      "PaginationDetails": {
        "required": [
          "MaxPageSizeAllowed",
          "Page",
          "PageSize",
          "Result",
          "ResultWithoutFilter"
        ],
        "type": "object",
        "properties": {
          "MaxPageSizeAllowed": {
            "type": "integer",
            "description": "Maximum number of result pr. page.",
            "format": "int32",
            "example": 1000
          },
          "PageSize": {
            "type": "integer",
            "description": "Number of result pr. page.",
            "format": "int32",
            "example": 100
          },
          "Result": {
            "type": "integer",
            "description": "Number of results returned in the collection.",
            "format": "int32",
            "example": 100
          },
          "ResultWithoutFilter": {
            "type": "integer",
            "description": "Result count before pagination.",
            "format": "int32",
            "example": 231
          },
          "Page": {
            "type": "integer",
            "description": "The 0-based page number.",
            "format": "int32",
            "example": 0
          }
        },
        "additionalProperties": false,
        "description": "Pagination details"
      },
      "PaymentCreateModel": {
        "required": [
          "Amount",
          "DepositAccountNumber",
          "Description",
          "RemainderIsFee",
          "Timestamp"
        ],
        "type": "object",
        "properties": {
          "Timestamp": {
            "minLength": 1,
            "type": "string",
            "description": "Version of the invoice",
            "example": "00000000020A5EA8"
          },
          "DepositAccountNumber": {
            "type": "integer",
            "description": "Account number of an deposit account",
            "format": "int32",
            "example": 55000
          },
          "RemainderIsFee": {
            "type": "boolean",
            "description": "Whether the remaining amount of the voucher should be added as a fee.",
            "example": false
          },
          "AmountInForeignCurrency": {
            "type": [
              "null",
              "number"
            ],
            "description": "When handling a payment for a voucher with a foreign currency, this property is required.\nThis property together with Amount will be used to calculate exchange rate.",
            "format": "double",
            "example": 15.00
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebShopID:42"
          },
          "PaymentDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the payment. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "Description": {
            "minLength": 1,
            "type": "string",
            "description": "Description. Fx.: 'Payment of invoice'.",
            "example": "Payment of invoice"
          },
          "Amount": {
            "type": "number",
            "description": "Amount. Has to be different from 0.",
            "format": "double",
            "example": 20.0
          }
        },
        "additionalProperties": false,
        "description": "Model for creating a payment"
      },
      "PaymentInformationReadModel": {
        "required": [
          "Amount",
          "Description",
          "ExchangeRate",
          "Guid"
        ],
        "type": "object",
        "properties": {
          "Guid": {
            "type": "string",
            "description": "The Guid of the payment",
            "format": "uuid"
          },
          "DepositAccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Account number of an deposit account. Can be null if paid by ledger, creditnote or invoice.",
            "format": "int32",
            "example": 55100
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency of the payment amount, default currency is DKK.",
            "example": "EUR"
          },
          "ExchangeRate": {
            "type": "number",
            "description": "The exchange rate for the payment currency to DKK, defaults to 100 when currency is DKK.",
            "format": "double",
            "example": 745.600000
          },
          "PaymentClass": {
            "type": [
              "null",
              "string"
            ],
            "description": "Describes if a payment is for an invoice or a credit note"
          },
          "RelatedVoucherId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Id of the related voucher, if any",
            "format": "uuid"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebShopID:42"
          },
          "PaymentDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the payment. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "Description": {
            "minLength": 1,
            "type": "string",
            "description": "Description. Fx.: 'Payment of invoice'.",
            "example": "Payment of invoice"
          },
          "Amount": {
            "type": "number",
            "description": "Amount. Has to be different from 0.",
            "format": "double",
            "example": 20.0
          }
        },
        "additionalProperties": false
      },
      "PaymentMean": {
        "enum": [
          "Domestic",
          "International",
          "FIK"
        ],
        "type": "string"
      },
      "PaymentReadModel": {
        "required": [
          "Amount",
          "Description",
          "ExchangeRate",
          "Guid"
        ],
        "type": "object",
        "properties": {
          "Guid": {
            "type": "string",
            "description": "The Guid of the payment",
            "format": "uuid"
          },
          "DepositAccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Account number of an deposit account. Can be null if paid by ledger, creditnote or invoice.",
            "format": "int32",
            "example": 55100
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency of the payment amount, default currency is DKK.",
            "example": "EUR"
          },
          "ExchangeRate": {
            "type": "number",
            "description": "The exchange rate for the payment currency to DKK, defaults to 100 when currency is DKK.",
            "format": "double",
            "example": 745.600000
          },
          "PaymentClass": {
            "type": [
              "null",
              "string"
            ],
            "description": "Describes if a payment is for an invoice or a credit note"
          },
          "RelatedVoucherId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Id of the related voucher, if any",
            "format": "uuid"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebShopID:42"
          },
          "PaymentDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the payment. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "Description": {
            "minLength": 1,
            "type": "string",
            "description": "Description. Fx.: 'Payment of invoice'.",
            "example": "Payment of invoice"
          },
          "Amount": {
            "type": "number",
            "description": "Amount. Has to be different from 0.",
            "format": "double",
            "example": 20.0
          }
        },
        "additionalProperties": false,
        "description": "Model for a payment"
      },
      "PaymentReadModelV2": {
        "required": [
          "InvoiceTotalIncludingReminderExpenses",
          "PaidAmount",
          "RemainingAmount"
        ],
        "type": "object",
        "properties": {
          "Payments": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/PaymentInformationReadModel"
            },
            "description": "Payments for a given voucher."
          },
          "RemainingAmount": {
            "type": "number",
            "description": "The remaining amount to be paid. Might be negative if the invoice is overpaid.",
            "format": "double",
            "example": 0.0
          },
          "PaidAmount": {
            "type": "number",
            "description": "The sum of the registered payments on the invoice.",
            "format": "double",
            "example": 1000.0
          },
          "InvoiceTotalIncludingReminderExpenses": {
            "type": "number",
            "description": "The total amount of the invoice, including reminder fees, if any.",
            "format": "double",
            "example": 1000.0
          }
        },
        "additionalProperties": false,
        "description": "Model for a payment"
      },
      "PhysicalProductsDescription": {
        "required": [
          "CountriesOfSaleDescription",
          "ExpectedMaximumInvoiceAmount",
          "ProductDescription"
        ],
        "type": "object",
        "properties": {
          "ExpectedMaximumInvoiceAmount": {
            "type": "integer",
            "format": "int32"
          },
          "CountriesOfSaleDescription": {
            "type": [
              "null",
              "string"
            ]
          },
          "ProductDescription": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "PossibleEndDatesModel": {
        "type": "object",
        "properties": {
          "EndDates": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "additionalProperties": false
      },
      "PrimoBalanceApiModel": {
        "required": [
          "AccountNumber",
          "Amount"
        ],
        "type": "object",
        "properties": {
          "AccountName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Account name",
            "example": "Omsætning"
          },
          "AccountNumber": {
            "type": "integer",
            "description": "Account number",
            "format": "int32",
            "example": 1300
          },
          "Amount": {
            "type": "number",
            "description": "Total amount",
            "format": "double",
            "example": 0.0
          }
        },
        "additionalProperties": false,
        "description": "A line in the primo-balance report: the balance the accounting year starts with."
      },
      "ProductCreateModel": {
        "required": [
          "AccountNumber",
          "BaseAmountValue",
          "Quantity",
          "Unit"
        ],
        "type": "object",
        "properties": {
          "ProductNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Number of the product (Varekode)"
          },
          "Name": {
            "type": [
              "null",
              "string"
            ],
            "description": "Product name",
            "example": "Consulting"
          },
          "BaseAmountValue": {
            "type": "number",
            "description": "Amount excl. VAT",
            "format": "double",
            "example": 20.0
          },
          "Quantity": {
            "type": "number",
            "description": "Quantity",
            "format": "double",
            "example": 5.0
          },
          "AccountNumber": {
            "type": "integer",
            "description": "Account number",
            "format": "int32",
            "example": 1000
          },
          "Unit": {
            "minLength": 1,
            "type": "string",
            "description": "Product unit. Available unit types: hours, parts, km, day, week, month, kilogram, cubicMetre, set, litre, box, case, carton, metre, package, shipment, squareMetre, session, tonne.",
            "example": "parts"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebShopID:42"
          },
          "Comment": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Comment for the product. \nThe comment will be shown on invoices with the product by default.",
            "example": "Invoiced by the hour."
          }
        },
        "additionalProperties": false,
        "description": "Product information"
      },
      "ProductCreatedResult": {
        "required": [
          "ProductGuid"
        ],
        "type": "object",
        "properties": {
          "ProductGuid": {
            "type": "string",
            "description": "The guid of the product",
            "format": "uuid",
            "example": "f5a6eb71-e25c-4c30-baff-8e2cc43a9ff2"
          }
        },
        "additionalProperties": false,
        "description": "The response of succesfull productcreation"
      },
      "ProductReadModel": {
        "required": [
          "AccountNumber",
          "BaseAmountValue",
          "BaseAmountValueInclVat",
          "CreatedAt",
          "ProductGuid",
          "Quantity",
          "TotalAmount",
          "TotalAmountInclVat",
          "Unit",
          "UpdatedAt"
        ],
        "type": "object",
        "properties": {
          "CreatedAt": {
            "type": "string",
            "description": "Time at which the Product was created",
            "format": "date-time"
          },
          "UpdatedAt": {
            "type": "string",
            "description": "Time at which the Product was last updated",
            "format": "date-time"
          },
          "DeletedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time at which the Product was deleted",
            "format": "date-time"
          },
          "ProductGuid": {
            "type": "string",
            "description": "Our Guid",
            "format": "uuid"
          },
          "BaseAmountValueInclVat": {
            "type": "number",
            "description": "Amount incl. VAT",
            "format": "double",
            "example": 25.0
          },
          "TotalAmount": {
            "type": "number",
            "description": "Sum amount for the product excl. VAT (base amount X quanity)",
            "format": "double",
            "example": 100
          },
          "TotalAmountInclVat": {
            "type": "number",
            "description": "Sum amount for the product incl. VAT (base amount incl VAT X quanity)",
            "format": "double",
            "example": 125.0
          },
          "ProductNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Number of the product (Varekode)"
          },
          "Name": {
            "type": [
              "null",
              "string"
            ],
            "description": "Product name",
            "example": "Consulting"
          },
          "BaseAmountValue": {
            "type": "number",
            "description": "Amount excl. VAT",
            "format": "double",
            "example": 20.0
          },
          "Quantity": {
            "type": "number",
            "description": "Quantity",
            "format": "double",
            "example": 5.0
          },
          "AccountNumber": {
            "type": "integer",
            "description": "Account number",
            "format": "int32",
            "example": 1000
          },
          "Unit": {
            "minLength": 1,
            "type": "string",
            "description": "Product unit. Available unit types: hours, parts, km, day, week, month, kilogram, cubicMetre, set, litre, box, case, carton, metre, package, shipment, squareMetre, session, tonne.",
            "example": "parts"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebShopID:42"
          },
          "Comment": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Comment for the product. \nThe comment will be shown on invoices with the product by default.",
            "example": "Invoiced by the hour."
          }
        },
        "additionalProperties": false,
        "description": "Product information for a single Product"
      },
      "ProductReadModelDineroCollection": {
        "required": [
          "Pagination"
        ],
        "type": "object",
        "properties": {
          "Collection": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Product information for a single Product",
              "$ref": "#/components/schemas/ProductReadModel"
            },
            "description": "Collection containing the result of the request."
          },
          "Pagination": {
            "description": "Pagination information.",
            "$ref": "#/components/schemas/PaginationDetails"
          }
        },
        "additionalProperties": false,
        "description": "Generic paged result returned by the Dinero public API list endpoints."
      },
      "ProductUpdateModel": {
        "required": [
          "AccountNumber",
          "BaseAmountValue",
          "Quantity",
          "Unit"
        ],
        "type": "object",
        "properties": {
          "ProductNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "Number of the product (Varekode)"
          },
          "Name": {
            "type": [
              "null",
              "string"
            ],
            "description": "Product name",
            "example": "Consulting"
          },
          "BaseAmountValue": {
            "type": "number",
            "description": "Amount excl. VAT",
            "format": "double",
            "example": 20.0
          },
          "Quantity": {
            "type": "number",
            "description": "Quantity",
            "format": "double",
            "example": 5.0
          },
          "AccountNumber": {
            "type": "integer",
            "description": "Account number",
            "format": "int32",
            "example": 1000
          },
          "Unit": {
            "minLength": 1,
            "type": "string",
            "description": "Product unit. Available unit types: hours, parts, km, day, week, month, kilogram, cubicMetre, set, litre, box, case, carton, metre, package, shipment, squareMetre, session, tonne.",
            "example": "parts"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebShopID:42"
          },
          "Comment": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Comment for the product. \nThe comment will be shown on invoices with the product by default.",
            "example": "Invoiced by the hour."
          }
        },
        "additionalProperties": false,
        "description": "Product information for a product"
      },
      "PurchaseCreditNoteCreateModel": {
        "required": [
          "Lines"
        ],
        "type": "object",
        "properties": {
          "Guid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional guid for the object. If not set the system will create a guid returned in the response.",
            "format": "uuid",
            "example": "3a315ad3-ddcc-419d-9fc5-219280ae4816"
          },
          "CreditNoteFor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional id of the invoice the credit note is based on.",
            "format": "uuid"
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional id of the file associated with the purchase credit note.\nDefaults to the id of the file from the purchase voucher.",
            "example": "web0crmck5v0ndcx3313g6zn61tc7wgc"
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Dinero contact guid. Optional for creating a draft, required for booking.",
            "format": "uuid"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date of the credit note",
            "format": "date-time",
            "example": "2022-05-16"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the credit note. Defaults to DKK if null. Dinero will assign the currency rate from credit note date for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Lines": {
            "type": "array",
            "items": {
              "description": "A line supplied when creating or updating a purchase voucher (køb).",
              "$ref": "#/components/schemas/PurchaseVoucherLineCreateModel"
            },
            "description": "User supplied credit note lines. Minimum one."
          }
        },
        "additionalProperties": false
      },
      "PurchaseCreditNoteReadModel": {
        "required": [
          "Guid"
        ],
        "type": "object",
        "properties": {
          "Guid": {
            "type": "string",
            "description": "Guid of the credit note.",
            "format": "uuid",
            "example": "0713954e-f3b0-4fb0-8b95-0dc0772d5ea0"
          },
          "CreditNoteFor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Id of the invoice the credit note is based on.",
            "format": "uuid"
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Id of the file associated with the purchase credit note."
          },
          "CreditNoteNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Number of the purchase credit note.",
            "format": "int64",
            "example": 7
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Guid of the contact associated with the credit note.",
            "format": "uuid"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date of the credit note.",
            "format": "date-time",
            "example": "2022-05-16"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the credit note. Defaults to DKK if null.",
            "example": "DKK"
          },
          "Lines": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "A line on a purchase voucher as returned by the public API.",
              "$ref": "#/components/schemas/PurchaseVoucherLineReadModel"
            },
            "description": "The list of lines associated with the credit note."
          },
          "Timestamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "Timestamp used for verifying version when updating or changing the credit note.",
            "example": "00000000020A5EA8"
          },
          "Status": {
            "type": [
              "null",
              "string"
            ],
            "description": "The status of a purchase credit note can be: Draft, Paid, Editing, Booked, Overdue, or Overpaid.",
            "example": "Paid"
          },
          "BookedByType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Where the credit note was booked from in the system.\nthe available types are Ukendt, Web, Assistent, Mobil-app, Pensopay, System, Kassekladde, Anlægskartotek, Kontingentopkrævning, Abonnement and API (with client id).",
            "example": "Web"
          },
          "BookedByUsername": {
            "type": [
              "null",
              "string"
            ],
            "description": "The username of the user that booked the credit note.",
            "example": "john.doe@email.com"
          },
          "BookingTime": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date for when the credit note is booked.",
            "example": "2022-05-02"
          },
          "Totals": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "A single total line on a purchase voucher.",
              "$ref": "#/components/schemas/PurchaseVoucherTotalReadModel"
            },
            "description": "The total sums of the purchase voucher credit note."
          }
        },
        "additionalProperties": false,
        "description": "Represents a purchase credit note (køb-kreditnota)."
      },
      "PurchaseCreditNoteUpdateModel": {
        "required": [
          "Lines",
          "Timestamp"
        ],
        "type": "object",
        "properties": {
          "CreditNoteFor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional id of the invoice the credit note is based on.",
            "format": "uuid"
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional id of the file associated with the purchase credit note.\nDefaults to the id of the file from the purchase voucher.",
            "example": "web0crmck5v0ndcx3313g6zn61tc7wgc"
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Dinero contact guid. Optional for creating a draft, required for booking.",
            "format": "uuid"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date of the credit note",
            "format": "date-time",
            "example": "2022-05-16"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the credit note. Defaults to DKK if null. Dinero will assign the currency rate from credit note date for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Lines": {
            "type": "array",
            "items": {
              "description": "A line supplied when creating or updating a purchase voucher (køb).",
              "$ref": "#/components/schemas/PurchaseVoucherLineCreateModel"
            },
            "description": "User supplied credit note lines. Minimum one."
          },
          "Timestamp": {
            "minLength": 1,
            "type": "string",
            "description": "Timestamp to verify version before editing, use the timestamp value from last time get",
            "example": "00000000000017B7"
          }
        },
        "additionalProperties": false
      },
      "PurchaseVoucherCreateModelV2": {
        "required": [
          "PurchaseType"
        ],
        "type": "object",
        "properties": {
          "Lines": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "A line supplied when creating or updating a purchase voucher (køb).",
              "$ref": "#/components/schemas/PurchaseVoucherLineCreateModel"
            },
            "description": "The lines containing what has been bought, at what price, and on what account."
          },
          "VoucherDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date of the voucher (YYYY-MM-DD).",
            "example": "2022-05-16"
          },
          "DepositAccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Account number of the deposit to book on, only used on cash purchases.",
            "format": "int32",
            "example": 55000
          },
          "RegionKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Region the purchase was made from, can be: EU, DK or World. Only used for cash purchases.",
            "example": "DK"
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Id of the file associated with the purchase.",
            "example": "web0crmck5v0ndcx3313g6zn61tc7wgc"
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Guid of the contact the purchase was made from, only used for credit purchases.",
            "format": "uuid",
            "example": "75b3c512-3d11-492a-a6fb-f22acbd62878"
          },
          "PaymentDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date of payment, do not set on cash purchases, payment deadline for credit purchases.",
            "example": "2022-05-16"
          },
          "PurchaseType": {
            "minLength": 1,
            "type": "string",
            "description": "Type of purchase, can be: cash or credit.",
            "example": "cash"
          },
          "CurrencyKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Currency of the purchase, should not be set for cash purchases, defaults to DKK for credit purchases."
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id. This can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters.",
            "example": "Fx. WebShopID:42"
          }
        },
        "additionalProperties": false,
        "description": "Request body for creating a purchase voucher (køb) draft via the public API (v1.2)."
      },
      "PurchaseVoucherCreditPaymentCreateModel": {
        "required": [
          "Amount",
          "DepositAccountNumber",
          "Description",
          "RemainderIsFee",
          "Timestamp"
        ],
        "type": "object",
        "properties": {
          "RemainderIsFee": {
            "type": "boolean",
            "readOnly": true
          },
          "Timestamp": {
            "minLength": 1,
            "type": "string",
            "description": "Version of the invoice",
            "example": "00000000020A5EA8"
          },
          "DepositAccountNumber": {
            "type": "integer",
            "description": "Account number of an deposit account",
            "format": "int32",
            "example": 55000
          },
          "AmountInForeignCurrency": {
            "type": [
              "null",
              "number"
            ],
            "description": "When handling a payment for a voucher with a foreign currency, this property is required.\nThis property together with Amount will be used to calculate exchange rate.",
            "format": "double",
            "example": 15.00
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebShopID:42"
          },
          "PaymentDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the payment. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "Description": {
            "minLength": 1,
            "type": "string",
            "description": "Description. Fx.: 'Payment of invoice'.",
            "example": "Payment of invoice"
          },
          "Amount": {
            "type": "number",
            "description": "Amount. Has to be different from 0.",
            "format": "double",
            "example": 20.0
          }
        },
        "additionalProperties": false
      },
      "PurchaseVoucherFetchReadModel": {
        "required": [
          "ShouldPossiblyBeFixedAsset"
        ],
        "type": "object",
        "properties": {
          "Status": {
            "type": [
              "null",
              "string"
            ],
            "description": "The status of a cash purchase voucher, can be: Draft, Paid, or Editing. The status of a credit purchase voucher can be: Draft, Paid, Editing, Booked, Overdue, or Overpaid",
            "example": "Paid"
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Guid of the file associated with the voucher, optional value",
            "example": "pa2halkrpgo3oho45hj0dlkfrro4ilf"
          },
          "VoucherNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Number of the voucher",
            "format": "int64",
            "example": 7
          },
          "VoucherDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date of the purchase",
            "example": "2022-05-02"
          },
          "PaymentDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date of the payment of the voucher, is the same as voucherdate if the purchase is cash",
            "example": "2022-05-02"
          },
          "RegionKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "The region the purchase is made from, only used on cash purchases, can be: DK, EU, or World",
            "example": "DK"
          },
          "PurchaseType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Type of purchase, can be cash or credit",
            "example": "cash"
          },
          "Lines": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "A line on a purchase voucher as returned by the public API.",
              "$ref": "#/components/schemas/PurchaseVoucherLineReadModel"
            },
            "description": "The list of lines associated with the purchase"
          },
          "DepositAccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Account number of the deposit to book on, only used for cash purchases",
            "format": "int32",
            "example": 55000
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Guid of the contact associated with the purchase, can only have a value on credit purchases",
            "format": "uuid",
            "example": null
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebShopID:42"
          },
          "VoucherTotals": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "A single total line on a purchase voucher.",
              "$ref": "#/components/schemas/PurchaseVoucherTotalReadModel"
            },
            "description": "The total sums of the purchase voucher"
          },
          "ShouldPossiblyBeFixedAsset": {
            "type": "boolean",
            "description": "Indicates whether the purchase possibly should be a fixed asset, instead of a purchase."
          }
        },
        "additionalProperties": false,
        "description": "Model returned by the api when fetching purchasevouchers"
      },
      "PurchaseVoucherLineCreateModel": {
        "required": [
          "Amount"
        ],
        "type": "object",
        "properties": {
          "AccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Account to book this line on.",
            "format": "int32",
            "example": 2000
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "Description of what has been purchased.",
            "example": "Purchase of whatever"
          },
          "Amount": {
            "type": "number",
            "description": "The amount of money paid.",
            "format": "double",
            "example": 200
          },
          "VatCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "The vatcode to use for the line, will be set to the default vattype for the account if null is given.",
            "example": "I25"
          },
          "AccountTagName": {
            "type": [
              "null",
              "string"
            ],
            "description": "The tag used for suggesting account to book on, without '#'.\nOnly supported on V2 put and V2 post endpoints.",
            "example": "Varer"
          },
          "SynonymWithMostWeight": {
            "type": [
              "null",
              "string"
            ],
            "description": "The synonym carrying the most weight for the suggested account tag."
          },
          "TagId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional id of the account-weight tag to apply.",
            "format": "uuid"
          },
          "TagVersion": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Optional version of the account-weight tag to apply.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "A line supplied when creating or updating a purchase voucher (køb)."
      },
      "PurchaseVoucherLineReadModel": {
        "required": [
          "AmountExclVatValue",
          "AmountInclVatValue",
          "VatAmountValue"
        ],
        "type": "object",
        "properties": {
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "Description of the line.",
            "example": "Purchase of something"
          },
          "VatCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "VAT code for the selected account number.",
            "example": "I25"
          },
          "AccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The account number the line books on.",
            "format": "int32",
            "example": 2000
          },
          "AmountExclVatValue": {
            "type": "number",
            "description": "Amount on the line excluding VAT.",
            "format": "double",
            "example": 80
          },
          "AmountInclVatValue": {
            "type": "number",
            "description": "Amount on the line including VAT.",
            "format": "double",
            "example": 100
          },
          "VatAmountValue": {
            "type": "number",
            "description": "VAT amount on the line.",
            "format": "double",
            "example": 20
          },
          "AccountTagName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Tag used to suggest the account to book on, without the leading '#'.",
            "example": "Blomster"
          },
          "AccountWeightTagId": {
            "type": [
              "null",
              "string"
            ],
            "description": "The identifier of the account weight tag used to suggest the account to book on.",
            "format": "uuid"
          },
          "AccountWeightTagVersion": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The version of the account weight tag, to avoid concurrency issues on subsequent updates.",
            "format": "int32"
          },
          "AccountTagSynonym": {
            "type": [
              "null",
              "string"
            ],
            "description": "The synonym associated with the account tag."
          }
        },
        "additionalProperties": false,
        "description": "A line on a purchase voucher as returned by the public API."
      },
      "PurchaseVoucherListEntryViewModel": {
        "required": [
          "BookedSource",
          "HasAnyRelatedPayments",
          "Id",
          "TotalInclVat",
          "VoucherGuid"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "VoucherNumber": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ]
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ]
          },
          "VoucherTypeKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "ContactId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "ContactName": {
            "type": [
              "null",
              "string"
            ]
          },
          "TotalInclVat": {
            "type": "number",
            "format": "double"
          },
          "NormalizedTotalInclVat": {
            "type": [
              "null",
              "number"
            ],
            "format": "double"
          },
          "CurrencyKey": {
            "type": [
              "null",
              "string"
            ]
          },
          "VoucherDate": {
            "type": [
              "null",
              "string"
            ]
          },
          "PaymentDate": {
            "type": [
              "null",
              "string"
            ]
          },
          "Status": {
            "type": [
              "null",
              "string"
            ],
            "readOnly": true
          },
          "VoucherGuid": {
            "type": "string",
            "format": "uuid"
          },
          "CreatedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "UpdatedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "DeletedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "BookedAt": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "HasAnyRelatedPayments": {
            "type": "boolean"
          },
          "OverdueText": {
            "type": [
              "null",
              "string"
            ]
          },
          "BookedSource": {
            "$ref": "#/components/schemas/VoucherBookedSource"
          }
        },
        "additionalProperties": false
      },
      "PurchaseVoucherListEntryViewModelDineroCollection": {
        "required": [
          "Pagination"
        ],
        "type": "object",
        "properties": {
          "Collection": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/PurchaseVoucherListEntryViewModel"
            },
            "description": "Collection containing the result of the request."
          },
          "Pagination": {
            "description": "Pagination information.",
            "$ref": "#/components/schemas/PaginationDetails"
          }
        },
        "additionalProperties": false,
        "description": "Generic paged result returned by the Dinero public API list endpoints."
      },
      "PurchaseVoucherPaymentCalculationsReadModel": {
        "required": [
          "NotPaidAmount",
          "PaidAmount",
          "PaymentAmount",
          "RemainderAmount"
        ],
        "type": "object",
        "properties": {
          "PaidAmount": {
            "type": "number",
            "description": "The paid amount of the invoice",
            "format": "double"
          },
          "RemainderAmount": {
            "type": "number",
            "description": "The remainder amount which is not paid amount - payment amount",
            "format": "double"
          },
          "PaymentAmount": {
            "type": "number",
            "description": "The amount of the payment",
            "format": "double"
          },
          "PaymentAmountInForeignCurrency": {
            "type": [
              "null",
              "number"
            ],
            "description": "The amount of the payment in foreign currency",
            "format": "double"
          },
          "ExchangeRate": {
            "type": [
              "null",
              "number"
            ],
            "description": "The exchange rate in case of foreign currency",
            "format": "double"
          },
          "CurrencyDifference": {
            "type": [
              "null",
              "number"
            ],
            "description": "The currency difference in case of foreign currency",
            "format": "double"
          },
          "NotPaidAmount": {
            "type": "number",
            "description": "The amount that is not paid yet",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Represents the result of adding given payment."
      },
      "PurchaseVoucherPaymentForCalculationModel": {
        "required": [
          "PaymentAmount"
        ],
        "type": "object",
        "properties": {
          "PaymentAmount": {
            "type": "number",
            "description": "The amount of the payment",
            "format": "double"
          },
          "PaymentAmountInForeignCurrency": {
            "type": [
              "null",
              "number"
            ],
            "description": "The amount of the payment in a foreign currency",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Model for fetching the changes the payment will cause"
      },
      "PurchaseVoucherReadModelV2": {
        "required": [
          "Guid"
        ],
        "type": "object",
        "properties": {
          "Guid": {
            "type": "string",
            "description": "Guid of the voucher.",
            "format": "uuid",
            "example": "0713954e-f3b0-4fb0-8b95-0dc0772d5ea0"
          },
          "Timestamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "Timestamp used for verifying version when updating the voucher.",
            "example": "00000000020A5EA8"
          },
          "Status": {
            "type": [
              "null",
              "string"
            ],
            "description": "The status of the voucher. Cash purchases: Draft, Paid, or Editing.\nCredit purchases: Draft, Paid, Editing, Booked, Overdue, or Overpaid.",
            "example": "Paid"
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Guid of the file associated with the voucher, if any."
          },
          "VoucherNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Number of the voucher.",
            "format": "int64",
            "example": 7
          },
          "VoucherDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date of the purchase (YYYY-MM-DD).",
            "example": "2022-05-02"
          },
          "PaymentDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date of payment. Equal to the voucher date for cash purchases.",
            "example": "2022-05-02"
          },
          "RegionKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "The region the purchase is made from, used on cash purchases: DK, EU, or World.",
            "example": "DK"
          },
          "PurchaseType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Type of purchase, either cash or credit.",
            "example": "cash"
          },
          "Lines": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "A line on a purchase voucher as returned by the public API.",
              "$ref": "#/components/schemas/PurchaseVoucherLineReadModel"
            },
            "description": "The lines associated with the purchase."
          },
          "DepositAccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Account number of the deposit to book on, only used for cash purchases.",
            "format": "int32",
            "example": 55000
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Guid of the contact associated with the purchase, only set on credit purchases.",
            "format": "uuid"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id. The maximum length is 128 characters."
          },
          "VoucherTotals": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "A single total line on a purchase voucher.",
              "$ref": "#/components/schemas/PurchaseVoucherTotalReadModel"
            },
            "description": "The total sums of the purchase voucher."
          },
          "CurrencyKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency of the voucher. Always DKK for cash purchases."
          },
          "BookedByType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Where the voucher was booked from in the system. The available types are\nUkendt, Web, Assistent, Mobil-app, Pensopay, System, Kassekladde, Anlægskartotek,\nKontingentopkrævning, Abonnement and API (with client id).",
            "example": "Web"
          },
          "BookedByUsername": {
            "type": [
              "null",
              "string"
            ],
            "description": "The username of the user that booked the voucher.",
            "example": "john.doe@email.com"
          },
          "BookingTime": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date for when the voucher is booked.",
            "example": "2022-05-02"
          }
        },
        "additionalProperties": false,
        "description": "Model returned by the public API when a purchase voucher (køb) is created."
      },
      "PurchaseVoucherTotalReadModel": {
        "required": [
          "Position",
          "Total"
        ],
        "type": "object",
        "properties": {
          "Label": {
            "type": [
              "null",
              "string"
            ],
            "description": "Label of the total."
          },
          "Total": {
            "type": "number",
            "description": "The amount of money in DKK.",
            "format": "double"
          },
          "Type": {
            "type": [
              "null",
              "string"
            ],
            "description": "The type of total, one of SubTotal, Vat, or Total.",
            "example": "Total"
          },
          "Position": {
            "type": "integer",
            "description": "Position of the line, used for ordering in the UI.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "A single total line on a purchase voucher."
      },
      "PurchaseVoucherUpdateModel": {
        "required": [
          "ContactGuid",
          "Lines",
          "PurchaseType",
          "Timestamp",
          "VoucherDate"
        ],
        "type": "object",
        "properties": {
          "Lines": {
            "type": "array",
            "items": {
              "description": "A line supplied when creating or updating a purchase voucher (køb).",
              "$ref": "#/components/schemas/PurchaseVoucherLineCreateModel"
            },
            "description": "The lines containing what has been bought, at what price, and on what account"
          },
          "VoucherDate": {
            "minLength": 1,
            "type": "string",
            "description": "Date of the voucher",
            "example": "2022-05-16"
          },
          "Timestamp": {
            "minLength": 1,
            "type": "string",
            "description": "Timestamp to verify version before editing, use the timestamp value from last time get",
            "example": "00000000000017B7"
          },
          "DepositAccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Accountnumber of the deposit to book on, only use on cash purchases",
            "format": "int32",
            "example": 55000
          },
          "RegionKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Region the purchase was made from, can be: EU, DK or World. Only used for cash purchases, should be null for credit purchase",
            "example": "DK"
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Id of the file associated with the purchase",
            "example": "web0crmck5v0ndcx3313g6zn61tc7wgc"
          },
          "ContactGuid": {
            "type": "string",
            "description": "Guid of the contact the purchase was made from, only used for credit purchases",
            "format": "uuid",
            "example": "75b3c512-3d11-492a-a6fb-f22acbd62878"
          },
          "PaymentDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "Date of payment, do not set on cash purchases, payment deadline for credit purchases",
            "example": "2022-05-16"
          },
          "PurchaseType": {
            "minLength": 1,
            "type": "string",
            "description": "Type of purchase, can be: cash or credit",
            "example": "cash"
          },
          "CurrencyKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Currency of the purchase, should not be set for cash purchases, defaults to DKK for credit purchases"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebShopID:42"
          }
        },
        "additionalProperties": false,
        "description": "Used for updating purchase vouchers"
      },
      "ReminderBookModel": {
        "required": [
          "Timestamp"
        ],
        "type": "object",
        "properties": {
          "Timestamp": {
            "minLength": 1,
            "type": "string",
            "description": "Timestamp to validate against. This is a safety measure to ensure that an API partner is only making changes to the latest version of the entity.\nThe timestamp is generated on Dinero's server every time the entity is updated, and is returned as a part of CreatedResponse and UpdatedResponse. It's also available on the entity itself.\nIf you get a timestamp outdated exception (error code 58), you will need to get the latest version of the entity and use its timestamp.",
            "example": "00000000020A5EA8"
          }
        },
        "additionalProperties": false
      },
      "ReminderCreateModel": {
        "required": [
          "Date",
          "Timestamp",
          "WithCompensationFee",
          "WithDebtCollectionWarning",
          "WithFee",
          "WithInterestFee"
        ],
        "type": "object",
        "properties": {
          "Timestamp": {
            "minLength": 1,
            "type": "string",
            "description": "Timestamp to validate against. This is a safety measure to ensure that an API partner is only making changes to the latest version of the entity.\nThe timestamp is generated on Dinero's server every time the entity is updated, and is returned as a part of CreatedResponse and UpdatedResponse. It's also available on the entity itself.\nIf you get a timestamp outdated exception (error code 58), you will need to get the latest version of the entity and use its timestamp.",
            "example": "00000000020A5EA8"
          },
          "Date": {
            "minLength": 1,
            "type": "string",
            "description": "Reminder date",
            "example": "2020-12-02"
          },
          "Title": {
            "type": [
              "null",
              "string"
            ],
            "description": "Reminder title",
            "example": "Rykker 1"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "Reminder description",
            "example": "\n             Vedr. vort tilgodehavende i henhold til faktura 1 af fakturadato 29/05/2020.\n            \n             Vi kan desværre konstatere, at vi ikke har modtaget betaling af vort tilgodehavende i henhold til ovennævnte faktura.\n             Vi skal derfor venligst bede dig om at indbetale vort tilgodehavende så hurtigt som muligt til nedenstående bankkonto.\n             "
          },
          "WithDebtCollectionWarning": {
            "type": "boolean",
            "description": "Should the reminder include debt collection warning text"
          },
          "WithFee": {
            "type": "boolean",
            "description": "Should the reminder include fee"
          },
          "WithInterestFee": {
            "type": "boolean",
            "description": "Should the reminder include interest fee"
          },
          "WithCompensationFee": {
            "type": "boolean",
            "description": "Should the reminder include compensation fee"
          }
        },
        "additionalProperties": false
      },
      "ReminderDeleteModel": {
        "required": [
          "Timestamp"
        ],
        "type": "object",
        "properties": {
          "Timestamp": {
            "minLength": 1,
            "type": "string",
            "description": "Timestamp to validate against. This is a safety measure to ensure that an API partner is only making changes to the latest version of the entity.\nThe timestamp is generated on Dinero's server every time the entity is updated, and is returned as a part of CreatedResponse and UpdatedResponse. It's also available on the entity itself.\nIf you get a timestamp outdated exception (error code 58), you will need to get the latest version of the entity and use its timestamp.",
            "example": "00000000020A5EA8"
          }
        },
        "additionalProperties": false
      },
      "ReminderFetchModel": {
        "required": [
          "Date",
          "WithCompensationFee",
          "WithDebtCollectionWarning",
          "WithFee",
          "WithInterestFee"
        ],
        "type": "object",
        "properties": {
          "Date": {
            "minLength": 1,
            "type": "string",
            "description": "Reminder date",
            "example": "2020-12-02"
          },
          "WithDebtCollectionWarning": {
            "type": "boolean",
            "description": "Should the reminder include debt collection warning text"
          },
          "WithFee": {
            "type": "boolean",
            "description": "Should the reminder include fee"
          },
          "WithInterestFee": {
            "type": "boolean",
            "description": "Should the reminder include interest fee"
          },
          "WithCompensationFee": {
            "type": "boolean",
            "description": "Should the reminder include compensation fee"
          }
        },
        "additionalProperties": false
      },
      "ReminderViewModel": {
        "required": [
          "AccumulatedFeesAndInterestAmount",
          "CompensationFeeAmount",
          "CompensationFeeAvailable",
          "Date",
          "FeeAmount",
          "InvoiceTotalInclVatAmount",
          "IsDeleted",
          "IsDraft",
          "Number",
          "PaidAmount",
          "ReminderTotalInclVatAmount",
          "Timestamp",
          "WithCompensationFee",
          "WithDebtCollectionWarning",
          "WithFee",
          "WithInterestFee"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "IsDraft": {
            "type": "boolean"
          },
          "IsDeleted": {
            "type": "boolean"
          },
          "Number": {
            "type": "integer",
            "description": "Reminder number",
            "format": "int32",
            "example": 1
          },
          "DebtCollectionNoticeText": {
            "type": [
              "null",
              "string"
            ],
            "description": "The text to show if \"WithDebtCollectionWarning\" is selected",
            "example": "\n            Denne rykker er samtidig et påkrav og varsel i henhold til inkassolovens § 10.\n            Sker betaling ikke senest 10 dage fra dato, vil dette kunne medføre, at der pålægges\n            yderligere omkostninger idet sagen herefter vil blive sendt til inkasso,\n            hvis ikke vi har hørt fra dig.\n            "
          },
          "InvoiceTotalInclVatAmountText": {
            "type": [
              "null",
              "string"
            ],
            "description": "The text to show with InvoiceTotalInclVatAmount",
            "example": "Hovedstol fra ovennævnte faktura"
          },
          "InvoiceTotalInclVatAmount": {
            "type": "number",
            "description": "The invoice total amount incl vat",
            "format": "double",
            "example": 266.25
          },
          "FeeAmountText": {
            "type": [
              "null",
              "string"
            ],
            "description": "The text to show with FeeAmount",
            "example": "Rykkergebyr, jvf. rentelovens § 9b, stk. 1, jf. stk. 2"
          },
          "FeeAmount": {
            "type": "number",
            "description": "The fee",
            "format": "double",
            "example": 100.00
          },
          "InterestAmountText": {
            "type": [
              "null",
              "string"
            ],
            "description": "The text to show with InterestAmount",
            "example": "Renter 0,70% for perioden 06/06/2020 til 30/06/2020"
          },
          "InterestAmount": {
            "type": [
              "null",
              "number"
            ],
            "description": "The interest",
            "format": "double",
            "example": 100.00
          },
          "CompensationFeeAvailable": {
            "type": "boolean",
            "description": "Indicates if the reminder can have a compensation fee"
          },
          "CompensationFeeAmountText": {
            "type": [
              "null",
              "string"
            ],
            "description": "The text to show with CompensationFeeAmount",
            "example": "Kompensationsgebyr, jvf. rentelovens § 9a, stk. 3"
          },
          "CompensationFeeAmount": {
            "type": "number",
            "description": "The compensation fee",
            "format": "double",
            "example": 310.00
          },
          "AccumulatedFeesAndInterestAmountText": {
            "type": [
              "null",
              "string"
            ],
            "description": "The text to show with AccumulatedFeesAndInterestAmount",
            "example": "Rykkergebyrer, -renter og evt. kompensationsgebyr fra tidligere rykkere"
          },
          "AccumulatedFeesAndInterestAmount": {
            "type": "number",
            "description": "Reminder fees, interest rates and any compensation fee from previous reminders",
            "format": "double",
            "example": 410.24
          },
          "PaidAmountText": {
            "type": [
              "null",
              "string"
            ],
            "description": "The text to show with PaidAmount",
            "example": "Allerede registrerede indbetalinger"
          },
          "PaidAmount": {
            "type": "number",
            "description": "Already paid amount",
            "format": "double",
            "example": -100.00
          },
          "ReminderTotalInclVatAmountText": {
            "type": [
              "null",
              "string"
            ],
            "description": "Text for ReminderTotalInclVatAmount"
          },
          "ReminderTotalInclVatAmount": {
            "type": "number",
            "description": "Total amount for the reminder",
            "format": "double",
            "example": 677.25
          },
          "Timestamp": {
            "minLength": 1,
            "type": "string",
            "description": "Timestamp to validate against. This is a safety measure to ensure that an API partner is only making changes to the latest version of the entity.\nThe timestamp is generated on Dinero's server every time the entity is updated, and is returned as a part of CreatedResponse and UpdatedResponse. It's also available on the entity itself.\nIf you get a timestamp outdated exception (error code 58), you will need to get the latest version of the entity and use its timestamp.",
            "example": "00000000020A5EA8"
          },
          "Date": {
            "minLength": 1,
            "type": "string",
            "description": "Reminder date",
            "example": "2020-12-02"
          },
          "Title": {
            "type": [
              "null",
              "string"
            ],
            "description": "Reminder title",
            "example": "Rykker 1"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "Reminder description",
            "example": "\n             Vedr. vort tilgodehavende i henhold til faktura 1 af fakturadato 29/05/2020.\n            \n             Vi kan desværre konstatere, at vi ikke har modtaget betaling af vort tilgodehavende i henhold til ovennævnte faktura.\n             Vi skal derfor venligst bede dig om at indbetale vort tilgodehavende så hurtigt som muligt til nedenstående bankkonto.\n             "
          },
          "WithDebtCollectionWarning": {
            "type": "boolean",
            "description": "Should the reminder include debt collection warning text"
          },
          "WithFee": {
            "type": "boolean",
            "description": "Should the reminder include fee"
          },
          "WithInterestFee": {
            "type": "boolean",
            "description": "Should the reminder include interest fee"
          },
          "WithCompensationFee": {
            "type": "boolean",
            "description": "Should the reminder include compensation fee"
          }
        },
        "additionalProperties": false
      },
      "RequiredTimestampObject": {
        "required": [
          "Timestamp"
        ],
        "type": "object",
        "properties": {
          "Timestamp": {
            "minLength": 1,
            "type": "string",
            "description": "Timestamp to validate against.\nThis is a safety measure, making it possible to ensure that changes are made to the latest version of the entity.\nThe timestamp is generated on Dinero's server every time the entity is updated, and is returned as a part of CreatedResponse and UpdatedResponse. It's also available on the entity itself.\nIf you get a timestamp outdated exception (error code 58), you will need to get the latest version of the entity and use its timestamp.",
            "example": "00000000020A5EA8"
          }
        },
        "additionalProperties": false,
        "description": "Timestamp container"
      },
      "ResultReportApiModel": {
        "required": [
          "AccountNumber",
          "Amount"
        ],
        "type": "object",
        "properties": {
          "AccountName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Account name",
            "example": "Omsætning"
          },
          "AccountNumber": {
            "type": "integer",
            "description": "Account number",
            "format": "int32",
            "example": 1300
          },
          "Amount": {
            "type": "number",
            "description": "Total amount",
            "format": "double",
            "example": 0.0
          }
        },
        "additionalProperties": false,
        "description": "A line in the result report (resultatopgørelse): an income or expense account and its total."
      },
      "SalarySumTaxStateEnum": {
        "enum": [
          "None",
          "OnlySalarySum",
          "MixedActivities"
        ],
        "type": "string"
      },
      "SalarySumTaxVoucherType": {
        "enum": [
          "None",
          "OnlySalarySum",
          "MixedActivities",
          "OnlyVat"
        ],
        "type": "string"
      },
      "SaldoBalanceReportApiModel": {
        "required": [
          "AccountNumber",
          "Amount"
        ],
        "type": "object",
        "properties": {
          "AccountName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Account name",
            "example": "Omsætning"
          },
          "AccountNumber": {
            "type": "integer",
            "description": "Account number",
            "format": "int32",
            "example": 1300
          },
          "Amount": {
            "type": "number",
            "description": "Total amount",
            "format": "double",
            "example": 0.0
          }
        },
        "additionalProperties": false,
        "description": "A line in the saldo-balance report (saldobalance): an account and its total. The\nsaldo-balance combines the result and balance in one report."
      },
      "SalesCreditNoteCreateFetchModel": {
        "required": [
          "ProductLines"
        ],
        "type": "object",
        "properties": {
          "CreditNoteFor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional id of the invoice the credit note is based on.",
            "format": "uuid"
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Dinero contact guid. Optional for creating a draft, required for booking.",
            "format": "uuid"
          },
          "Guid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional guid for the object. If not set the system will create a guid returned in the response.",
            "format": "uuid",
            "example": "3a315ad3-ddcc-419d-9fc5-219280ae4816"
          },
          "ShowLinesInclVat": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "If your user (or your system) prefers to provide the line amounts incl. VAT, then this property should be set to true. All voucher lines will be assumed to have amounts incl VAT.\nIf your lines are excl VAT, you do not need to set this property. It will defaults to false.",
            "example": false
          },
          "InvoiceTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Template id to use for design. If null, the default one will be used.",
            "format": "uuid"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the voucher. Defaults to DKK if null. Dinero will assign days date currency rate for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Language": {
            "type": [
              "null",
              "string"
            ],
            "description": "The language to be used in the voucher. Available languages are 'da-DK' and 'en-GB'. Defaults to 'da-DK'.",
            "example": "en-GB"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebshopSpecialId: 42"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied description of the voucher e.g. 'Custom Invoice description'. Defaults to document type e.g. 'Invoice', 'Offer', 'Creditnote' using the selected language.",
            "example": "Description of document type. Fx.: invoice, credit note or offer"
          },
          "Comment": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment on the voucher",
            "example": "Here is a comment"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the creation/issuing. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "ProductLines": {
            "type": "array",
            "items": {
              "description": "Model for a line on a invoice",
              "$ref": "#/components/schemas/InvoiceLinesCreateModel"
            },
            "description": "User supplied invoice lines. Minimum one."
          },
          "Address": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact address (linebreaks are allowed '\\n'). When null is specified the address defaults to the contacts address.",
            "example": "Test Road 3 2300 Copenhagen S Denmark"
          }
        },
        "additionalProperties": false,
        "description": "Model for fetching a credit note."
      },
      "SalesCreditNoteCreateModel": {
        "required": [
          "ProductLines"
        ],
        "type": "object",
        "properties": {
          "CreditNoteFor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional id of the invoice the credit note is based on.",
            "format": "uuid"
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Dinero contact guid. Optional for creating a draft, required for booking.",
            "format": "uuid"
          },
          "Guid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional guid for the object. If not set the system will create a guid returned in the response.",
            "format": "uuid",
            "example": "3a315ad3-ddcc-419d-9fc5-219280ae4816"
          },
          "ShowLinesInclVat": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "If your user (or your system) prefers to provide the line amounts incl. VAT, then this property should be set to true. All voucher lines will be assumed to have amounts incl VAT.\nIf your lines are excl VAT, you do not need to set this property. It will defaults to false.",
            "example": false
          },
          "InvoiceTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Template id to use for design. If null, the default one will be used.",
            "format": "uuid"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the voucher. Defaults to DKK if null. Dinero will assign days date currency rate for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Language": {
            "type": [
              "null",
              "string"
            ],
            "description": "The language to be used in the voucher. Available languages are 'da-DK' and 'en-GB'. Defaults to 'da-DK'.",
            "example": "en-GB"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebshopSpecialId: 42"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied description of the voucher e.g. 'Custom Invoice description'. Defaults to document type e.g. 'Invoice', 'Offer', 'Creditnote' using the selected language.",
            "example": "Description of document type. Fx.: invoice, credit note or offer"
          },
          "Comment": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment on the voucher",
            "example": "Here is a comment"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the creation/issuing. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "ProductLines": {
            "type": "array",
            "items": {
              "description": "Model for a line on a invoice",
              "$ref": "#/components/schemas/InvoiceLinesCreateModel"
            },
            "description": "User supplied invoice lines. Minimum one."
          },
          "Address": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact address (linebreaks are allowed '\\n'). When null is specified the address defaults to the contacts address.",
            "example": "Test Road 3 2300 Copenhagen S Denmark"
          }
        },
        "additionalProperties": false,
        "description": "Model for creating a credit note"
      },
      "SalesCreditNoteFetchReadModel": {
        "required": [
          "Number",
          "ProductLines",
          "ShowLinesInclVat",
          "TotalExclVat",
          "TotalInclVat",
          "TotalNonVatableAmount",
          "TotalVat",
          "TotalVatableAmount"
        ],
        "type": "object",
        "properties": {
          "CreditNoteFor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Id of the invoice the creditnote is based on.",
            "format": "uuid"
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Dinero contact guid.",
            "format": "uuid"
          },
          "Number": {
            "type": "integer",
            "description": "The number of the voucher.",
            "format": "int64",
            "example": 12
          },
          "ContactName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact name",
            "example": "My Customer"
          },
          "ShowLinesInclVat": {
            "type": "boolean",
            "description": "If true, the user prefers the invoice to be displayed with lines incl vat.",
            "example": false
          },
          "TotalExclVat": {
            "type": "number",
            "description": "Total amount without vat",
            "format": "double",
            "example": 200
          },
          "TotalVatableAmount": {
            "type": "number",
            "description": "Total amount to calculate the vat from",
            "format": "double",
            "example": 200
          },
          "TotalInclVat": {
            "type": "number",
            "description": "Total amount incl. vat",
            "format": "double",
            "example": 250
          },
          "TotalNonVatableAmount": {
            "type": "number",
            "description": "Total vat free amount",
            "format": "double",
            "example": 0
          },
          "TotalVat": {
            "type": "number",
            "description": "Total vat amount",
            "format": "double",
            "example": 50
          },
          "TotalLines": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Total line",
              "$ref": "#/components/schemas/TotalLine"
            },
            "description": "Total lines. SubTotal, Vat and Total. Only lines valid for display in the current context are returned."
          },
          "InvoiceTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Template id to use for design.",
            "format": "uuid"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the voucher. Defaults to DKK if null. Dinero will assign days date currency rate for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Language": {
            "type": [
              "null",
              "string"
            ],
            "description": "The language to be used in the voucher. Available languages are 'da-DK' and 'en-GB'. Defaults to 'da-DK'.",
            "example": "en-GB"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebshopSpecialId: 42"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied description of the voucher e.g. 'Custom Invoice description'. Defaults to document type e.g. 'Invoice', 'Offer', 'Creditnote' using the selected language.",
            "example": "Description of document type. Fx.: invoice, credit note or offer"
          },
          "Comment": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment on the voucher",
            "example": "Here is a comment"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the creation/issuing. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "ProductLines": {
            "type": "array",
            "items": {
              "description": "A single line on a sales invoice. Concrete so the payload can be deserialized.",
              "$ref": "#/components/schemas/InvoiceLinesReadModel"
            },
            "description": "User supplied invoice lines. Minimum one."
          },
          "Address": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact address (linebreaks are allowed '\\n'). When null is specified the address defaults to the contacts address.",
            "example": "Test Road 3 2300 Copenhagen S Denmark"
          }
        },
        "additionalProperties": false,
        "description": "Represent a invoice"
      },
      "SalesCreditNoteReadModel": {
        "required": [
          "Guid",
          "Number",
          "ProductLines",
          "ShowLinesInclVat",
          "TotalExclVat",
          "TotalInclVat",
          "TotalNonVatableAmount",
          "TotalVat",
          "TotalVatableAmount"
        ],
        "type": "object",
        "properties": {
          "CreditNoteFor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Id of the invoice the creditnote is based on.",
            "format": "uuid"
          },
          "MailOutStatus": {
            "type": [
              "null",
              "string"
            ],
            "description": "The mailout can have following status:\nNotSent, Sent or SeenByCustomer, Failed.\nSeenByCustomer, means the user has clicked on the link in the mailout and viewed the sales voucher.\nAny type of mailout (email, reminder, pre-reminder, e-invoice), will change the status from NotSent to Sent.",
            "example": "Sent, NotSent, Failed, SeenByCustomer"
          },
          "LatestMailOutType": {
            "type": [
              "null",
              "string"
            ],
            "description": "The mailout category can have following values:\neinvoice, electronicInvoiceReminder, inkasso, mailout, orderConfirmation, preReminder, reminder, tradeOffer",
            "example": "einvoice"
          },
          "PaymentStatus": {
            "type": [
              "null",
              "string"
            ],
            "description": "The payment status can have the following values:\nDraft, Booked, Paid, OverPaid or Overdue"
          },
          "Status": {
            "type": [
              "null",
              "string"
            ],
            "description": "A sales voucher can have status Draft or Booked.",
            "example": "Draft"
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Dinero contact guid.",
            "format": "uuid"
          },
          "Guid": {
            "type": "string",
            "description": "The guid of the voucher",
            "format": "uuid"
          },
          "TimeStamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "Timestamp of version. To avoid concurrency issues.",
            "example": "00000000020A5EA8"
          },
          "CreatedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time of creation",
            "format": "date-time"
          },
          "UpdatedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time of last update",
            "format": "date-time"
          },
          "DeletedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time of deletion. Null unless the object is deleted.",
            "format": "date-time"
          },
          "Number": {
            "type": "integer",
            "description": "The number of the voucher.",
            "format": "int64",
            "example": 12
          },
          "ContactName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact name",
            "example": "My Customer"
          },
          "ShowLinesInclVat": {
            "type": "boolean",
            "description": "If true, the user prefers the invoice to be displayed with lines incl vat.",
            "example": false
          },
          "TotalExclVat": {
            "type": "number",
            "description": "Total amount without vat",
            "format": "double",
            "example": 200
          },
          "TotalVatableAmount": {
            "type": "number",
            "description": "Total amount to calculate the vat from",
            "format": "double",
            "example": 200
          },
          "TotalInclVat": {
            "type": "number",
            "description": "Total amount incl. vat",
            "format": "double",
            "example": 250
          },
          "TotalNonVatableAmount": {
            "type": "number",
            "description": "Total vat free amount",
            "format": "double",
            "example": 0
          },
          "TotalVat": {
            "type": "number",
            "description": "Total vat amount",
            "format": "double",
            "example": 50
          },
          "TotalLines": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Total line",
              "$ref": "#/components/schemas/TotalLine"
            },
            "description": "Total lines. SubTotal, Vat and Total. Only lines valid for display in the current context are returned."
          },
          "InvoiceTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Template id to use for design.",
            "format": "uuid"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the voucher. Defaults to DKK if null. Dinero will assign days date currency rate for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Language": {
            "type": [
              "null",
              "string"
            ],
            "description": "The language to be used in the voucher. Available languages are 'da-DK' and 'en-GB'. Defaults to 'da-DK'.",
            "example": "en-GB"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebshopSpecialId: 42"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied description of the voucher e.g. 'Custom Invoice description'. Defaults to document type e.g. 'Invoice', 'Offer', 'Creditnote' using the selected language.",
            "example": "Description of document type. Fx.: invoice, credit note or offer"
          },
          "Comment": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment on the voucher",
            "example": "Here is a comment"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the creation/issuing. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "ProductLines": {
            "type": "array",
            "items": {
              "description": "A single line on a sales invoice. Concrete so the payload can be deserialized.",
              "$ref": "#/components/schemas/InvoiceLinesReadModel"
            },
            "description": "User supplied invoice lines. Minimum one."
          },
          "Address": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact address (linebreaks are allowed '\\n'). When null is specified the address defaults to the contacts address.",
            "example": "Test Road 3 2300 Copenhagen S Denmark"
          }
        },
        "additionalProperties": false,
        "description": "Represent a invoice"
      },
      "SalesCreditNoteUpdateModel": {
        "required": [
          "ProductLines",
          "Timestamp"
        ],
        "type": "object",
        "properties": {
          "Timestamp": {
            "minLength": 1,
            "type": "string",
            "description": "Version of the credit note"
          },
          "CreditNoteFor": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional id of the invoice the credit note is based on.",
            "format": "uuid"
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Dinero contact guid. Optional for creating a draft, required for booking.",
            "format": "uuid"
          },
          "Guid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional guid for the object. If not set the system will create a guid returned in the response.",
            "format": "uuid",
            "example": "3a315ad3-ddcc-419d-9fc5-219280ae4816"
          },
          "ShowLinesInclVat": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "If your user (or your system) prefers to provide the line amounts incl. VAT, then this property should be set to true. All voucher lines will be assumed to have amounts incl VAT.\nIf your lines are excl VAT, you do not need to set this property. It will defaults to false.",
            "example": false
          },
          "InvoiceTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Template id to use for design. If null, the default one will be used.",
            "format": "uuid"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the voucher. Defaults to DKK if null. Dinero will assign days date currency rate for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Language": {
            "type": [
              "null",
              "string"
            ],
            "description": "The language to be used in the voucher. Available languages are 'da-DK' and 'en-GB'. Defaults to 'da-DK'.",
            "example": "en-GB"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebshopSpecialId: 42"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied description of the voucher e.g. 'Custom Invoice description'. Defaults to document type e.g. 'Invoice', 'Offer', 'Creditnote' using the selected language.",
            "example": "Description of document type. Fx.: invoice, credit note or offer"
          },
          "Comment": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment on the voucher",
            "example": "Here is a comment"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the creation/issuing. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "ProductLines": {
            "type": "array",
            "items": {
              "description": "Model for a line on a invoice",
              "$ref": "#/components/schemas/InvoiceLinesCreateModel"
            },
            "description": "User supplied invoice lines. Minimum one."
          },
          "Address": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact address (linebreaks are allowed '\\n'). When null is specified the address defaults to the contacts address.",
            "example": "Test Road 3 2300 Copenhagen S Denmark"
          }
        },
        "additionalProperties": false,
        "description": "Model for updating a credit note."
      },
      "SalesVoucherReadListModel": {
        "required": [
          "Guid",
          "Number",
          "TotalExclVat",
          "TotalExclVatInDkk",
          "TotalInclVat",
          "TotalInclVatInDkk"
        ],
        "type": "object",
        "properties": {
          "Number": {
            "type": "integer",
            "description": "The number of the voucher.",
            "format": "int64",
            "example": 12
          },
          "Guid": {
            "type": "string",
            "description": "The guid of the voucher",
            "format": "uuid"
          },
          "ExternalReference": {
            "type": [
              "null",
              "string"
            ],
            "description": "Gets or sets the external id - this can be used for id'ing in external apps/services. Like\nsome id string in a web shop\nThe maximum length is 128 characters",
            "example": "yourReference"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the creation/issuing. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-05-12"
          },
          "PaymentDate": {
            "type": [
              "null",
              "string"
            ],
            "description": "The invoice's payment date. This should be in the format YYYY-MM-DD e.g. 2015-12-02. It's null on credit notes.",
            "example": "2022-05-12"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied description of the voucher e.g. 'Custom Invoice description'.\nDefaults to document type e.g. 'Invoice', 'Offer', 'Creditnote' using the selected language.",
            "example": "Description of document type. Fx.: invoice, credit note or offer"
          },
          "Status": {
            "type": [
              "null",
              "string"
            ],
            "description": "An sales voucher can have status Draft, Booked, Paid, OverPaid or Overdue",
            "example": "Draft"
          },
          "Type": {
            "type": [
              "null",
              "string"
            ],
            "description": "An sales voucher can have two types, Invoice or CreditNote",
            "example": "Invoice"
          },
          "ContactName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact name",
            "example": "My Customer"
          },
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Guid of the contact",
            "format": "uuid",
            "example": "74ba828f-0b4b-49e1-b5c9-ef9675755556"
          },
          "TotalInclVat": {
            "type": "number",
            "description": "Total amount incl. VAT",
            "format": "double",
            "example": 250
          },
          "TotalExclVat": {
            "type": "number",
            "description": "Total amount excl. VAT",
            "format": "double",
            "example": 200
          },
          "TotalInclVatInDkk": {
            "type": "number",
            "description": "Total amount incl. VAT in DKK",
            "format": "double",
            "example": 1850
          },
          "TotalExclVatInDkk": {
            "type": "number",
            "description": "Total amount excl. VAT in DKK",
            "format": "double",
            "example": 1500
          },
          "MailOutStatus": {
            "type": [
              "null",
              "string"
            ],
            "description": "The voucher can have following status:\nNotSent, Sent or SeenByCustomer.\nSeenByCustomer, means the user has clicked on the link in the mailout and viewed the sales voucher.\nAny type of mailout (email, reminder, pre-reminder, e-invoice), will change the status from NotSent to Sent.",
            "example": "Sent"
          },
          "LatestMailOutType": {
            "type": [
              "null",
              "string"
            ],
            "description": "The mailout category can have following values:\nEinvoice, ElectronicInvoiceReminder, Inkasso, Mailout, OrderConfirmation, PreReminder, Reminder, TradeOffer, None",
            "example": "einvoice"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "Currencies are given in format: DKK, EUR, USD etc...",
            "example": "EUR"
          },
          "CreatedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time of creation",
            "format": "date-time"
          },
          "UpdatedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time of last update",
            "format": "date-time"
          },
          "DeletedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time of deletion. Null unless the object is deleted.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Light voucher model, to be used in list views and search results"
      },
      "SalesVoucherReadListModelDineroCollection": {
        "required": [
          "Pagination"
        ],
        "type": "object",
        "properties": {
          "Collection": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Light voucher model, to be used in list views and search results",
              "$ref": "#/components/schemas/SalesVoucherReadListModel"
            },
            "description": "Collection containing the result of the request."
          },
          "Pagination": {
            "description": "Pagination information.",
            "$ref": "#/components/schemas/PaginationDetails"
          }
        },
        "additionalProperties": false,
        "description": "Generic paged result returned by the Dinero public API list endpoints."
      },
      "SalesVoucherSetttingsModel": {
        "required": [
          "AddVoucherAsPdfAttachment",
          "DefaultAccountNumber",
          "LinesInclVat",
          "PaymentConditionNumberOfDays",
          "ReminderFee",
          "ReminderInterestRate",
          "UseFikCode"
        ],
        "type": "object",
        "properties": {
          "LinesInclVat": {
            "type": "boolean",
            "description": "The users preference, whether the lines should be displayed incl VAT or not",
            "example": false
          },
          "FikCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "FI71 paymentidentification. For the FIK code +71<000000016460909+12345678< this would be 12345678",
            "example": "12345678"
          },
          "UseFikCode": {
            "type": "boolean",
            "description": "The users preference, whether to use FIK code or not",
            "example": true
          },
          "DefaultAccountNumber": {
            "type": "integer",
            "description": "Default voucher line account",
            "format": "int32",
            "example": 1000
          },
          "InvoiceTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "description": "The default template id to use for design.",
            "format": "uuid"
          },
          "AddVoucherAsPdfAttachment": {
            "type": "boolean",
            "description": "The users preference, whether to attach voucher as pdf on e-mails"
          },
          "ReminderFee": {
            "type": "number",
            "description": "The default reminder fee to use on any reminders created from the voucher",
            "format": "double"
          },
          "ReminderInterestRate": {
            "type": "number",
            "description": "The default reminder interest rate to use on any reminders created from the voucher",
            "format": "double"
          },
          "TrustPilotEmail": {
            "type": [
              "null",
              "string"
            ],
            "description": "The Trustpilot-email to include as BCC in invoice mail outs."
          },
          "PaymentConditionNumberOfDays": {
            "type": "integer",
            "description": "The default payment condition number of days",
            "format": "int32"
          },
          "PaymentConditionType": {
            "type": [
              "null",
              "string"
            ],
            "description": "The default payment condition type"
          }
        },
        "additionalProperties": false,
        "description": "Default SalesVoucherSettings"
      },
      "SimilarPurchaseVoucherReadModel": {
        "required": [
          "SimilarFound"
        ],
        "type": "object",
        "properties": {
          "VoucherNumber": {
            "type": [
              "null",
              "integer"
            ],
            "description": "The voucherNumber of the similar voucher, null if no similar voucher exists",
            "format": "int64"
          },
          "SimilarGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "The guid of the similar voucher, null if no similar voucher exists",
            "format": "uuid"
          },
          "SimilarFound": {
            "type": "boolean",
            "description": "Indicates if a similar voucher has been found"
          }
        },
        "additionalProperties": false
      },
      "SimilarTemplateVoucherExistsModel": {
        "required": [
          "SalarySumTaxVoucherType"
        ],
        "type": "object",
        "properties": {
          "VoucherDate": {
            "type": [
              "null",
              "string"
            ]
          },
          "Description": {
            "type": [
              "null",
              "string"
            ]
          },
          "FromDepositAccountId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "FromDepositAccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "Amount": {
            "type": [
              "null",
              "number"
            ],
            "format": "double"
          },
          "SecondaryAmount": {
            "type": [
              "null",
              "number"
            ],
            "format": "double"
          },
          "Month": {
            "type": [
              "null",
              "string"
            ]
          },
          "ToDepositAccountId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "ToDepositAccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "InterestType": {
            "type": [
              "null",
              "string"
            ]
          },
          "SalarySumTaxVoucherType": {
            "$ref": "#/components/schemas/SalarySumTaxVoucherType"
          }
        },
        "additionalProperties": false
      },
      "SmsSendModel": {
        "required": [
          "IsReminder",
          "ReceiverName",
          "ReceiverPhoneNumber",
          "Timestamp"
        ],
        "type": "object",
        "properties": {
          "ReceiverPhoneNumber": {
            "minLength": 1,
            "type": "string",
            "description": "Receiver Phonenumber",
            "example": "34343434"
          },
          "ReceiverName": {
            "minLength": 1,
            "type": "string",
            "description": "Receiver Name",
            "example": "Anders Andersen"
          },
          "Timestamp": {
            "minLength": 1,
            "type": "string",
            "description": "Timestamp of the voucher that is being sent",
            "example": "000000000000271C"
          },
          "IsReminder": {
            "type": "boolean",
            "description": "IsReminder is true if the text message is a reminder"
          },
          "Message": {
            "type": [
              "null",
              "string"
            ],
            "description": "\"You can use the \"Message\" field to provide a custom message instead of the default one. If you want to include the voucher link within your text, simply insert [link-to-pdf] at the desired location in the message. Otherwise, if you don't specify the location, the link will be automatically appended to the end of the message.\""
          }
        },
        "additionalProperties": false
      },
      "SmsValidationRequestModel": {
        "type": "object",
        "properties": {
          "Content": {
            "type": [
              "null",
              "string"
            ],
            "description": "The content to validate"
          },
          "PhoneNumber": {
            "type": [
              "null",
              "string"
            ],
            "description": "The phone number to validate"
          }
        },
        "additionalProperties": false,
        "description": "Data regarding the SMS to validate"
      },
      "SmsValidationResultModel": {
        "required": [
          "ExceedsMaxLength",
          "HasIllegalLink",
          "HasInvalidPhoneNumber"
        ],
        "type": "object",
        "properties": {
          "HasIllegalLink": {
            "type": "boolean",
            "description": "Indicates if the content includes an illegal link"
          },
          "IllegalLinkText": {
            "type": [
              "null",
              "string"
            ],
            "description": "The found illegal link, if one is found"
          },
          "ExceedsMaxLength": {
            "type": "boolean",
            "description": "Indicates if the content is longer than allowed"
          },
          "HasInvalidPhoneNumber": {
            "type": "boolean",
            "description": "Indicates if the phone number is invalid"
          },
          "InvalidPhoneNumberErrorDescription": {
            "type": [
              "null",
              "string"
            ],
            "description": "The description of the phone number validation error"
          }
        },
        "additionalProperties": false,
        "description": "Resulting model of SMS validation"
      },
      "SubscribeToWebhookModel": {
        "type": "object",
        "properties": {
          "Uri": {
            "type": [
              "null",
              "string"
            ],
            "format": "uri"
          },
          "EventId": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "SubscriptionReadModel": {
        "required": [
          "HasPayingPro",
          "HasPro",
          "HasStarterPlus",
          "HasTotal",
          "HasYfs"
        ],
        "type": "object",
        "properties": {
          "HasPro": {
            "type": "boolean",
            "description": "Whether the organization has access to Pro features",
            "example": false
          },
          "HasPayingPro": {
            "type": "boolean",
            "description": "Whether the organization has a paying Pro subscription",
            "example": false
          },
          "HasStarterPlus": {
            "type": "boolean",
            "description": "Whether the organization has a paying Starter subscription",
            "example": false
          },
          "HasTotal": {
            "type": "boolean",
            "description": "Whether the organization has a Total subscription",
            "example": false
          },
          "HasYfs": {
            "type": "boolean",
            "description": "Whether the organization has a yearly financial statement subscription",
            "example": false
          }
        },
        "additionalProperties": false,
        "description": "Subscription summary for an organization"
      },
      "SupportersAllowedToAccessOrganization": {
        "required": [
          "IsSupportersAllowedToAccessOrganization"
        ],
        "type": "object",
        "properties": {
          "IsSupportersAllowedToAccessOrganization": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "TimestampModel": {
        "required": [
          "Timestamp"
        ],
        "type": "object",
        "properties": {
          "Timestamp": {
            "minLength": 1,
            "type": "string",
            "description": "Timestamp to validate against. This is a safety measure to ensure that an API partner is only making changes to the latest version of the entity.\nThe timestamp is generated on Dinero's server every time the entity is updated, and is returned as a part of CreatedResponse and UpdatedResponse. It's also available on the entity itself.\nIf you get a timestamp outdated exception (error code 58), you will need to get the latest version of the entity and use its timestamp.",
            "example": "00000000020A5EA8"
          }
        },
        "additionalProperties": false
      },
      "TimestampObject": {
        "type": "object",
        "properties": {
          "Timestamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "The version timestamp of the targeted object.",
            "example": "00000000020A5EA8"
          }
        },
        "additionalProperties": false,
        "description": "Wraps a version timestamp used for optimistic concurrency on write operations."
      },
      "TotalLine": {
        "required": [
          "TotalAmount"
        ],
        "type": "object",
        "properties": {
          "Type": {
            "type": [
              "null",
              "string"
            ],
            "description": "The type of total line. Options are: SubTotal, SubTotalWithVat, SubTotalWithoutVat, Vat and Total.",
            "example": "SubTotal"
          },
          "TotalAmount": {
            "type": "number",
            "description": "Value to display",
            "format": "double",
            "example": 200.0
          },
          "Position": {
            "type": [
              "null",
              "integer"
            ],
            "description": "Position in which it should be displayed, if part of a list of total lines. 0-based index.",
            "format": "int32",
            "example": 0
          },
          "Label": {
            "type": [
              "null",
              "string"
            ],
            "description": "Label text",
            "example": "Subtotal"
          }
        },
        "additionalProperties": false,
        "description": "Total line"
      },
      "TradeOfferCreateFetchModel": {
        "required": [
          "ProductLines"
        ],
        "type": "object",
        "properties": {
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Dinero contact guid.",
            "format": "uuid"
          },
          "Guid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional guid for the object. If not set the system will create a guid returned in the response.",
            "format": "uuid",
            "example": "3a315ad3-ddcc-419d-9fc5-219280ae4816"
          },
          "ShowLinesInclVat": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "If your user (or your system) prefers to provide the line amounts incl. VAT, then this property should be set to true. All voucher lines will be assumed to have amounts incl VAT.\nIf your lines are excl VAT, you do not need to set this property. It will defaults to false.",
            "example": false
          },
          "InvoiceTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Template id to use for design. If null, the default one will be used.",
            "format": "uuid"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the voucher. Defaults to DKK if null. Dinero will assign days date currency rate for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Language": {
            "type": [
              "null",
              "string"
            ],
            "description": "The language to be used in the voucher. Available languages are 'da-DK' and 'en-GB'. Defaults to 'da-DK'.",
            "example": "en-GB"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebshopSpecialId: 42"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied description of the voucher e.g. 'Custom Invoice description'. Defaults to document type e.g. 'Invoice', 'Offer', 'Creditnote' using the selected language.",
            "example": "Description of document type. Fx.: invoice, credit note or offer"
          },
          "Comment": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment on the voucher",
            "example": "Here is a comment"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the creation/issuing. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "ProductLines": {
            "type": "array",
            "items": {
              "description": "Model for a line on a tradeoffer",
              "$ref": "#/components/schemas/TradeOfferLineCreateModel"
            },
            "description": "User supplied invoice lines. Minimum one."
          },
          "Address": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact address (linebreaks are allowed '\\n'). When null is specified the address defaults to the contacts address.",
            "example": "Test Road 3 2300 Copenhagen S Denmark"
          }
        },
        "additionalProperties": false,
        "description": "Model for fetching a trade offer."
      },
      "TradeOfferCreateModel": {
        "required": [
          "ContactGuid",
          "ProductLines"
        ],
        "type": "object",
        "properties": {
          "ContactGuid": {
            "type": "string",
            "description": "Dinero contact guid.",
            "format": "uuid"
          },
          "Guid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional guid for the object. If not set the system will create a guid returned in the response.",
            "format": "uuid",
            "example": "3a315ad3-ddcc-419d-9fc5-219280ae4816"
          },
          "ShowLinesInclVat": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "If your user (or your system) prefers to provide the line amounts incl. VAT, then this property should be set to true. All voucher lines will be assumed to have amounts incl VAT.\nIf your lines are excl VAT, you do not need to set this property. It will defaults to false.",
            "example": false
          },
          "InvoiceTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Template id to use for design. If null, the default one will be used.",
            "format": "uuid"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the voucher. Defaults to DKK if null. Dinero will assign days date currency rate for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Language": {
            "type": [
              "null",
              "string"
            ],
            "description": "The language to be used in the voucher. Available languages are 'da-DK' and 'en-GB'. Defaults to 'da-DK'.",
            "example": "en-GB"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebshopSpecialId: 42"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied description of the voucher e.g. 'Custom Invoice description'. Defaults to document type e.g. 'Invoice', 'Offer', 'Creditnote' using the selected language.",
            "example": "Description of document type. Fx.: invoice, credit note or offer"
          },
          "Comment": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment on the voucher",
            "example": "Here is a comment"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the creation/issuing. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "ProductLines": {
            "type": "array",
            "items": {
              "description": "Model for a line on a tradeoffer",
              "$ref": "#/components/schemas/TradeOfferLineCreateModel"
            },
            "description": "User supplied invoice lines. Minimum one."
          },
          "Address": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact address (linebreaks are allowed '\\n'). When null is specified the address defaults to the contacts address.",
            "example": "Test Road 3 2300 Copenhagen S Denmark"
          }
        },
        "additionalProperties": false,
        "description": "Model for creating a trade offer"
      },
      "TradeOfferFetchReadModel": {
        "required": [
          "Number",
          "ProductLines",
          "ShowLinesInclVat",
          "TotalExclVat",
          "TotalInclVat",
          "TotalNonVatableAmount",
          "TotalVat",
          "TotalVatableAmount"
        ],
        "type": "object",
        "properties": {
          "ContactGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Dinero contact guid.",
            "format": "uuid"
          },
          "Number": {
            "type": "integer",
            "description": "The number of the voucher.",
            "format": "int64",
            "example": 12
          },
          "ContactName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact name",
            "example": "My Customer"
          },
          "ShowLinesInclVat": {
            "type": "boolean",
            "description": "If true, the user prefers the invoice to be displayed with lines incl vat.",
            "example": false
          },
          "TotalExclVat": {
            "type": "number",
            "description": "Total amount without vat",
            "format": "double",
            "example": 200
          },
          "TotalVatableAmount": {
            "type": "number",
            "description": "Total amount to calculate the vat from",
            "format": "double",
            "example": 200
          },
          "TotalInclVat": {
            "type": "number",
            "description": "Total amount incl. vat",
            "format": "double",
            "example": 250
          },
          "TotalNonVatableAmount": {
            "type": "number",
            "description": "Total vat free amount",
            "format": "double",
            "example": 0
          },
          "TotalVat": {
            "type": "number",
            "description": "Total vat amount",
            "format": "double",
            "example": 50
          },
          "TotalLines": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Total line",
              "$ref": "#/components/schemas/TotalLine"
            },
            "description": "Total lines. SubTotal, Vat and Total. Only lines valid for display in the current context are returned."
          },
          "InvoiceTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Template id to use for design.",
            "format": "uuid"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the voucher. Defaults to DKK if null. Dinero will assign days date currency rate for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Language": {
            "type": [
              "null",
              "string"
            ],
            "description": "The language to be used in the voucher. Available languages are 'da-DK' and 'en-GB'. Defaults to 'da-DK'.",
            "example": "en-GB"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebshopSpecialId: 42"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied description of the voucher e.g. 'Custom Invoice description'. Defaults to document type e.g. 'Invoice', 'Offer', 'Creditnote' using the selected language.",
            "example": "Description of document type. Fx.: invoice, credit note or offer"
          },
          "Comment": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment on the voucher",
            "example": "Here is a comment"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the creation/issuing. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "ProductLines": {
            "type": "array",
            "items": {
              "description": "Model of a trade offer lines",
              "$ref": "#/components/schemas/TradeOfferLineReadModel"
            },
            "description": "User supplied invoice lines. Minimum one."
          },
          "Address": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact address (linebreaks are allowed '\\n'). When null is specified the address defaults to the contacts address.",
            "example": "Test Road 3 2300 Copenhagen S Denmark"
          }
        },
        "additionalProperties": false,
        "description": "Represent a trade offer"
      },
      "TradeOfferHistoryReadModel": {
        "required": [
          "UpdatedAt"
        ],
        "type": "object",
        "properties": {
          "Status": {
            "type": [
              "null",
              "string"
            ],
            "description": "Status of the trade offer history.\nPossible values are Draft, Invoiced, CustomerAccepted, CustomerDeclined, UserAccepted, UserDeclined",
            "example": "Invoiced"
          },
          "UpdatedAt": {
            "type": "string",
            "description": "Time of last update of the trade offer history.",
            "format": "date-time"
          },
          "TradeOfferEmailSentAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time of trade offer sendout",
            "format": "date-time"
          },
          "ConfirmationEmailSentAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time of trade offer confirmation send out",
            "format": "date-time"
          },
          "TotalInclVat": {
            "type": [
              "null",
              "number"
            ],
            "description": "Total amount of all product lines including vat",
            "format": "double"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the trade offer.",
            "example": "DKK"
          }
        },
        "additionalProperties": false,
        "description": "Represents trade offer history"
      },
      "TradeOfferLineCreateModel": {
        "required": [
          "AccountNumber",
          "BaseAmountValue",
          "Discount",
          "Quantity"
        ],
        "type": "object",
        "properties": {
          "BaseAmountValue": {
            "type": "number",
            "description": "Base amount. As default without VAT. If you want to use amounts incl vat, the setting 'ShowLinesInclVat' should be set to true on the voucher containing the lines.",
            "format": "double",
            "example": 20.0
          },
          "ProductGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "The guid of product. If product guid is set, description should be null.",
            "format": "uuid"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "A description of the product. If no ProductGuid, this field is required.\nThis field will always have a value on the read model, even if a ProductGuid is set.",
            "example": "Flowers"
          },
          "Comments": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment",
            "example": "Smells good"
          },
          "Quantity": {
            "type": "number",
            "description": "Quantity",
            "format": "double",
            "example": 5.0
          },
          "AccountNumber": {
            "type": "integer",
            "description": "Account number",
            "format": "int32",
            "example": 1000
          },
          "Unit": {
            "type": [
              "null",
              "string"
            ],
            "description": "Product unit. Required when LineType = Product. Available unit types: hours, parts, km, day, week, month, kilogram, cubicMetre, set, litre, box, case, carton, metre, package, shipment, squareMetre, session, tonne.",
            "example": "parts"
          },
          "Discount": {
            "type": "number",
            "description": "Discount for the current line. Specified in percentage from 0 to 100.",
            "format": "double",
            "example": 10.0
          },
          "LineType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Type. Either Product or Text line.\n Text is used for creating bold lines only with text displayed, these lines are purely visual and have no effect on the voucher.\nText lines should only contain a description.\nProduct lines are the actual lines of the invoice used for accounting and total calculations.\nWhen an invoice or credit note is sent as an electronic invoice, only its product lines are included. Text lines are left out entirely: their text appears on the invoice PDF, which is not part of the electronic invoice.\nInformation that has to reach the recipient of an electronic invoice belongs in the voucher's Description or Comment instead, as both are written to the note on the electronic invoice.",
            "example": "Product"
          }
        },
        "additionalProperties": false,
        "description": "Model for a line on a tradeoffer"
      },
      "TradeOfferLineReadModel": {
        "required": [
          "AccountNumber",
          "BaseAmountValue",
          "BaseAmountValueInclVat",
          "Discount",
          "Quantity",
          "TotalAmount",
          "TotalAmountInclVat"
        ],
        "type": "object",
        "properties": {
          "AccountName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Name of the Account",
            "example": "Bank"
          },
          "BaseAmountValue": {
            "type": "number",
            "description": "Amount excl. VAT",
            "format": "double",
            "example": 20.0
          },
          "BaseAmountValueInclVat": {
            "type": "number",
            "description": "Base amount incl. VAT",
            "format": "double",
            "example": 25.0
          },
          "TotalAmount": {
            "type": "number",
            "description": "Total of the line excl VAT",
            "format": "double",
            "example": 100.0
          },
          "TotalAmountInclVat": {
            "type": "number",
            "description": "Total of the line incl VAT",
            "format": "double",
            "example": 125.0
          },
          "ProductGuid": {
            "type": [
              "null",
              "string"
            ],
            "description": "The guid of product. If product guid is set, description should be null.",
            "format": "uuid"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "A description of the product. If no ProductGuid, this field is required.\nThis field will always have a value on the read model, even if a ProductGuid is set.",
            "example": "Flowers"
          },
          "Comments": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment",
            "example": "Smells good"
          },
          "Quantity": {
            "type": "number",
            "description": "Quantity",
            "format": "double",
            "example": 5.0
          },
          "AccountNumber": {
            "type": "integer",
            "description": "Account number",
            "format": "int32",
            "example": 1000
          },
          "Unit": {
            "type": [
              "null",
              "string"
            ],
            "description": "Product unit. Required when LineType = Product. Available unit types: hours, parts, km, day, week, month, kilogram, cubicMetre, set, litre, box, case, carton, metre, package, shipment, squareMetre, session, tonne.",
            "example": "parts"
          },
          "Discount": {
            "type": "number",
            "description": "Discount for the current line. Specified in percentage from 0 to 100.",
            "format": "double",
            "example": 10.0
          },
          "LineType": {
            "type": [
              "null",
              "string"
            ],
            "description": "Type. Either Product or Text line.\n Text is used for creating bold lines only with text displayed, these lines are purely visual and have no effect on the voucher.\nText lines should only contain a description.\nProduct lines are the actual lines of the invoice used for accounting and total calculations.\nWhen an invoice or credit note is sent as an electronic invoice, only its product lines are included. Text lines are left out entirely: their text appears on the invoice PDF, which is not part of the electronic invoice.\nInformation that has to reach the recipient of an electronic invoice belongs in the voucher's Description or Comment instead, as both are written to the note on the electronic invoice.",
            "example": "Product"
          }
        },
        "additionalProperties": false,
        "description": "Model of a trade offer lines"
      },
      "TradeOfferReadModel": {
        "required": [
          "ContactGuid",
          "Guid",
          "HasGeneratedAnyVouchers",
          "Number",
          "ProductLines",
          "ShowLinesInclVat",
          "TotalExclVat",
          "TotalInclVat",
          "TotalNonVatableAmount",
          "TotalVat",
          "TotalVatableAmount"
        ],
        "type": "object",
        "properties": {
          "HasGeneratedAnyVouchers": {
            "type": "boolean",
            "description": "OBSOLETE: Use Status instead. Equivalent of Status == Invoiced.\nIs true if any vouchers has been generated based on this trade offer.",
            "readOnly": true,
            "deprecated": true
          },
          "ContactGuid": {
            "type": "string",
            "description": "Dinero contact guid.",
            "format": "uuid"
          },
          "Status": {
            "type": [
              "null",
              "string"
            ],
            "description": "Status of the trade offer.\nPossible values are Draft, Invoiced, CustomerAccepted, CustomerDeclined, UserAccepted, UserDeclined",
            "example": "Invoiced"
          },
          "MailOutStatus": {
            "type": [
              "null",
              "string"
            ],
            "description": "The mailout can have following status:\nNotSent, Sent or SeenByCustomer, Failed.\nSeenByCustomer, means the user has clicked on the link in the mailout and viewed the sales voucher.\nAny type of mailout (email, reminder, pre-reminder, e-invoice), will change the status from NotSent to Sent.",
            "example": "Sent"
          },
          "LatestMailOutType": {
            "type": [
              "null",
              "string"
            ],
            "description": "The mailout category can have following values:\nEinvoice, ElectronicInvoiceReminder, Inkasso, Mailout, OrderConfirmation, PreReminder, Reminder, TradeOffer, None",
            "example": "einvoice"
          },
          "GeneratedVouchers": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "List of IDs of vouchers generated from the trade offer."
          },
          "History": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Represents trade offer history",
              "$ref": "#/components/schemas/TradeOfferHistoryReadModel"
            },
            "description": "List of trade offer changes."
          },
          "Guid": {
            "type": "string",
            "description": "The guid of the voucher",
            "format": "uuid"
          },
          "TimeStamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "Timestamp of version. To avoid concurrency issues.",
            "example": "00000000020A5EA8"
          },
          "CreatedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time of creation",
            "format": "date-time"
          },
          "UpdatedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time of last update",
            "format": "date-time"
          },
          "DeletedAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "Time of deletion. Null unless the object is deleted.",
            "format": "date-time"
          },
          "Number": {
            "type": "integer",
            "description": "The number of the voucher.",
            "format": "int64",
            "example": 12
          },
          "ContactName": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact name",
            "example": "My Customer"
          },
          "ShowLinesInclVat": {
            "type": "boolean",
            "description": "If true, the user prefers the invoice to be displayed with lines incl vat.",
            "example": false
          },
          "TotalExclVat": {
            "type": "number",
            "description": "Total amount without vat",
            "format": "double",
            "example": 200
          },
          "TotalVatableAmount": {
            "type": "number",
            "description": "Total amount to calculate the vat from",
            "format": "double",
            "example": 200
          },
          "TotalInclVat": {
            "type": "number",
            "description": "Total amount incl. vat",
            "format": "double",
            "example": 250
          },
          "TotalNonVatableAmount": {
            "type": "number",
            "description": "Total vat free amount",
            "format": "double",
            "example": 0
          },
          "TotalVat": {
            "type": "number",
            "description": "Total vat amount",
            "format": "double",
            "example": 50
          },
          "TotalLines": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Total line",
              "$ref": "#/components/schemas/TotalLine"
            },
            "description": "Total lines. SubTotal, Vat and Total. Only lines valid for display in the current context are returned."
          },
          "InvoiceTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Template id to use for design.",
            "format": "uuid"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the voucher. Defaults to DKK if null. Dinero will assign days date currency rate for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Language": {
            "type": [
              "null",
              "string"
            ],
            "description": "The language to be used in the voucher. Available languages are 'da-DK' and 'en-GB'. Defaults to 'da-DK'.",
            "example": "en-GB"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebshopSpecialId: 42"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied description of the voucher e.g. 'Custom Invoice description'. Defaults to document type e.g. 'Invoice', 'Offer', 'Creditnote' using the selected language.",
            "example": "Description of document type. Fx.: invoice, credit note or offer"
          },
          "Comment": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment on the voucher",
            "example": "Here is a comment"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the creation/issuing. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "ProductLines": {
            "type": "array",
            "items": {
              "description": "Model of a trade offer lines",
              "$ref": "#/components/schemas/TradeOfferLineReadModel"
            },
            "description": "User supplied invoice lines. Minimum one."
          },
          "Address": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact address (linebreaks are allowed '\\n'). When null is specified the address defaults to the contacts address.",
            "example": "Test Road 3 2300 Copenhagen S Denmark"
          }
        },
        "additionalProperties": false,
        "description": "Represent a trade offer"
      },
      "TradeOfferReadModelDineroCollection": {
        "required": [
          "Pagination"
        ],
        "type": "object",
        "properties": {
          "Collection": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "description": "Represent a trade offer",
              "$ref": "#/components/schemas/TradeOfferReadModel"
            },
            "description": "Collection containing the result of the request."
          },
          "Pagination": {
            "description": "Pagination information.",
            "$ref": "#/components/schemas/PaginationDetails"
          }
        },
        "additionalProperties": false,
        "description": "Generic paged result returned by the Dinero public API list endpoints."
      },
      "TradeOfferUpdateModel": {
        "required": [
          "ContactGuid",
          "ProductLines",
          "Timestamp"
        ],
        "type": "object",
        "properties": {
          "Timestamp": {
            "minLength": 1,
            "type": "string",
            "description": "Version of the tradeoffer"
          },
          "ContactGuid": {
            "type": "string",
            "description": "Dinero contact guid.",
            "format": "uuid"
          },
          "Guid": {
            "type": [
              "null",
              "string"
            ],
            "description": "Optional guid for the object. If not set the system will create a guid returned in the response.",
            "format": "uuid",
            "example": "3a315ad3-ddcc-419d-9fc5-219280ae4816"
          },
          "ShowLinesInclVat": {
            "type": [
              "null",
              "boolean"
            ],
            "description": "If your user (or your system) prefers to provide the line amounts incl. VAT, then this property should be set to true. All voucher lines will be assumed to have amounts incl VAT.\nIf your lines are excl VAT, you do not need to set this property. It will defaults to false.",
            "example": false
          },
          "InvoiceTemplateId": {
            "type": [
              "null",
              "string"
            ],
            "description": "Template id to use for design. If null, the default one will be used.",
            "format": "uuid"
          },
          "Currency": {
            "type": [
              "null",
              "string"
            ],
            "description": "The currency used on the voucher. Defaults to DKK if null. Dinero will assign days date currency rate for the given currency. Currencies are given in format: DKK, EUR, USD etc...",
            "example": "DKK"
          },
          "Language": {
            "type": [
              "null",
              "string"
            ],
            "description": "The language to be used in the voucher. Available languages are 'da-DK' and 'en-GB'. Defaults to 'da-DK'.",
            "example": "en-GB"
          },
          "ExternalReference": {
            "maxLength": 128,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ],
            "description": "Your external id\nThis can be used for ID'ing in external apps/services e.g. a web shop.\nThe maximum length is 128 characters",
            "example": "Fx. WebshopSpecialId: 42"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied description of the voucher e.g. 'Custom Invoice description'. Defaults to document type e.g. 'Invoice', 'Offer', 'Creditnote' using the selected language.",
            "example": "Description of document type. Fx.: invoice, credit note or offer"
          },
          "Comment": {
            "type": [
              "null",
              "string"
            ],
            "description": "User supplied comment on the voucher",
            "example": "Here is a comment"
          },
          "Date": {
            "type": [
              "null",
              "string"
            ],
            "description": "The date of the creation/issuing. This should be in the format YYYY-MM-DD e.g. 2015-12-02. Defaults to today.",
            "example": "2022-06-01"
          },
          "ProductLines": {
            "type": "array",
            "items": {
              "description": "Model for a line on a tradeoffer",
              "$ref": "#/components/schemas/TradeOfferLineCreateModel"
            },
            "description": "User supplied invoice lines. Minimum one."
          },
          "Address": {
            "type": [
              "null",
              "string"
            ],
            "description": "Contact address (linebreaks are allowed '\\n'). When null is specified the address defaults to the contacts address.",
            "example": "Test Road 3 2300 Copenhagen S Denmark"
          }
        },
        "additionalProperties": false,
        "description": "Model for creating a trade offer"
      },
      "TrustPilotValidationResponse": {
        "required": [
          "ShouldAddTrustPilotEmail"
        ],
        "type": "object",
        "properties": {
          "ShouldAddTrustPilotEmail": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "UnsubscribeFromWebhookModel": {
        "type": "object",
        "properties": {
          "EventId": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "UpdateMobilePayModel": {
        "required": [
          "Enabled"
        ],
        "type": "object",
        "properties": {
          "Enabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "UpdatedResponseModel": {
        "required": [
          "Guid"
        ],
        "type": "object",
        "properties": {
          "Guid": {
            "type": "string",
            "description": "The guid of the created object.",
            "format": "uuid"
          },
          "TimeStamp": {
            "type": [
              "null",
              "string"
            ],
            "description": "Timestamp of the version, to avoid concurrency issues on subsequent updates.",
            "example": "00000000020A5EA8"
          }
        },
        "additionalProperties": false,
        "description": "The response of a succesfull update"
      },
      "VatTypeReadModel": {
        "required": [
          "VatRate"
        ],
        "type": "object",
        "properties": {
          "VatCode": {
            "type": [
              "null",
              "string"
            ],
            "description": "The short hand VAT code.",
            "example": "I25"
          },
          "Name": {
            "type": [
              "null",
              "string"
            ],
            "description": "The descriptive name for the VAT code.",
            "example": "Dansk købsmoms"
          },
          "VatRate": {
            "type": "number",
            "description": "The VAT types rate.",
            "format": "double",
            "example": 0.25
          }
        },
        "additionalProperties": false,
        "description": "Represents a VAT type"
      },
      "VoucherBookedSource": {
        "enum": [
          "Unkown",
          "Manuel",
          "Automatic"
        ],
        "type": "string"
      },
      "VoucherMailoutReadModel": {
        "required": [
          "CCToSender",
          "Date",
          "DownloadCount",
          "Id",
          "IsSmsMessage",
          "PrintCount"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "integer",
            "description": "Mailout id",
            "format": "int32"
          },
          "Date": {
            "type": "string",
            "description": "Sent date",
            "format": "date-time"
          },
          "SeenAt": {
            "type": [
              "null",
              "string"
            ],
            "description": "First time the mailout was seen",
            "format": "date-time"
          },
          "Sender": {
            "type": [
              "null",
              "string"
            ],
            "description": "Email of the sender"
          },
          "Receiver": {
            "type": [
              "null",
              "string"
            ],
            "description": "Email(s) of the receiver"
          },
          "Subject": {
            "type": [
              "null",
              "string"
            ],
            "description": "Mailout subject"
          },
          "Message": {
            "type": [
              "null",
              "string"
            ],
            "description": "Mailout message"
          },
          "DownloadCount": {
            "type": "integer",
            "description": "Number of times the mailout was downloaded",
            "format": "int32"
          },
          "PrintCount": {
            "type": "integer",
            "description": "Number of times the mailout was printed",
            "format": "int32"
          },
          "Type": {
            "type": [
              "null",
              "string"
            ],
            "description": "Possible values are None, Einvoice, ElectronicInvoiceReminder, TradeOffer, OrderConfirmation, Mailout, Inkasso, PreReminder, ManualMailout, ManualTradeOfferMailout and Reminder",
            "example": "Mailout"
          },
          "Status": {
            "type": [
              "null",
              "string"
            ],
            "description": "Possible values are Pending, Sent, SeenByCustomer, Failed, and ManuallySent",
            "example": "Sent"
          },
          "LatestEvent": {
            "type": [
              "null",
              "string"
            ],
            "description": "Possible values for type TradeOffer, OrderConfirmation, Mailout, Inkasso, PreReminder and Reminder are Download, Print, WebView, SoftBounce, HardBounce, Rejected, Spam, Sent, Invalid, Queued, Scheduled and Failed\n            \nPossible values for type Einvoice, ElectronicInvoiceReminder are SentToDispatching, SentToProvider, SentToCustomer, InvalidDocument, IncompleteDocument, UnknownError, EndpointNotFound, AlreadyDispatched and TemporaryError",
            "example": "Spam"
          },
          "IsSmsMessage": {
            "type": "boolean",
            "description": "Indicates if this object is an sms"
          },
          "CCToSender": {
            "type": "boolean",
            "description": "Indicates if copy of email is sent to sender"
          }
        },
        "additionalProperties": false
      },
      "VoucherStateFilter": {
        "enum": [
          "All",
          "Active",
          "Deleted"
        ],
        "type": "string"
      },
      "VoucherTemplateDepositData": {
        "required": [
          "AccountNumber",
          "Id"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": "integer",
            "format": "int32"
          },
          "AccountNumber": {
            "type": "integer",
            "format": "int32"
          },
          "Name": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "VoucherTemplateReadViewModel": {
        "required": [
          "RequiresPro",
          "SalarySumTaxVoucherType",
          "VoucherGuid"
        ],
        "type": "object",
        "properties": {
          "Id": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "VoucherGuid": {
            "type": "string",
            "format": "uuid"
          },
          "VoucherDate": {
            "type": [
              "null",
              "string"
            ]
          },
          "VoucherNumber": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "Timestamp": {
            "type": [
              "null",
              "string"
            ]
          },
          "Status": {
            "type": [
              "null",
              "string"
            ]
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ]
          },
          "RequiresPro": {
            "type": "boolean"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ]
          },
          "FromDepositAccountId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "FromDepositAccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "Amount": {
            "type": [
              "null",
              "number"
            ],
            "format": "double"
          },
          "SecondaryAmount": {
            "type": [
              "null",
              "number"
            ],
            "format": "double"
          },
          "Month": {
            "type": [
              "null",
              "string"
            ]
          },
          "ToDepositAccountId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "ToDepositAccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "InterestType": {
            "type": [
              "null",
              "string"
            ]
          },
          "InterestTypeName": {
            "type": [
              "null",
              "string"
            ],
            "readOnly": true
          },
          "AccountIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": [
                "null",
                "integer"
              ],
              "format": "int32"
            }
          },
          "BalancingAccountIds": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": [
                "null",
                "integer"
              ],
              "format": "int32"
            }
          },
          "SalarySumTaxVoucherType": {
            "$ref": "#/components/schemas/SalarySumTaxVoucherType"
          },
          "FromDepositAccountName": {
            "type": [
              "null",
              "string"
            ]
          },
          "ToDepositAccountName": {
            "type": [
              "null",
              "string"
            ]
          },
          "BookedByTypeDanish": {
            "type": [
              "null",
              "string"
            ]
          },
          "BookedByUsername": {
            "type": [
              "null",
              "string"
            ]
          },
          "BookingTime": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "VoucherTemplateWriteViewModel": {
        "required": [
          "SalarySumTaxVoucherType",
          "VoucherGuid"
        ],
        "type": "object",
        "properties": {
          "VoucherDate": {
            "type": [
              "null",
              "string"
            ]
          },
          "VoucherNumber": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int64"
          },
          "Timestamp": {
            "type": [
              "null",
              "string"
            ]
          },
          "FileGuid": {
            "type": [
              "null",
              "string"
            ]
          },
          "VoucherGuid": {
            "type": "string",
            "format": "uuid"
          },
          "Description": {
            "type": [
              "null",
              "string"
            ]
          },
          "FromDepositAccountId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "FromDepositAccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "Amount": {
            "type": [
              "null",
              "number"
            ],
            "format": "double"
          },
          "SecondaryAmount": {
            "type": [
              "null",
              "number"
            ],
            "format": "double"
          },
          "Month": {
            "type": [
              "null",
              "string"
            ]
          },
          "ToDepositAccountId": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "ToDepositAccountNumber": {
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          },
          "InterestType": {
            "type": [
              "null",
              "string"
            ]
          },
          "SalarySumTaxVoucherType": {
            "$ref": "#/components/schemas/SalarySumTaxVoucherType"
          }
        },
        "additionalProperties": false
      },
      "VoucherTemplatesForOrganizationReadModel": {
        "type": "object",
        "properties": {
          "Description": {
            "type": [
              "null",
              "string"
            ],
            "description": "Gets or sets the description of the voucher template.\nThis describes the purpose of the voucher template.",
            "readOnly": true,
            "example": "Når du har overført løn til dine ansatte,\n            indbetaler du efterfølgende A-skat og AM-bidrag."
          },
          "HeadLine": {
            "type": [
              "null",
              "string"
            ],
            "description": "Gets or sets the headline of the voucher template.",
            "readOnly": true,
            "example": "Betaling af A-skat og AM-bidrag."
          },
          "VoucherTemplateTypeKey": {
            "type": [
              "null",
              "string"
            ],
            "description": "Gets or sets the key representing the type of the voucher template.",
            "readOnly": true,
            "example": "atax"
          }
        },
        "additionalProperties": false,
        "description": "Represents a read model for voucher templates associated with an organization.\nAn instance of this class represents a single voucher template that is available\nfor the organization. The instance supplies the description and headline\nof the voucher template, which can be displayed to the user, as well as the key which gives\nthe actual type of the template."
      }
    },
    "securitySchemes": {
      "OAuth2": {
        "type": "oauth2",
        "flows": {
          "implicit": {
            "authorizationUrl": "https://connect.visma.com/connect/authorize",
            "tokenUrl": "https://connect.visma.com/connect/token",
            "scopes": {
              "dineropublicapi:read": "Access read operations",
              "dineropublicapi:write": "Access write operations"
            }
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "AccountingYearPossibleEndDates"
    },
    {
      "name": "AccountingYears"
    },
    {
      "name": "Accounts"
    },
    {
      "name": "Attachments"
    },
    {
      "name": "BusinessGoals"
    },
    {
      "name": "Contacts"
    },
    {
      "name": "ContactStateOfAccount"
    },
    {
      "name": "Countries"
    },
    {
      "name": "CreateOrganization"
    },
    {
      "name": "ElectronicInvoice"
    },
    {
      "name": "Entry"
    },
    {
      "name": "Files"
    },
    {
      "name": "Integrations"
    },
    {
      "name": "Invoices"
    },
    {
      "name": "LedgerItems"
    },
    {
      "name": "ListOrganizations"
    },
    {
      "name": "ManuelVouchers"
    },
    {
      "name": "Organizations"
    },
    {
      "name": "OrganizationVerification"
    },
    {
      "name": "Products"
    },
    {
      "name": "PurchaseCreditNote"
    },
    {
      "name": "PurchaseVoucherCreditPayments"
    },
    {
      "name": "PurchaseVouchers"
    },
    {
      "name": "Reminders"
    },
    {
      "name": "Reports"
    },
    {
      "name": "Sales"
    },
    {
      "name": "SalesCreditNotes"
    },
    {
      "name": "Settings"
    },
    {
      "name": "Sms"
    },
    {
      "name": "TradeOffers"
    },
    {
      "name": "UnifiedVouchers"
    },
    {
      "name": "VatTypes"
    },
    {
      "name": "VoucherTemplates"
    },
    {
      "name": "Webhooks"
    }
  ]
}