openapi: 3.0.1
info:
  title: Tax Service Rest API Specification
  description: Providing endpoints related to the tax service
  version: 0.0.169
servers:
- description: ''
  url: https://api.btx.fr.banqup.com/tax/calculation
- description: ''
  url: https://api.btx.eu.banqup.com/tax/calculation
paths:
  /v1/spaces/{spaceId}/taxCall:
    post:
      tags:
      - Tax Service
      summary: Single tax call
      description: 'Single tax call <br/> Scope: space_read<br/> This Endpoint is
        part of: tax_calculation'
      operationId: makeSingleClientTaxCall
      parameters:
      - name: X-Test-Data
        in: header
        description: Flag to access test data
        schema:
          type: boolean
      - name: X-Audit-Trail
        in: header
        description: Flag to toggle audit trail
        schema:
          type: boolean
      - name: spaceId
        in: path
        description: The space identifier
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: Tax call input data
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaxCallRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaxCall'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
              example:
                status: 400
                error: BAD_REQUEST
                requestId: a78150d2-7913-4ea6-933f-286cadac6745
                timestamp: 2018-08-27T12:34:50Z
                type: about:blank
                title: Bad Request
                detail: Bad Request message details.
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorProblemDetail'
              example:
                status: 404
                error: NOT_FOUND
                requestId: a78150d2-7913-4ea6-933f-286cadac6745
                timestamp: 2018-08-27T12:34:50Z
                type: about:blank
                title: Not Found
                detail: The HTTP method was not allowed on this endpoint.
      security:
      - oauth2:
        - space_read
components:
  schemas:
    AuditTrail:
      type: object
      properties:
        territoryAuditTrail:
          type: array
          description: Territory changes audit trail
          items:
            $ref: '#/components/schemas/TerritoryAuditTrail'
        initialAdminTerritoryRulesStep:
          type: array
          description: Initial admin territory rules step audit trail
          items:
            $ref: '#/components/schemas/RuleAuditTrail'
        initialOverrideMappingStep:
          type: array
          description: Initial override mappings step audit trail
          items:
            $ref: '#/components/schemas/OverrideMappingAuditTrail'
        initialFieldMappingStep:
          type: array
          description: Initial field mappings step audit trail
          items:
            $ref: '#/components/schemas/FieldMappingAuditTrail'
        customInputRulesStep:
          type: array
          description: Custom input rules step audit trail
          items:
            $ref: '#/components/schemas/RuleAuditTrail'
        finalOverrideMappingStep:
          type: array
          description: Final override mappings step audit trail
          items:
            $ref: '#/components/schemas/OverrideMappingAuditTrail'
        finalFieldMappingStep:
          type: array
          description: Final field mappings step audit trail
          items:
            $ref: '#/components/schemas/FieldMappingAuditTrail'
        finalAdminTerritoryRulesStep:
          type: array
          description: Final admin territory rules step audit trail
          items:
            $ref: '#/components/schemas/RuleAuditTrail'
        placeOfSupplyStep:
          $ref: '#/components/schemas/TaxProfileChapterAuditTrail'
        useAndEnjoymentStep:
          $ref: '#/components/schemas/UseAndEnjoymentChapterAuditTrailResponse'
        domesticLiabilityStep:
          $ref: '#/components/schemas/LiabilityChapterStepAuditTrailResponse'
        crossBorderAcquisitionsStep:
          $ref: '#/components/schemas/CrossBorderAcquisitionsStepAuditTrailResponse'
        zeroRatingStep:
          $ref: '#/components/schemas/ZeroRatingStepAuditTrailResponse'
        otherTaxProfileChapterStep:
          $ref: '#/components/schemas/TaxProfileChapterAuditTrail'
        adminTaxTransactionMemosStep:
          type: array
          description: Admin tax transaction memo step audit trail
          items:
            $ref: '#/components/schemas/RuleAuditTrail'
        customTaxTransactionMemosStep:
          type: array
          description: Custom tax transaction memo step audit trail
          items:
            $ref: '#/components/schemas/RuleAuditTrail'
        customOutputRulesStep:
          type: array
          description: Custom output rules step audit trail
          items:
            $ref: '#/components/schemas/RuleAuditTrail'
        adminTaxCodesStep:
          type: array
          description: Admin tax codes step audit trail
          items:
            $ref: '#/components/schemas/RuleAuditTrail'
        adminInvoiceWordingsStep:
          type: array
          description: Admin invoice wordings step audit trail
          items:
            $ref: '#/components/schemas/RuleAuditTrail'
        customTaxCodesStep:
          type: array
          description: Custom tax codes step audit trail
          items:
            $ref: '#/components/schemas/RuleAuditTrail'
        customInvoiceWordingsStep:
          type: array
          description: Custom invoice wordings step audit trail
          items:
            $ref: '#/components/schemas/RuleAuditTrail'
        adminPeppolTaxCategoriesStep:
          type: array
          description: Admin PEPPOL tax categories step audit trail
          items:
            $ref: '#/components/schemas/PeppolTaxCategoryAuditTrail'
        customPeppolTaxCategoriesStep:
          type: array
          description: Custom PEPPOL tax categories step audit trail
          items:
            $ref: '#/components/schemas/PeppolTaxCategoryAuditTrail'
        adminVatexCodesStep:
          type: array
          description: Admin VATEX codes step audit trail
          items:
            $ref: '#/components/schemas/VatexCodeAuditTrail'
        customVatexCodesStep:
          type: array
          description: Custom VATEX codes step audit trail
          items:
            $ref: '#/components/schemas/VatexCodeAuditTrail'
        customDiffTransactionMemosStep:
          type: array
          description: Custom diff transaction memo step audit trail
          items:
            $ref: '#/components/schemas/CustomDiffTransactionMemoAuditTrail'
      description: Tax call audit trail
    Buyer:
      type: object
      properties:
        id:
          type: string
          description: ID that identifies the buyer in the calling system.<br>Optional
            field used by the engine to retrieve tax relevant buyer configuration
            from the Banqup platform such as tax ID's.
        name:
          type: string
          description: Name of the buyer.<br>Optional field, will be retrieved from
            the configuration in case buyer ID is recognized.
        country:
          $ref: '#/components/schemas/BuyerCountryResponse'
        address:
          $ref: '#/components/schemas/BuyerAddressResponse'
        taxRegistrations:
          type: array
          description: Buyer tax registrations
          items:
            $ref: '#/components/schemas/BuyerTaxId'
        taxGroupName:
          type: string
          description: Buyer tax group name.<br>Name of the tax group to which the
            buyer belongs - if this identical to the seller tax group name, the transaction
            is will be an out of scope transaction within a tax group.
        smallEnterprise:
          type: boolean
          description: Buyer small enterprise status.<br>Field to indicate that the
            buyer is subject to the special scheme for small enterprises resulting
            in exemption or relief from VAT.
          example: false
        corporationId:
          type: string
          description: Buyer corporate registry ID.<br>Buyer government ID other than
            the tax ID - optional field that can be used to identify the seller and
            drive configuration.
        headOfficeIndicator:
          type: boolean
          description: Buyer head office indicator.<br>Field to indicate that the
            buyer is a head office that has branches.
          example: false
        branchIndicator:
          type: boolean
          description: Buyer branch indicator.<br>Field to indicate that the buyer
            is a branch belonging to a head office.
          example: false
        classification:
          type: string
          description: Buyer classification.<br>This field can be used to indicates
            whether the buyer has a special status for tax purposes - this can then
            be used to create custom content in the engine.
          enum:
          - EXEMPT_GOVT_DIPL_NATO
          - EXEMPT_OTHER
          - VESSELS_FOR_HIGH_SEAS_AIRCRAFT
          - EXEMPT_NET_EXPORTER
        deductionPercentage:
          type: number
          description: Buyer custom tax deduction percentage.<br>The percentage of
            tax deduction of the buyer resulting from its activity (i.e. other than
            the legal limitations) - this will be used in the final calculation of
            the deductible tax.
          format: double
          example: 100
      description: The tax call buyer entity
    BuyerAddressResponse:
      type: object
      properties:
        city:
          type: string
          description: City name
        street:
          type: string
          description: Street name
        postalCode:
          type: string
          description: Postal code
        zip4:
          type: string
          description: Postal code extension
      description: Buyer address
    BuyerCountryResponse:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/Subdivision'
      description: Buyer core establishment country
    BuyerTaxId:
      type: object
      properties:
        territoryCode:
          type: string
          description: Tax ID territory code of the buyer transactional tax ID.<br>2-digit
            ISO country code or subdivision code of the territory that has issued
            the tax ID used by the seller in the transaction.
        prefix:
          type: string
          description: Prefix of the buyer transactional tax ID.<br>2-digit ISO country
            code or code that is used as prefix for the transactional tax ID.
        id:
          type: string
          description: Buyer transactional tax ID.<br>The tax ID the buyer intends
            to use in the transaction.
        type:
          type: string
          description: Buyer transactional tax ID type.<br>Type of the tax ID the
            buyer intends to use in the transaction - this can have its influence
            on the tax outcome.
          enum:
          - PLACE_OF_ESTABLISHMENT
          - FIXED_ESTABLISHMENT
          - WITH_VAT_REP
          - WITHOUT_VAT_REP
          - IOSS
          - NEUOSS
        category:
          type: string
          description: Buyer tax registration category.<br>Attribute of the tax ID
            assigned by the tax engine in the tax ID matrix, indicating the category
            of the tax ID, which will be used in the tax calculation.
          enum:
          - TTID
          - MTID
          - TTID_MTID
          - ALL
        voluntary:
          type: boolean
          description: Buyer tax ID voluntary indicator.<br>Field to indicate that
            the buyer tax ID is voluntary which can impact the liability for non-established
            sellers in certain EU countries.
          example: false
        validTaxIdFormat:
          type: boolean
          description: Buyer tax ID regular expression validity indicator.<br>Indicates
            whether or not the tax ID has passed the validation using the regular
            expression for that territory.
          example: false
      description: Buyer tax registrations
    Calculation:
      type: object
      properties:
        taxableBasis:
          type: number
          description: Taxable basis as determined and used by the tax engine.<br>Taxable
            basis for the calculations in the engine - equal to the field originalTaxableBasis,
            unless if the tax inclusive flag is used, then taxable basis is the amount
            of the originalTaxableBasis net of the inclusive tax.
          format: double
        taxRate:
          type: number
          description: Tax rate derived by the tax engine for the transaction.<br>Summary
            field containing the sum of all values in jurisdiction.taxRate.
          format: double
        taxOnInvoice:
          type: number
          description: Tax amount on the invoice line calculated by the engine.<br>Summary
            field containing the sum of all values in jurisdiction.taxOnInvoice.
          format: double
        payableTax:
          type: number
          description: Payable tax amount calculated by the engine.<br>Summary field
            containing the sum of all values in jurisdiction.payableTax.
          format: double
        deductibleTax:
          type: number
          description: Deductible tax amount calculated by the engine.<br>Summary
            field containing the sum of all values in jurisdiction.deductibleTax.
          format: double
        nonDeductibleTax:
          type: number
          description: Non-deductible tax amount calculated by the engine.<br>Summary
            field containing the sum of all values in jurisdiction.nonDeductibleTax.
          format: double
        grossAmount:
          type: number
          description: Gross amount calculated by the engine.<br>Summary field containing
            the sum of all values in jurisdiction.grossAmount.
          format: double
        taxableBasisFilingCurrency:
          type: number
          description: Taxable basis as determined and used by the tax engine - in
            filing currency.<br>Taxable basis as used by the tax engine - in filing
            currency.
          format: double
        taxOnInvoiceFilingCurrency:
          type: number
          description: Tax amount on the invoice line calculated by the engine - in
            filing currency.<br>Value of the field taxOnInvoice multiplied by the
            exchange rate.
          format: double
        payableTaxFilingCurrency:
          type: number
          description: Payable tax amount calculated by the engine - in filing currency.<br>Value
            of the field payableTax multiplied by the exchange rate.
          format: double
        deductibleTaxFilingCurrency:
          type: number
          description: Deductible tax amount calculated by the engine - in filing
            currency.<br>Value of the field deductibleTax multiplied by the exchange
            rate.
          format: double
        nonDeductibleTaxFilingCurrency:
          type: number
          description: Non-deductible tax amount calculated by the engine - in filing
            currency.<br>Value of the field nonDeductibleTax multiplied by the exchange
            rate.
          format: double
        grossAmountFilingCurrency:
          type: number
          description: Gross amount calculated by the engine - in filing currency.<br>Value
            of the field grossAmount multiplied by the exchange rate.
          format: double
        taxCategory:
          type: string
          description: Tax category in PEPPOL.<br>PEPPOL VAT Code that identifies
            the nature of the transaction.
        taxExemptionReasonCode:
          type: string
          description: VATEX code PEPPOL.<br>PEPPOL tax exemption code.
        taxExemptionReason:
          type: string
          description: VATEX code description in PEPPOL.<br>PEPPOL tax exemption code
            description.
        transactionType:
          type: string
          description: Transaction type.<br>Indicates the type of the transaction.
          enum:
          - DOMESTIC
          - EU
          - EXPORT
          - IMPORT
          - OUT_OF_SCOPE
        stateTransactionType:
          type: string
          description: State transaction type.<br>Indicates for domestic transactions
            in certain jurisdictions like India whether the transaction is inter-state
            or intra-state.
          enum:
          - INTRASTATE
          - INTERSTATE
        reverseCharge:
          type: boolean
          description: Reverse charge indicator.<br>Indicates whether or not a reverse
            charge applies to the transaction.
          example: false
        outboundUseAndEnjoyment:
          type: boolean
          description: Indicator whether outbound use & enjoyment rules apply on the
            transaction.
          example: false
        inboundUseAndEnjoyment:
          type: boolean
          description: Indicator whether inbound use & enjoyment rules apply on the
            transaction.
          example: false
        taxDeductionPercentage:
          type: number
          description: Tax deduction percentage.<br>Indicates the final tax deduction
            percentage that applies to the transaction (AP only). Output in the form
            of a percentage value between 0 to 100, where 100 represents 100% right
            of deduction and 0 which represents no right of deduction. The tax deduction
            percentage combines both entity level and statutory deduction limitations.
          format: double
        transactionLocation:
          $ref: '#/components/schemas/TransactionLocationResponse'
        jurisdictionTax:
          type: array
          description: Jurisdiction tax
          items:
            $ref: '#/components/schemas/JurisdictionTax'
      description: Calculation results
    ClientProduct:
      type: object
      properties:
        code:
          type: string
          description: Client product code.<br>Custom client product code coming from
            the source system - to be used for product mapping or custom rules.
        description:
          type: string
          description: Client product description.<br>Custom client product description
            coming from the source system - to be used for product mapping or custom
            rules.
        category:
          type: string
          description: Client product category.<br>Custom client product category
            coming from the source system - to be used for product mapping or custom
            rules.
      description: Client product information
    Commodity:
      type: object
      properties:
        code:
          type: string
          description: Commodity code used in the transaction.<br>The structured commodity
            code used in the transaction to indicate the nature of the goods. When
            sent to the engine, this will be used to automatically map to the applicable
            tax content in lookup enabled registries.
        type:
          type: string
          description: Commodity Type.<br>Indicates the type of commodity code. Currently
            only EU HSN codes are supported.
      description: Commodity information
    Conclusion:
      type: object
      properties:
        transactionMemos:
          $ref: '#/components/schemas/TransactionMemo'
        transactionMemosDiff:
          $ref: '#/components/schemas/TransactionMemo'
        invoiceWording1:
          type: string
          description: Invoice wordings - admin level.<br>System generated generic
            invoice wordings.
        invoiceWording2:
          type: string
          description: Invoice wordings - custom client.<br>Custom invoice wordings
            as configured by the client.
        taxDetails:
          type: array
          description: Tax conclusion details
          items:
            $ref: '#/components/schemas/TaxDetail'
      description: Tax conclusion
    CrossBorderAcquisitionsStepAuditTrailResponse:
      type: object
      properties:
        description:
          type: string
          description: Tax profile chapter description
        taxType:
          type: string
          description: Tax profile chapter tax type
          enum:
          - ITX
          - PPT
          - WHT
        chapterType:
          type: string
          description: Tax profile chapter chapter type
          enum:
          - PLACE_OF_SUPPLY
          - USE_AND_ENJOYMENT
          - DOMESTIC_LIABILITY
          - CROSS_BORDER_ACQUISITIONS_BY_TAXABLE_PERSONS
          - ZERO_RATING
          - OTHER
        conditions:
          type: string
          description: Tax profile chapter conditions to check
        finalReverseCharge:
          type: boolean
          description: Indicates the final reverse charge flag value at the end of
            the cross border acquisitions by taxable persons engine step
          example: false
        categoriesResults:
          type: object
          additionalProperties:
            type: array
            description: Tax profile chapter categories results
            items:
              $ref: '#/components/schemas/TaxProfileCategoryAuditTrail'
          description: Tax profile chapter categories results
      description: Cross border acquisitions step audit trail
    CustomDiffTransactionMemoAuditTrail:
      type: object
      properties:
        id:
          type: string
          description: Custom diff transaction memo ID
          format: uuid
        diffEvent:
          type: string
          description: Custom diff transaction memo code
          enum:
          - DIFF_TAXABLE_BASIS
          - DIFF_TAX_RATE
          - DIFF_TAX_ON_INVOICE
          - DIFF_TAX_ON_LINE
          - DIFF_PAYABLE_TAX
          - DIFF_DEDUCTIBLE_TAX
          - DIFF_GROSS_AMOUNT
          - DIFF_TAX_CODE
        originalValue:
          type: string
          description: Custom diff transaction memo original value
        calculatedValue:
          type: string
          description: Custom diff transaction memo calculated value
        mismatchToleranceAmount:
          type: number
          description: Custom diff transaction memo mismatch tolerance amount
          format: double
        mismatchTolerancePercentage:
          type: number
          description: Custom diff transaction memo mismatch tolerance percentage
          format: double
        order:
          type: integer
          description: Custom diff transaction memo order
          format: int32
        conditions:
          type: string
          description: Custom diff transaction memo conditions to check
      description: Custom diff transaction memo step audit trail
    FieldMappingAuditTrail:
      type: object
      properties:
        matchedTaxFieldName:
          type: string
          description: Matched tax field name
        matchedTaxFieldValue:
          type: string
          description: Matched tax field value
        allocatedTaxProductId:
          type: string
          description: Allocated tax product ID
        allocatedTaxProductName:
          type: string
          description: Allocated tax product name
        allocatedTaxProductDescription:
          type: string
          description: Allocated tax product description
      description: Final field mappings step audit trail
    Header:
      type: object
      properties:
        callIndicator:
          type: string
          description: Indicator whether the transaction is a sale or a purchase.<br>Mandatory
            field as the engine needs to know the calculation path to be followed,
            which is different for sales and purchases.
          enum:
          - AP
          - AR
        seller:
          $ref: '#/components/schemas/Seller'
        buyer:
          $ref: '#/components/schemas/Buyer'
        spaceId:
          type: string
          description: Banqup platform space ID.<br>Unique ID in the Banqup platform
            for the business space to which the tax call relates - this will give
            the tax call access to the configurations stored on that business space.
          format: uuid
        isTaxGroup:
          type: boolean
          description: Tax group indicator.<br>Field to indicate that the transaction
            is deemed to be between members belonging to the same tax group and will
            be considered out of scope.
          example: false
        b2CIndicator:
          type: boolean
          description: B2C indicator.<br>Field to indicate that the buyer is a non-taxable
            person acting as such (e.g. a private individual) - for AR transactions
            only.
          example: false
        invoiceNumber:
          type: string
          description: Invoice number.<br>Optional input field that can be used to
            drive custom configuration.
        accountingDocumentNumber:
          type: string
          description: Accounting document number.<br>Optional input field that can
            be used to drive custom configuration.
        documentType:
          type: string
          description: Document type.<br>Optional input field that can be used to
            drive custom configuration.
        taxRelevantDate:
          type: string
          description: 'Tax relevant date.<br>The date the transaction takes place
            for tax purposes - this date will be used to drive all tax content - value
            is either sent in the API or set with custom rule, and in case no value
            is sent, it is determined based on the other date fields sent if valid
            values are present for those fields, in the following sequence: delivery
            date, invoice date, posting date, payment date. If no valid dates are
            sent or set, the engine will use the date of the tax call as tax relevant
            date.'
          format: date
        documentDate:
          type: string
          description: The invoice date of the transaction.<br>Field to hold invoice
            date for the transaction - can be used to determine tax relevant date
            in case the date fields higher in the hierarchy are empty.
          format: date
        postingDate:
          type: string
          description: The posting date of the transaction.<br>Field to hold posting
            date for the transaction, can be used to determine tax relevant date in
            case the date fields higher in the hierarchy are empty.
          format: date
        paymentDate:
          type: string
          description: The payment date of the transaction.<br>Field to hold payment
            date for the transaction, can be used to determine tax relevant date in
            case the date fields higher in the hierarchy are empty.
          format: date
        deliveryDate:
          type: string
          description: The delivery date of the transaction.<br>Field to hold delivery
            date for the transaction, can be used to determine tax relevant date in
            case the date fields higher in the hierarchy are empty.
          format: date
        salesOrder:
          type: string
          description: Sales order reference.<br>Optional input field that can be
            used to drive custom configuration.
        purchaseOrder:
          type: string
          description: Purchase order reference.<br>Optional input field that can
            be used to drive custom configuration.
        isCreditNote:
          type: boolean
          description: Credit note indicator.<br>Field to indicate that the transaction
            is a credit note, which can be required e.g. for reporting purposes.
          example: false
        underSuspension:
          type: boolean
          description: Suspension regime indicator.<br>Field to indicate that a transaction
            is taking place under a suspension regime which will lead to an out of
            scope tax treatment.
          example: false
        importDeferral:
          type: boolean
          description: Import deferral indicator.<br>Field to indicate that the import
            of goods will be subject to reverse charge by the importer.
          example: false
        wht:
          $ref: '#/components/schemas/WithholdingTax'
        mismatchToleranceAmount:
          type: number
          description: Mismatch tolerance amount.<br>Field to indicate the nominal
            amount of tolerance, to be used for comparison purposes in the transactionMemoDiff
            section.
          format: double
        mismatchTolerancePercentage:
          type: number
          description: Mismatch tolerance percentage.<br>Field to indicate the percentual
            tolerance, to be used for comparison purposes in the transactionMemoDiff
            section.
          format: double
        taxInclusive:
          type: boolean
          description: Tax inclusive indicator.<br>Field to indicate that the taxable
            basis is tax inclusive - the engine will extract the tax amount from the
            original taxable basis to calculate the taxable basis and tax amount.
          example: false
        distanceSaleUnderThreshold:
          type: boolean
          description: Distance sale under threshold indicator.<br>Field to indicate
            that B2C distance sales are under threshold (reversing the engine assumption
            that such sales are over threshold).
          example: false
        electronicInterfaceIsDeemedSupplier:
          type: boolean
          description: Electronic interface is deemed supplier indicator.<br>Field
            to indicate that the electronic interface is the deemed supplier for tax
            purposes.
          example: false
        debitCreditIndicator:
          type: string
          description: Debit credit indicator.<br>Field to indicate whether the transaction
            is debit or credit in the financial system, available to be leveraged
            for custom rules.
        transactionCurrency:
          type: string
          description: Transaction currency.<br>Field to hold the currency in which
            the transaction is taking place.
        filingCurrency:
          type: string
          description: Filing currency.<br>Field to hold the currency that will be
            used for tax reporting.
        exchangeRate:
          type: number
          description: Exchange rate.<br>Exchange rate used to calculate the values
            in the filing currency fields, by multiplying the corresponding fields
            in transaction currency with this exchange rate.
          format: double
        selfBilling:
          type: boolean
          description: Self-billing indicator.<br>Field to indicate that self-billing
            applies - used for reporting, custom rules or invoice requirements.
          example: false
        cashAccounting:
          type: boolean
          description: Cash Accounting indicator.<br>Field to indicate that cash accounting
            applies - used for reporting, custom rules or invoice requirements.
          example: false
        marginScheme:
          type: boolean
          description: Margin Scheme indicator.<br>Field to indicate that margin scheme
            applies - used for reporting, custom rules or invoice requirements.
          example: false
        simplifiedInvoice:
          type: boolean
          description: Simplified Invoice indicator.<br>Field to indicate that simplified
            invoicing applies - used for reporting, custom rules or invoice requirements.
          example: false
        originalInvoiceNumber:
          type: string
          description: Number of the original invoice that is corrected.<br>In case
            of a transaction correction an earlier transaction (like a credit note),
            this field can hold the original invoice number of the transaction that
            is corrected.
        splitPayment:
          type: boolean
          description: Split payment indicator.<br>Used to identify split payment
            transactions for reporting purposes.
          example: false
        originalTotalTaxOnInvoice:
          type: number
          description: Original tax amount on the line.<br>Original tax amount on
            the line, which can be used as the basis for validation against the corresponding
            field calculated by the engine.
          format: double
        storeForAudit:
          type: boolean
          description: Store for audit indicator.<br>Field to indicate that the transaction
            should be stored in the audit database.
          example: false
        uniqueAuditId:
          type: string
          description: Unique key generated by the engine used to store audit data
            in the audit database.
        totalTaxOnInvoice:
          type: number
          description: Total tax amount on invoice as calculated by the engine.<br>Total
            tax amount for the invoice as calculated by the engine - sum of all the
            values in taxAmount on line item level.
          format: double
      description: Tax call result header
    InvoiceLine:
      type: object
      properties:
        number:
          type: integer
          description: Invoice line number.<br>Number that indicates each line on
            an invoice used as a reference.
          format: int32
        type:
          type: string
          description: Invoice line type.<br>This field can hold a code from the source
            system indicating the line type for each invoice line.
        description:
          type: string
          description: Description of the product or service that is sold or purchased.
      description: Invoice line information
    Item:
      type: object
      properties:
        quantity:
          type: number
          description: Quantity of the item.<br>Indicates the number of items that
            are present on the invoice line.
          format: double
        discountRate:
          type: string
          description: Discount rate of the item.<br>Indicates the discount applicable
            to the invoice line.
        unit:
          type: string
          description: Unit.<br>Indicates the type of unit used on the line.
        unitPrice:
          type: number
          description: UnitPrice.<br>Indicates the price per unit on the invoice line.
          format: double
      description: Item information
    JurisdictionTax:
      type: object
      properties:
        type:
          type: string
          description: Jurisdiction tax type.<br>This indicates the type the jurisdiction
            to which the array relates - relevant for multi-level jurisdictions.
          enum:
          - COUNTRY
          - SUBDIVISION
        level:
          type: integer
          description: Jurisdiction level.<br>Sequential number indicating the level
            on which the jurisiction calculation is happening.
          format: int32
        taxName:
          type: string
          description: Jurisdiction tax name.<br>The name of the tax applied at jurisdiction
            level - will be mostly used in the US/CAN calculation method to drive
            the correct selection of tax rate.
        rateType:
          type: string
          description: Tax rate type.<br>This indicates the type of the tax rate -
            for each country, multiple rate types are maintained like standard rate,
            zero rate, reduced rates etc. The rate type will be standard rate or specific
            rates will come from product mappings.
        taxRate:
          type: number
          description: Tax rate derived by the tax engine for the transaction on jurisdiction
            level.<br>The jurisdiction tax rate will be retrieved from the engine
            database using the combination of transaction location, jurisdiction rate
            type and tax relevant date.
          format: double
        taxOnInvoice:
          type: number
          description: Tax amount on the invoice line calculated by the engine on
            jurisdiction level.<br>This value is calculated by multiplying jurisdictionTax.taxRate
            with calculation.taxableBasis, unless if reverseCharge is true, then the
            value is zero.
          format: double
        payableTax:
          type: number
          description: 'Payable tax amount calculated by the engine on jurisdiction
            level.<br>This value is calculated as follows: (i) in case of AR, the
            value is equal to jurisdictionTax.taxOnInvoice; (ii) in case of AP and
            reverseCharge is true: jurisdictionTax.taxRate*calculation.taxableBasis;
            (iii) if AP and reverseCharge is false: zero.'
          format: double
        deductibleTax:
          type: number
          description: 'Deductible tax amount calculated by the engine on jurisdiction
            level.<br>This value is calculated as follows: (i) in case of AR: zero
            (ii) in case of AP and reverseCharge is true: jurisdictionTax.payableTax*taxDeduction;
            (iii) if AP and reverseCharge is false: jurisdictionTax.taxOnInvoice*taxDeduction.'
          format: double
        nonDeductibleTax:
          type: number
          description: 'Non-deductible tax amount calculated by the engine - jurisdiction
            level.<br>This value is calculated as follows: (i) in case of AR: zero
            (ii) in case of AP and reverseCharge is true: jurisdictionTax.payableTax
            minus jurisdictionTax.deductibleTax; (iii) if AP and reverseCharge is
            false: jurisdictionTax.taxOnInvoice minus jurisdictionTax.deductibleTax.'
          format: double
        grossAmount:
          type: number
          description: 'Gross amount calculated by the engine - jurisdictional level.<br>This
            value is calculated as follows: (i) in case of AR or AP and reverseCharge
            is false: taxableBasis + jurisdiction.taxOnInvoice; (ii) in case of AP
            and reverseCharge is true: taxableBasis.'
          format: double
        clientTaxCode:
          type: string
          description: Client tax code - jurisdiction level.<br>Result of the client
            tax code mapping.
        systemTaxCode:
          type: string
          description: System tax code - jurisdiction level.<br>System generated tax
            code at jurisdiction level.
      description: Jurisdiction tax
    LiabilityChapterStepAuditTrailResponse:
      type: object
      properties:
        description:
          type: string
          description: Tax profile chapter description
        taxType:
          type: string
          description: Tax profile chapter tax type
          enum:
          - ITX
          - PPT
          - WHT
        chapterType:
          type: string
          description: Tax profile chapter chapter type
          enum:
          - PLACE_OF_SUPPLY
          - USE_AND_ENJOYMENT
          - DOMESTIC_LIABILITY
          - CROSS_BORDER_ACQUISITIONS_BY_TAXABLE_PERSONS
          - ZERO_RATING
          - OTHER
        conditions:
          type: string
          description: Tax profile chapter conditions to check
        finalReverseCharge:
          type: boolean
          description: Indicates the final reverse charge flag value at the end of
            the domestic liability engine step
          example: false
        categoriesResults:
          type: object
          additionalProperties:
            type: array
            description: Tax profile chapter categories results
            items:
              $ref: '#/components/schemas/TaxProfileCategoryAuditTrail'
          description: Tax profile chapter categories results
      description: Domestic liability step audit trail
    Line:
      type: object
      properties:
        invoiceLine:
          $ref: '#/components/schemas/InvoiceLine'
        shipFrom:
          $ref: '#/components/schemas/ShipFromLocationResponse'
        shipTo:
          $ref: '#/components/schemas/ShipToLocationResponse'
        incoterm:
          type: string
          description: Incoterm.<br>The incoterm used in the transaction - depending
            on the transaction type, specific tax consequences are triggered by incoterms
            EXW and DDP - to be finetuned through custom logic.
        clientProduct:
          $ref: '#/components/schemas/ClientProduct'
        commodity:
          $ref: '#/components/schemas/Commodity'
        taxProducts:
          type: array
          description: List of tax products
          items:
            $ref: '#/components/schemas/TaxProduct'
        isPrivateUse:
          type: boolean
          description: Private use indicator.<br>Field to indicate that a purchase
            is done for private use - this flag will put the VAT deduction to zero
            - AP only.
          example: false
        item:
          $ref: '#/components/schemas/Item'
        isTradeGoods:
          type: boolean
          description: Trade goods indicator for tax reporting purposes.<br>Field
            to indicate that goods are considered trade goods - can be used for custom
            rules or reporting.
          example: false
        isCapitalGoods:
          type: boolean
          description: Capital goods indicator for tax reporting purposes.<br>Field
            to indicate that goods are considered capital goods - can be used for
            custom rules or reporting.
          example: false
        generalLedgerAccount:
          type: string
          description: General ledger account.<br>Optional input field that can be
            used to drive custom configuration.
        costCenter:
          type: string
          description: Cost center.<br>Optional input field that can be used to drive
            custom configuration.
        profitCenter:
          type: string
          description: Profit center.<br>Optional input field that can be used to
            drive custom configuration.
        original:
          $ref: '#/components/schemas/OriginalValues'
        locationImmovableGoods:
          $ref: '#/components/schemas/LocationImmovableGoodsResponse'
        locationPutAtDisposal:
          $ref: '#/components/schemas/LocationPutAtDisposalResponse'
        locationPhysicalService:
          $ref: '#/components/schemas/LocationPhysicalServiceResponse'
        locationDepartureTransport:
          $ref: '#/components/schemas/LocationDepartureTransportResponse'
        locationArrivalTransport:
          $ref: '#/components/schemas/LocationArrivalTransportResponse'
        locationEffectiveConsumption:
          $ref: '#/components/schemas/LocationEffectiveConsumptionResponse'
        locationInstallation:
          $ref: '#/components/schemas/LocationInstallationResponse'
        noTransportAllocated:
          type: boolean
          description: No transport indicator.<br>Field to indicate that the transaction
            is a supply of goods without transportation.
          example: false
        supplyWithInstallation:
          type: boolean
          description: Supply with installation indicator.<br>Field to indicate that
            the goods are being installed and qualify for supply with installation.
          example: false
        isTriangulationPartyB:
          type: boolean
          description: Simplified triangulation indicator - B to C relation.<br>Field
            to indicate that the transaction happens in the B to C relationship in
            simplified triangulation (can be used both in AP and AR).
          example: false
        isTriangulationPartyC:
          type: boolean
          description: Simplified triangulation indicator - party C purchase.<br>Field
            to indicate that the transaction is a purchase by party C in simplified
            triangulation (AP only).
          example: false
        optOutImportOSS:
          type: boolean
          description: Opt out of import OSS indicator.<br>Field to indicate that
            the seller has no intention to perform the importation in case of import
            of goods destined for B2C buyers - he is assuming buyers will perform
            importation.
          example: false
        underlyingVendorNotEstablished:
          type: boolean
          description: Underlying vendor not established in the transaction location
            indicator.<br>Field to indicate that the underlying vendor is not established
            in the transaction location country - this can be relevant for transactions
            involving electronic interfaces B2C.
          example: false
        consignmentValueUnderThresh:
          type: boolean
          description: Consignment value under threshold indicator.<br>Field to indicate
            that the consignment value of the transaction is under the relevant legal
            threshold - relevant for transactions involving an electronic interface
            B2C.
          example: false
        optNoRcNest:
          type: boolean
          description: Opt out of non-established reverse charge indicator.<br>Field
            to indicate that the seller does not want to avail of the reverse charge
            for non-established entities - applicable only where legislation allows
            it.
          example: false
        flexField1:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField2:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField3:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField4:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField5:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField6:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField7:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField8:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField9:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField10:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField11:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField12:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField13:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField14:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField15:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField01Admin:
          type: string
          description: Line FlexField in Admin panel.<br>Flexible field for admin
            panel use only - not for client.
        flexField02Admin:
          type: string
          description: Line FlexField in Admin panel.<br>Flexible field for admin
            panel use only - not for client.
        flexField03Admin:
          type: string
          description: Line FlexField in Admin panel.<br>Flexible field for admin
            panel use only - not for client.
        flexField04Admin:
          type: string
          description: Line FlexField in Admin panel.<br>Flexible field for admin
            panel use only - not for client.
        flexField05Admin:
          type: string
          description: Line FlexField in Admin panel.<br>Flexible field for admin
            panel use only - not for client.
        flexField06Admin:
          type: string
          description: Line FlexField in Admin panel.<br>Flexible field for admin
            panel use only - not for client.
        flexField07Admin:
          type: string
          description: Line FlexField in Admin panel.<br>Flexible field for admin
            panel use only - not for client.
        flexField08Admin:
          type: string
          description: Line FlexField in Admin panel.<br>Flexible field for admin
            panel use only - not for client.
        flexField09Admin:
          type: string
          description: Line FlexField in Admin panel.<br>Flexible field for admin
            panel use only - not for client.
        flexField10Admin:
          type: string
          description: Line FlexField in Admin panel.<br>Flexible field for admin
            panel use only - not for client.
        flexField11Admin:
          type: string
          description: Line FlexField in Admin panel.<br>Flexible field for admin
            panel use only - not for client.
        flexField12Admin:
          type: string
          description: Line FlexField in Admin panel.<br>Flexible field for admin
            panel use only - not for client.
        flexField13Admin:
          type: string
          description: Line FlexField in Admin panel.<br>Flexible field for admin
            panel use only - not for client.
        flexField14Admin:
          type: string
          description: Line FlexField in Admin panel.<br>Flexible field for admin
            panel use only - not for client.
        flexField15Admin:
          type: string
          description: Line FlexField in Admin panel.<br>Flexible field for admin
            panel use only - not for client.
        flexOut1:
          type: string
          description: Line Output FlexField.<br>Flexible field that can be used by
            the client for custom outputs.
        flexOut2:
          type: string
          description: Line Output FlexField.<br>Flexible field that can be used by
            the client for custom outputs.
        flexOut3:
          type: string
          description: Line Output FlexField.<br>Flexible field that can be used by
            the client for custom outputs.
        flexOut4:
          type: string
          description: Line Output FlexField.<br>Flexible field that can be used by
            the client for custom outputs.
        flexOut5:
          type: string
          description: Line Output FlexField.<br>Flexible field that can be used by
            the client for custom outputs.
        flexOut6:
          type: string
          description: Line Output FlexField.<br>Flexible field that can be used by
            the client for custom outputs.
        flexOut7:
          type: string
          description: Line Output FlexField.<br>Flexible field that can be used by
            the client for custom outputs.
        flexOut8:
          type: string
          description: Line Output FlexField.<br>Flexible field that can be used by
            the client for custom outputs.
        flexOut9:
          type: string
          description: Line Output FlexField.<br>Flexible field that can be used by
            the client for custom outputs.
        flexOut10:
          type: string
          description: Line Output FlexField.<br>Flexible field that can be used by
            the client for custom outputs.
        flexOut1Admin:
          type: string
          description: Line Output FlexField in Admin panel.<br>Flexible output field
            for admin panel use only - not for client.
        flexOut2Admin:
          type: string
          description: Line Output FlexField in Admin panel.<br>Flexible output field
            for admin panel use only - not for client.
        flexOut3Admin:
          type: string
          description: Line Output FlexField in Admin panel.<br>Flexible output field
            for admin panel use only - not for client.
        flexOut4Admin:
          type: string
          description: Line Output FlexField in Admin panel.<br>Flexible output field
            for admin panel use only - not for client.
        flexOut5Admin:
          type: string
          description: Line Output FlexField in Admin panel.<br>Flexible output field
            for admin panel use only - not for client.
        conclusion:
          $ref: '#/components/schemas/Conclusion'
        auditTrail:
          $ref: '#/components/schemas/AuditTrail'
      description: Tax call result lines
    LocationArrivalTransportResponse:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/Subdivision'
      description: Arrival transport location
    LocationDepartureTransportResponse:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/Subdivision'
      description: Departure transport location
    LocationEffectiveConsumptionResponse:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/Subdivision'
      description: Effective consumption location
    LocationImmovableGoodsResponse:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/Subdivision'
      description: Immovable goods location
    LocationInstallationResponse:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/Subdivision'
      description: Installation location
    LocationPhysicalServiceResponse:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/Subdivision'
      description: Physical service location
    LocationPutAtDisposalResponse:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/Subdivision'
      description: Put at disposal location
    NestedSubdivision:
      type: object
      properties:
        name:
          type: string
          description: Subdivision 2 name
        code:
          type: string
          description: Subdivision 2 ISO code
      description: Nested subdivision if/when there are multiple layers of nested
        territories
    OriginalValues:
      type: object
      properties:
        taxableBasis:
          type: number
          description: Taxable basis as sent by the customer.<br>Taxable basis as
            sent by the customer - this will be used to calculate the taxable basis
            in the engine in combination with the tax inclusive flag.
          format: double
        taxRate:
          type: number
          description: Original tax rate.<br>Original tax rate, which can be used
            as the basis for validation against the corresponding field calculated
            by the engine.
          format: double
        taxOnInvoice:
          type: number
          description: Original tax amount on the line.<br>Original tax amount on
            the line, which can be used as the basis for validation against the corresponding
            field calculated by the engine.
          format: double
        payableTax:
          type: number
          description: Original payable tax amount.<br>Original payable tax amount,
            which can be used as the basis for validation against the corresponding
            field calculated by the engine.
          format: double
        deductibleTax:
          type: number
          description: Original deductible tax amount.<br>Original deductible tax
            amount, which can be used as the basis for validation against the corresponding
            field calculated by the engine.
          format: double
        grossAmount:
          type: number
          description: Original gross amount.<br>Original gross amount, which can
            be used as the basis for validation against the corresponding field calculated
            by the engine.
          format: double
        taxCode:
          type: string
          description: Original tax code.<br>Original tax code, which can be used
            as the basis for validation against the corresponding field calculated
            by the engine.
      description: Original values
    OverrideMappingAuditTrail:
      type: object
      properties:
        id:
          type: string
          description: Override mapping ID
          format: uuid
        comment:
          type: string
          description: Override mapping comment
        order:
          type: integer
          description: Override mapping order
          format: int32
        startDate:
          type: string
          description: Override mapping start date
          format: date
        endDate:
          type: string
          description: Override mapping end date
          format: date
        conditions:
          type: string
          description: Override mapping conditions to check
        taxProductCode:
          type: string
          description: Override mapping tax product code
        isCustomTaxProduct:
          type: boolean
          description: Override mapping custom tax product flag
          example: false
      description: Final override mappings step audit trail
    PeppolTaxCategoryAuditTrail:
      type: object
      properties:
        id:
          type: string
          description: PEPPOL tax category ID
          format: uuid
        code:
          type: string
          description: PEPPOL tax category code
        name:
          type: string
          description: PEPPOL tax category name
        order:
          type: integer
          description: PEPPOL tax category order
          format: int32
        conditions:
          type: string
          description: PEPPOL tax category conditions to check
      description: Custom PEPPOL tax categories step audit trail
    RuleAuditTrail:
      type: object
      properties:
        id:
          type: string
          description: Rule ID
          format: uuid
        comment:
          type: string
          description: Rule comment
        order:
          type: integer
          description: Rule order
          format: int32
        startDate:
          type: string
          description: Rule start date
          format: date
        endDate:
          type: string
          description: Rule end date
          format: date
        conditions:
          type: string
          description: Rule conditions to check
        actions:
          type: string
          description: Rule actions if the conditions pass
      description: Custom invoice wordings step audit trail
    Seller:
      type: object
      properties:
        id:
          type: string
          description: ID that identifies the seller in the calling system.<br>Optional
            field used by the engine to retrieve tax relevant seller configuration
            from the Banqup platform such as tax ID's.
        name:
          type: string
          description: Name of the seller.<br>Optional field, will be retrieved from
            the configuration in case seller ID is recognized.
        country:
          $ref: '#/components/schemas/SellerCountryResponse'
        address:
          $ref: '#/components/schemas/SellerAddressResponse'
        taxRegistrations:
          type: array
          description: Seller tax registrations
          items:
            $ref: '#/components/schemas/SellerTaxId'
        taxGroupName:
          type: string
          description: Seller tax group name.<br>Name of the tax group to which the
            seller belongs - if this identical to the buyer tax group name, the transaction
            will be an out of scope transaction within a tax group.
        smallEnterprise:
          type: boolean
          description: Seller small enterprise status.<br>Field to indicate that the
            seller is subject to the special scheme for small enterprises resulting
            in exemption or relief from VAT.
          example: false
        corporationId:
          type: string
          description: Seller corporate registry ID.<br>Seller government ID other
            than the tax ID - optional field that can be used to identify the seller
            and drive configuration.
        headOfficeIndicator:
          type: boolean
          description: Seller head office indicator.<br>Field to indicate that the
            seller is a head office that has branches.
          example: false
        branchIndicator:
          type: boolean
          description: Seller branch indicator.<br>Field to indicate that the seller
            is a branch belonging to a head office.
          example: false
        isElectronicInterface:
          type: boolean
          description: Indicator that seller is an electronic interface.<br>Field
            to indicate that seller is an electronic interface for tax purposes -
            may impact liability in case of certain B2C sale of goods.
          example: false
      description: The tax call seller entity
    SellerAddressResponse:
      type: object
      properties:
        city:
          type: string
          description: City name
        street:
          type: string
          description: Street name
        postalCode:
          type: string
          description: Postal code
        zip4:
          type: string
          description: Postal code extension
      description: Seller address
    SellerCountryResponse:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/Subdivision'
      description: Seller core establishment country
    SellerTaxId:
      type: object
      properties:
        territoryCode:
          type: string
          description: Tax ID territory code of the seller transactional tax ID.<br>2-digit
            ISO country code or subdivision code of the territory that has issued
            the tax ID used by the seller in the transaction.
        prefix:
          type: string
          description: Prefix of the seller transactional tax ID.<br>2-digit ISO country
            code or code that is used as prefix for the transactional tax ID.
        id:
          type: string
          description: Seller transactional tax ID.<br>The tax ID the seller intends
            to use in the transaction.
        type:
          type: string
          description: Seller transactional tax ID type.<br>Type of the tax ID the
            seller intends to use in the transaction - this can have its influence
            on the tax outcome.
          enum:
          - PLACE_OF_ESTABLISHMENT
          - FIXED_ESTABLISHMENT
          - WITH_VAT_REP
          - WITHOUT_VAT_REP
          - IOSS
          - NEUOSS
        category:
          type: string
          description: Seller tax registration category.<br>Attribute of the tax ID
            assigned by the tax engine in the tax ID matrix, indicating the category
            of the tax ID, which will be used in the tax calculation.
          enum:
          - TTID
          - MTID
          - TTID_MTID
          - ALL
        oss:
          type: boolean
          description: OSS indicator.<br>Field to indicate that the seller tax ID
            used in the transaction has been activated for OSS purposes.
          example: false
        voluntary:
          type: boolean
          description: Seller tax ID voluntary indicator.<br>Field to indicate that
            the seller tax ID is voluntary which can impact the liability for non-established
            sellers in certain EU countries.
          example: false
        validTaxIdFormat:
          type: boolean
          description: Seller tax ID regular expression validity indicator.<br>Indicates
            whether or not the tax ID has passed the validation using the regular
            expression for that territory.
          example: false
      description: Seller tax registrations
    ShipFromLocationAddressResponse:
      type: object
      properties:
        city:
          type: string
          description: City name
        street:
          type: string
          description: Street name
        postalCode:
          type: string
          description: Postal code
        zip4:
          type: string
          description: Postal code extension
      description: Ship from location address
    ShipFromLocationCountryResponse:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/Subdivision'
      description: Ship from location country
    ShipFromLocationResponse:
      type: object
      properties:
        country:
          $ref: '#/components/schemas/ShipFromLocationCountryResponse'
        address:
          $ref: '#/components/schemas/ShipFromLocationAddressResponse'
      description: Ship from information
    ShipToLocationAddressResponse:
      type: object
      properties:
        city:
          type: string
          description: City name
        street:
          type: string
          description: Street name
        postalCode:
          type: string
          description: Postal code
        zip4:
          type: string
          description: Postal code extension
      description: Ship to location address
    ShipToLocationCountryResponse:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/Subdivision'
      description: Ship to location country
    ShipToLocationResponse:
      type: object
      properties:
        country:
          $ref: '#/components/schemas/ShipToLocationCountryResponse'
        address:
          $ref: '#/components/schemas/ShipToLocationAddressResponse'
      description: Ship to information
    SourcingRuleAuditTrailResponse:
      type: object
      properties:
        taxProfileId:
          type: string
          description: Tax profile ID that triggered the sourcing rule
          format: uuid
        taxProfileName:
          type: string
          description: Tax profile name that triggered the sourcing rule
        isCustomProfile:
          type: boolean
          description: Indicates if it is a custom tax profile
          example: false
        isCustomSourcingRule:
          type: boolean
          description: Indicates if it is a custom sourcing rule
          example: false
        triggeringTaxField:
          type: string
          description: The tax field for which the sourcing rule was triggered
        sourcedTaxField:
          type: string
          description: Which field was sourced for its values
        sourcedValue:
          type: string
          description: What was the sourced value
      description: Sourcing rules audit trail
    Subdivision:
      type: object
      properties:
        name:
          type: string
          description: Subdivision 1 name
        code:
          type: string
          description: Subdivision 1 ISO code
        subdivision:
          $ref: '#/components/schemas/NestedSubdivision'
      description: Country subdivision
    TaxCall:
      type: object
      properties:
        success:
          type: boolean
          description: Indicates if the tax call was successful
          example: true
        message:
          type: string
          description: Tax call message
        header:
          $ref: '#/components/schemas/Header'
        lines:
          type: array
          description: Tax call result lines
          items:
            $ref: '#/components/schemas/Line'
    TaxDetail:
      type: object
      properties:
        taxType:
          type: string
          description: Tax type.<br>Tax type to which the tax details in the array
            relate - currently only ITX tax type available.
          enum:
          - ITX
          - PPT
          - WHT
        calculationMethod:
          type: string
          description: Tax calculation method.<br>Calculation method used to calculate
            the tax amounts. Within a tax type, multiple calculation types can exist.
          enum:
          - DEFAULT
          - GST_CANADA
          - GST_INDIA
        calculation:
          $ref: '#/components/schemas/Calculation'
      description: Tax conclusion details
    TaxProduct:
      type: object
      properties:
        id:
          type: string
          description: Tax product ID in the tax engine.<br>Unique code used in the
            engine to categorize products and services for tax purposes (includes
            a register prefix, e.g., ITX). This code will drive product level tax
            content.
        name:
          type: string
          description: Tax product description in the tax engine.<br>Description of
            the tax engine product in the tax product ID field.
        contentId:
          type: string
          description: Tax product ID in the tax engine of the product from which
            the tax content is used.<br>Id of the tax product used by the tax engine
            to retrieve product level tax content. The field value either matches
            the taxProduct.id (which is populated by the engine in the product mapping
            step) or - in case the tax product ID is linked to another product - shows
            the ID of the product to which the original product is linked.
        contentName:
          type: string
          description: Tax product description in the tax engine of the product mentioned
            in the field taxProducts.contentId.<br>Name of the product mentioned in
            the taxProduct.contentId field.
        taxType:
          type: string
          description: Product Tax Type.<br>Indicates to which tax type the product
            belongs - default is ITX but can be any tax type coming from the product.
          enum:
          - ITX
          - PPT
          - WHT
        classification:
          type: string
          description: Product classification.<br>Indicates whether the product has
            a special classification that can lead to special rules around place of
            supply or liability in the engine logic.
          enum:
          - NEW_CAR
          - ART_59_EUDIR
          - EL_GAS_DEALER
          - EL_GAS_NONDEALER
          - EXCISE_GOODS
          - IMMOV_PROPERTY
          - ART_35_EUDIR
        serviceType:
          type: string
          description: Service type.<br>Indicates whether the tax product is a good
            or a service and details which type of service.
          enum:
          - GOODS
          - SERVICE_GENERAL
          - SERVICE_IMMOVABLE
          - SERVICE_CULT_SPORT
          - SERVICE_CATER_REST
          - SERVICE_HIRE_M_O_TRANSP_LONG
          - SERVICE_TELEC_BR_EL
          - SERVICE_TRANSP_PERS
          - SERVICE_TRANSP_GOODS
          - SERVICE_WORK_ON_MOVGDS
          - SERVICE_HIRE_M_O_TRANSP_SHORT
        isInstallable:
          type: boolean
          description: Installable product indicator.<br>Indicator coming from taxProducts.contentId
            - indicates that the product can be used in combination with the supply
            with installation indicator.
          example: false
      description: List of tax products
    TaxProfileAuditTrail:
      type: object
      properties:
        id:
          type: string
          description: Tax profile ID
          format: uuid
        name:
          type: string
          description: Tax profile name
        description:
          type: string
          description: Tax profile description
        legalReference:
          type: string
          description: Tax profile legal reference
        order:
          type: integer
          description: Tax profile order
          format: int32
        startDate:
          type: string
          description: Tax profile start date
          format: date
        endDate:
          type: string
          description: Tax profile start end
          format: date
        conditions:
          type: string
          description: Tax profile conditions to check
        actions:
          type: string
          description: Tax profile applied actions
      description: Tax profile category custom profiles executed
    TaxProfileCategoryAuditTrail:
      type: object
      properties:
        id:
          type: string
          description: Tax chapter category ID
          format: uuid
        name:
          type: string
          description: Tax chapter category name
        description:
          type: string
          description: Tax chapter category description
        order:
          type: integer
          description: Tax chapter category order
          format: int32
        conditions:
          type: string
          description: Tax chapter category conditions to check
        nestedCategories:
          type: array
          description: Nested tax profile categories
          items:
            $ref: '#/components/schemas/TaxProfileCategoryAuditTrail'
        adminProfiles:
          type: array
          description: Tax profile category admin profiles executed
          items:
            $ref: '#/components/schemas/TaxProfileAuditTrail'
        customProfiles:
          type: array
          description: Tax profile category custom profiles executed
          items:
            $ref: '#/components/schemas/TaxProfileAuditTrail'
      description: Tax profile chapter categories results
    TaxProfileChapterAuditTrail:
      type: object
      properties:
        description:
          type: string
          description: Tax profile chapter description
        taxType:
          type: string
          description: Tax profile chapter tax type
          enum:
          - ITX
          - PPT
          - WHT
        chapterType:
          type: string
          description: Tax profile chapter chapter type
          enum:
          - PLACE_OF_SUPPLY
          - USE_AND_ENJOYMENT
          - DOMESTIC_LIABILITY
          - CROSS_BORDER_ACQUISITIONS_BY_TAXABLE_PERSONS
          - ZERO_RATING
          - OTHER
        conditions:
          type: string
          description: Tax profile chapter conditions to check
        categoriesResults:
          type: object
          additionalProperties:
            type: array
            description: Tax profile chapter categories results
            items:
              $ref: '#/components/schemas/TaxProfileCategoryAuditTrail'
          description: Tax profile chapter categories results
      description: Other tax profile chapter audit trail
    TaxProfileTerritoryAuditTrail:
      type: object
      properties:
        taxProfileId:
          type: string
          description: The ID of the hit profile (if any)
          format: uuid
        isCustomTaxProfile:
          type: boolean
          description: Indicates whether it's an admin or custom tax profile
          example: false
        datasetOriginField:
          type: string
          description: The name of the field the territory is coming from
        transactionType:
          type: string
          description: The resulting transaction type
        resultingTransactionLocation:
          type: string
          description: The resulting place of supply transaction location
        resultingTransactionLocationFieldName:
          type: string
          description: The resulting place of supply transaction location field name
        isTerritoryLive:
          type: boolean
          description: The flag indicates whether the territory is live ot not
          example: true
        defaultedConclusion:
          type: boolean
          description: The flag indicates whether the conclusion is defaulted
          example: false
        countryWantsToTax:
          type: string
          description: 'The status indicates whether the transaction location country
            value in the preliminary conclusion equals the dataset territory value,
            in non-defaulted conclusion '
      description: Tax profile chapter territories to check for profiles
    TerritoryAuditTrail:
      type: object
      properties:
        stepName:
          type: string
          description: Engine step name in which the change occurred
        fieldName:
          type: string
          description: Tax field name
        oldValue:
          type: string
          description: Value before the change
        newValue:
          type: string
          description: New value
        message:
          type: string
          description: Additional information about the new value
      description: Territory changes audit trail
    TransactionLocationResponse:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/Subdivision'
      description: Transaction location
    TransactionMemo:
      type: object
      properties:
        client:
          type: object
          additionalProperties:
            type: string
        system:
          type: object
          additionalProperties:
            type: string
      description: List of system transaction memos
    UseAndEnjoymentChapterAuditTrailResponse:
      type: object
      properties:
        description:
          type: string
          description: Tax profile chapter description
        taxType:
          type: string
          description: Tax profile chapter tax type
          enum:
          - ITX
          - PPT
          - WHT
        chapterType:
          type: string
          description: Tax profile chapter chapter type
          enum:
          - PLACE_OF_SUPPLY
          - USE_AND_ENJOYMENT
          - DOMESTIC_LIABILITY
          - CROSS_BORDER_ACQUISITIONS_BY_TAXABLE_PERSONS
          - ZERO_RATING
          - OTHER
        conditions:
          type: string
          description: Tax profile chapter conditions to check
        outboundCategoryDatasetOriginField:
          type: string
          description: The name of the field for the outbound use and enjoyment tax
            profile category
        outboundCategoryDatasetOriginFieldValue:
          type: string
          description: The value of the field for the outbound use and enjoyment tax
            profile category
        inboundCategoryDatasetOriginField:
          type: string
          description: The name of the field for the inbound use and enjoyment tax
            profile category
        inboundCategoryDatasetOriginFieldValue:
          type: string
          description: The value of the field for the inbound use and enjoyment tax
            profile category
        finalOutboundUseAndEnjoyment:
          type: boolean
          description: Indicates the final outbound use and enjoyment value at the
            end of the use and enjoyment engine step
          example: false
        finalInboundUseAndEnjoyment:
          type: boolean
          description: Indicates the final inbound use and enjoyment value at the
            end of the use and enjoyment engine step
          example: false
        categoriesResults:
          type: object
          additionalProperties:
            type: array
            description: Tax profile chapter categories results
            items:
              $ref: '#/components/schemas/TaxProfileCategoryAuditTrail'
          description: Tax profile chapter categories results
      description: Use and enjoyment step audit trail
    VatexCodeAuditTrail:
      type: object
      properties:
        id:
          type: string
          description: VATEX code ID
          format: uuid
        exemptionReasonCode:
          type: string
          description: VATEX code code
        exemptionReason:
          type: string
          description: VATEX code name
        order:
          type: integer
          description: VATEX code order
          format: int32
        conditions:
          type: string
          description: VATEX code conditions to check
      description: Custom VATEX codes step audit trail
    WithholdingTax:
      type: object
      properties:
        payFromCountry:
          type: string
          description: Pay from country.<br>The country from which the payment is
            made, i.e. from where the money is sent - this field is used for withholding
            tax calculation only.
        payToCountry:
          type: string
          description: Pay to country.<br>The country to which the payment is made,
            i.e. where the money is received - this field is used for withholding
            tax calculation only.
        residencyCertificate:
          type: boolean
          description: Withholding tax residence certificate indicator.<br>Field to
            indicate presence of a WHT residence certificate, which is a tax driver
            for the WHT determination.
          example: false
        treatyRelief:
          type: boolean
          description: Withholding tax treaty relief indicator.<br>Field to indicate
            that WHT treaty relief applies, which is a tax driver for the WHT determination.
          example: false
        participationPercentage:
          type: number
          description: Withholding tax participation percentage.<br>Field to indicate
            the percentage of participation of the recipient in the capital of the
            payer, which can be a tax driver for the WHT determination.
          format: double
      description: Withholding tax information
    ZeroRatingStepAuditTrailResponse:
      type: object
      properties:
        description:
          type: string
          description: Tax profile chapter description
        taxType:
          type: string
          description: Tax profile chapter tax type
          enum:
          - ITX
          - PPT
          - WHT
        chapterType:
          type: string
          description: Tax profile chapter chapter type
          enum:
          - PLACE_OF_SUPPLY
          - USE_AND_ENJOYMENT
          - DOMESTIC_LIABILITY
          - CROSS_BORDER_ACQUISITIONS_BY_TAXABLE_PERSONS
          - ZERO_RATING
          - OTHER
        conditions:
          type: string
          description: Tax profile chapter conditions to check
        finalRateType:
          type: string
          description: Indicates the final rate type value at the end of the zero
            rating engine step
        finalRatePercentage:
          type: number
          description: Indicates the final rate percentage value at the end of the
            zero rating engine step
          format: double
        categoriesResults:
          type: object
          additionalProperties:
            type: array
            description: Tax profile chapter categories results
            items:
              $ref: '#/components/schemas/TaxProfileCategoryAuditTrail'
          description: Tax profile chapter categories results
      description: Zero rating step audit trail
    ApiErrorProblemDetail:
      required:
      - error
      - requestId
      - timestamp
      type: object
      properties:
        status:
          type: integer
          format: int32
        error:
          type: string
        requestId:
          type: string
        timestamp:
          type: string
          format: date-time
        type:
          type: string
          format: uri
        title:
          type: string
        detail:
          type: string
        instance:
          type: string
          format: uri
        problems:
          type: array
          items:
            $ref: '#/components/schemas/NestedProblem'
        properties:
          type: object
          additionalProperties:
            type: object
    NestedProblem:
      required:
      - detail
      - error
      - title
      type: object
      properties:
        error:
          type: string
        title:
          type: string
        detail:
          type: string
        type:
          type: string
          format: uri
    BuyerAddressRequest:
      type: object
      properties:
        city:
          type: string
          description: City name
        street:
          type: string
          description: Street name
        postalCode:
          type: string
          description: Postal code
        zip4:
          type: string
          description: Postal code extension
      description: Buyer address
    BuyerCountryRequest:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/SubdivisionRequest'
      description: Buyer core establishment country
    BuyerRequest:
      type: object
      properties:
        id:
          type: string
          description: ID that identifies the buyer in the calling system.<br>Optional
            field used by the engine to retrieve tax relevant buyer configuration
            from the Banqup platform such as tax ID's.
        name:
          type: string
          description: Name of the buyer.<br>Optional field, will be retrieved from
            the configuration in case buyer ID is recognized.
        country:
          $ref: '#/components/schemas/BuyerCountryRequest'
        address:
          $ref: '#/components/schemas/BuyerAddressRequest'
        taxRegistrations:
          type: array
          description: Buyer tax registrations
          items:
            $ref: '#/components/schemas/BuyerTaxIdRequest'
        taxGroupName:
          type: string
          description: Buyer tax group name.<br>Name of the tax group to which the
            buyer belongs - if this identical to the seller tax group name, the transaction
            is will be an out of scope transaction within a tax group.
        smallEnterprise:
          type: boolean
          description: Buyer small enterprise status.<br>Field to indicate that the
            buyer is subject to the special scheme for small enterprises resulting
            in exemption or relief from VAT.
          example: false
        corporationId:
          type: string
          description: Buyer corporate registry ID.<br>Buyer government ID other than
            the tax ID - optional field that can be used to identify the seller and
            drive configuration.
        headOfficeIndicator:
          type: boolean
          description: Buyer head office indicator.<br>Field to indicate that the
            buyer is a head office that has branches.
          example: false
        branchIndicator:
          type: boolean
          description: Buyer branch indicator.<br>Field to indicate that the buyer
            is a branch belonging to a head office.
          example: false
        classification:
          type: string
          description: Buyer classification.<br>This field can be used to indicates
            whether the buyer has a special status for tax purposes - this can then
            be used to create custom content in the engine.
          enum:
          - EXEMPT_GOVT_DIPL_NATO
          - EXEMPT_OTHER
          - VESSELS_FOR_HIGH_SEAS_AIRCRAFT
          - EXEMPT_NET_EXPORTER
        deductionPercentage:
          type: number
          description: Buyer custom tax deduction percentage.<br>The percentage of
            tax deduction of the buyer resulting from its activity (i.e. other than
            the legal limitations) - this will be used in the final calculation of
            the deductible tax.
          format: double
          example: 100
      description: The tax call buyer entity
    BuyerTaxIdRequest:
      type: object
      properties:
        territoryCode:
          type: string
          description: Tax ID territory code of the buyer transactional tax ID.<br>2-digit
            ISO country code or subdivision code of the territory that has issued
            the tax ID used by the seller in the transaction.
        prefix:
          type: string
          description: Prefix of the buyer transactional tax ID.<br>2-digit ISO country
            code or code that is used as prefix for the transactional tax ID.
        id:
          type: string
          description: Buyer transactional tax ID.<br>The tax ID the buyer intends
            to use in the transaction.
        type:
          type: string
          description: Buyer transactional tax ID type.<br>Type of the tax ID the
            buyer intends to use in the transaction - this can have its influence
            on the tax outcome.
          enum:
          - PLACE_OF_ESTABLISHMENT
          - FIXED_ESTABLISHMENT
          - WITH_VAT_REP
          - WITHOUT_VAT_REP
          - IOSS
          - NEUOSS
        voluntary:
          type: boolean
          description: Buyer tax ID voluntary indicator.<br>Field to indicate that
            the buyer tax ID is voluntary which can impact the liability for non-established
            sellers in certain EU countries.
          example: false
      description: Buyer tax registrations
    ClientProductRequest:
      type: object
      properties:
        code:
          type: string
          description: Client product code.<br>Custom client product code coming from
            the source system - to be used for product mapping or custom rules.
        description:
          type: string
          description: Client product description.<br>Custom client product description
            coming from the source system - to be used for product mapping or custom
            rules.
        category:
          type: string
          description: Client product category.<br>Custom client product category
            coming from the source system - to be used for product mapping or custom
            rules.
      description: Client product information
    CommodityRequest:
      type: object
      properties:
        code:
          type: string
          description: Commodity code used in the transaction.<br>The structured commodity
            code used in the transaction to indicate the nature of the goods. When
            sent to the engine, this will be used to automatically map to the applicable
            tax content in lookup enabled registries.
        type:
          type: string
          description: Commodity Type.<br>Indicates the type of commodity code. Currently
            only EU HSN codes are supported.
      description: Commodity information
    HeaderRequest:
      type: object
      properties:
        callIndicator:
          type: string
          description: Indicator whether the transaction is a sale or a purchase.<br>Mandatory
            field as the engine needs to know the calculation path to be followed,
            which is different for sales and purchases.
          enum:
          - AP
          - AR
        seller:
          $ref: '#/components/schemas/SellerRequest'
        buyer:
          $ref: '#/components/schemas/BuyerRequest'
        spaceId:
          type: string
          description: Banqup platform space ID.<br>Unique ID in the Banqup platform
            for the business space to which the tax call relates - this will give
            the tax call access to the configurations stored on that business space.
          format: uuid
        isTaxGroup:
          type: boolean
          description: Tax group indicator.<br>Field to indicate that the transaction
            is deemed to be between members belonging to the same tax group and will
            be considered out of scope.
          example: false
        b2CIndicator:
          type: boolean
          description: B2C indicator.<br>Field to indicate that the buyer is a non-taxable
            person acting as such (e.g. a private individual) - for AR transactions
            only.
          example: false
        invoiceNumber:
          type: string
          description: Invoice number.<br>Optional input field that can be used to
            drive custom configuration.
        accountingDocumentNumber:
          type: string
          description: Accounting document number.<br>Optional input field that can
            be used to drive custom configuration.
        documentType:
          type: string
          description: Document type.<br>Optional input field that can be used to
            drive custom configuration.
        taxRelevantDate:
          type: string
          description: 'Tax relevant date.<br>The date the transaction takes place
            for tax purposes - this date will be used to drive all tax content - value
            is either sent in the API or set with custom rule, and in case no value
            is sent, it is determined based on the other date fields sent if valid
            values are present for those fields, in the following sequence: delivery
            date, invoice date, posting date, payment date. If no valid dates are
            sent or set, the engine will use the date of the tax call as tax relevant
            date.'
          format: date
        documentDate:
          type: string
          description: The invoice date of the transaction.<br>Field to hold invoice
            date for the transaction - can be used to determine tax relevant date
            in case the date fields higher in the hierarchy are empty.
          format: date
        postingDate:
          type: string
          description: The posting date of the transaction.<br>Field to hold posting
            date for the transaction, can be used to determine tax relevant date in
            case the date fields higher in the hierarchy are empty.
          format: date
        paymentDate:
          type: string
          description: The payment date of the transaction.<br>Field to hold payment
            date for the transaction, can be used to determine tax relevant date in
            case the date fields higher in the hierarchy are empty.
          format: date
        deliveryDate:
          type: string
          description: The delivery date of the transaction.<br>Field to hold delivery
            date for the transaction, can be used to determine tax relevant date in
            case the date fields higher in the hierarchy are empty.
          format: date
        salesOrder:
          type: string
          description: Sales order reference.<br>Optional input field that can be
            used to drive custom configuration.
        purchaseOrder:
          type: string
          description: Purchase order reference.<br>Optional input field that can
            be used to drive custom configuration.
        isCreditNote:
          type: boolean
          description: Credit note indicator.<br>Field to indicate that the transaction
            is a credit note, which can be required e.g. for reporting purposes.
          example: false
        underSuspension:
          type: boolean
          description: Suspension regime indicator.<br>Field to indicate that a transaction
            is taking place under a suspension regime which will lead to an out of
            scope tax treatment.
          example: false
        importDeferral:
          type: boolean
          description: Import deferral indicator.<br>Field to indicate that the import
            of goods will be subject to reverse charge by the importer.
          example: false
        wht:
          $ref: '#/components/schemas/WithholdingTaxRequest'
        mismatchToleranceAmount:
          type: number
          description: Mismatch tolerance amount.<br>Field to indicate the nominal
            amount of tolerance, to be used for comparison purposes in the transactionMemoDiff
            section.
          format: double
        mismatchTolerancePercentage:
          type: number
          description: Mismatch tolerance percentage.<br>Field to indicate the percentual
            tolerance, to be used for comparison purposes in the transactionMemoDiff
            section.
          format: double
        taxInclusive:
          type: boolean
          description: Tax inclusive indicator.<br>Field to indicate that the taxable
            basis is tax inclusive - the engine will extract the tax amount from the
            original taxable basis to calculate the taxable basis and tax amount.
          example: false
        distanceSaleUnderThreshold:
          type: boolean
          description: Distance sale under threshold indicator.<br>Field to indicate
            that B2C distance sales are under threshold (reversing the engine assumption
            that such sales are over threshold).
          example: false
        electronicInterfaceIsDeemedSupplier:
          type: boolean
          description: Electronic interface is deemed supplier indicator.<br>Field
            to indicate that the electronic interface is the deemed supplier for tax
            purposes.
          example: false
        debitCreditIndicator:
          type: string
          description: Debit credit indicator.<br>Field to indicate whether the transaction
            is debit or credit in the financial system, available to be leveraged
            for custom rules.
        transactionCurrency:
          type: string
          description: Transaction currency.<br>Field to hold the currency in which
            the transaction is taking place.
        filingCurrency:
          type: string
          description: Filing currency.<br>Field to hold the currency that will be
            used for tax reporting.
        exchangeRate:
          type: number
          description: Exchange rate.<br>Exchange rate used to calculate the values
            in the filing currency fields, by multiplying the corresponding fields
            in transaction currency with this exchange rate.
          format: double
        selfBilling:
          type: boolean
          description: Self-billing indicator.<br>Field to indicate that self-billing
            applies - used for reporting, custom rules or invoice requirements.
          example: false
        cashAccounting:
          type: boolean
          description: Cash Accounting indicator.<br>Field to indicate that cash accounting
            applies - used for reporting, custom rules or invoice requirements.
          example: false
        marginScheme:
          type: boolean
          description: Margin Scheme indicator.<br>Field to indicate that margin scheme
            applies - used for reporting, custom rules or invoice requirements.
          example: false
        simplifiedInvoice:
          type: boolean
          description: Simplified Invoice indicator.<br>Field to indicate that simplified
            invoicing applies - used for reporting, custom rules or invoice requirements.
          example: false
        originalInvoiceNumber:
          type: string
          description: Number of the original invoice that is corrected.<br>In case
            of a transaction correction an earlier transaction (like a credit note),
            this field can hold the original invoice number of the transaction that
            is corrected.
        splitPayment:
          type: boolean
          description: Split payment indicator.<br>Used to identify split payment
            transactions for reporting purposes.
          example: false
        originalTotalTaxOnInvoice:
          type: number
          description: Original tax amount on the line.<br>Original tax amount on
            the line, which can be used as the basis for validation against the corresponding
            field calculated by the engine.
          format: double
        storeForAudit:
          type: boolean
          description: Store for audit indicator.<br>Field to indicate that the transaction
            should be stored in the audit database.
          example: false
      description: Tax call request header
    InvoiceLineRequest:
      type: object
      properties:
        number:
          type: integer
          description: Invoice line number.<br>Number that indicates each line on
            an invoice used as a reference.
          format: int32
        type:
          type: string
          description: Invoice line type.<br>This field can hold a code from the source
            system indicating the line type for each invoice line.
        description:
          type: string
          description: Description of the product or service that is sold or purchased.
      description: Invoice line information
    ItemRequest:
      type: object
      properties:
        quantity:
          type: number
          description: Quantity of the item.<br>Indicates the number of items that
            are present on the invoice line.
          format: double
        discountRate:
          type: string
          description: Discount rate of the item.<br>Indicates the discount applicable
            to the invoice line.
        unit:
          type: string
          description: Unit.<br>Indicates the type of unit used on the line.
        unitPrice:
          type: number
          description: UnitPrice.<br>Indicates the price per unit on the invoice line.
          format: double
      description: Item information
    LineRequest:
      type: object
      properties:
        invoiceLine:
          $ref: '#/components/schemas/InvoiceLineRequest'
        shipFrom:
          $ref: '#/components/schemas/ShipFromLocationRequest'
        shipTo:
          $ref: '#/components/schemas/ShipToLocationRequest'
        incoterm:
          type: string
          description: Incoterm.<br>The incoterm used in the transaction - depending
            on the transaction type, specific tax consequences are triggered by incoterms
            EXW and DDP - to be finetuned through custom logic.
        clientProduct:
          $ref: '#/components/schemas/ClientProductRequest'
        commodity:
          $ref: '#/components/schemas/CommodityRequest'
        taxProducts:
          type: array
          description: List of tax products
          items:
            $ref: '#/components/schemas/TaxProductRequest'
        isPrivateUse:
          type: boolean
          description: Private use indicator.<br>Field to indicate that a purchase
            is done for private use - this flag will put the VAT deduction to zero
            - AP only.
          example: false
        item:
          $ref: '#/components/schemas/ItemRequest'
        isTradeGoods:
          type: boolean
          description: Trade goods indicator for tax reporting purposes.<br>Field
            to indicate that goods are considered trade goods - can be used for custom
            rules or reporting.
          example: false
        isCapitalGoods:
          type: boolean
          description: Capital goods indicator for tax reporting purposes.<br>Field
            to indicate that goods are considered capital goods - can be used for
            custom rules or reporting.
          example: false
        generalLedgerAccount:
          type: string
          description: General ledger account.<br>Optional input field that can be
            used to drive custom configuration.
        costCenter:
          type: string
          description: Cost center.<br>Optional input field that can be used to drive
            custom configuration.
        profitCenter:
          type: string
          description: Profit center.<br>Optional input field that can be used to
            drive custom configuration.
        original:
          $ref: '#/components/schemas/OriginalValuesRequest'
        locationImmovableGoods:
          $ref: '#/components/schemas/LocationImmovableGoodsRequest'
        locationPutAtDisposal:
          $ref: '#/components/schemas/LocationPutAtDisposalRequest'
        locationPhysicalService:
          $ref: '#/components/schemas/LocationPhysicalServiceRequest'
        locationDepartureTransport:
          $ref: '#/components/schemas/LocationDepartureTransportRequest'
        locationArrivalTransport:
          $ref: '#/components/schemas/LocationArrivalTransportRequest'
        locationEffectiveConsumption:
          $ref: '#/components/schemas/LocationEffectiveConsumptionRequest'
        locationInstallation:
          $ref: '#/components/schemas/LocationInstallationRequest'
        noTransportAllocated:
          type: boolean
          description: No transport indicator.<br>Field to indicate that the transaction
            is a supply of goods without transportation.
          example: false
        supplyWithInstallation:
          type: boolean
          description: Supply with installation indicator.<br>Field to indicate that
            the goods are being installed and qualify for supply with installation.
          example: false
        isTriangulationPartyB:
          type: boolean
          description: Simplified triangulation indicator - B to C relation.<br>Field
            to indicate that the transaction happens in the B to C relationship in
            simplified triangulation (can be used both in AP and AR).
          example: false
        isTriangulationPartyC:
          type: boolean
          description: Simplified triangulation indicator - party C purchase.<br>Field
            to indicate that the transaction is a purchase by party C in simplified
            triangulation (AP only).
          example: false
        optOutImportOSS:
          type: boolean
          description: Opt out of import OSS indicator.<br>Field to indicate that
            the seller has no intention to perform the importation in case of import
            of goods destined for B2C buyers - he is assuming buyers will perform
            importation.
          example: false
        underlyingVendorNotEstablished:
          type: boolean
          description: Underlying vendor not established in the transaction location
            indicator.<br>Field to indicate that the underlying vendor is not established
            in the transaction location country - this can be relevant for transactions
            involving electronic interfaces B2C.
          example: false
        consignmentValueUnderThresh:
          type: boolean
          description: Consignment value under threshold indicator.<br>Field to indicate
            that the consignment value of the transaction is under the relevant legal
            threshold - relevant for transactions involving an electronic interface
            B2C.
          example: false
        optNoRcNest:
          type: boolean
          description: Opt out of non-established reverse charge indicator.<br>Field
            to indicate that the seller does not want to avail of the reverse charge
            for non-established entities - applicable only where legislation allows
            it.
          example: false
        flexField1:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField2:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField3:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField4:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField5:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField6:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField7:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField8:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField9:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField10:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField11:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField12:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField13:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField14:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
        flexField15:
          type: string
          description: Line FlexField.<br>Flexible field that can be used by the client
            for custom configuration/rules.
      description: Tax call request lines
    LocationArrivalTransportRequest:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/SubdivisionRequest'
      description: Arrival transport location
    LocationDepartureTransportRequest:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/SubdivisionRequest'
      description: Departure transport location
    LocationEffectiveConsumptionRequest:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/SubdivisionRequest'
      description: Effective consumption location
    LocationImmovableGoodsRequest:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/SubdivisionRequest'
      description: Immovable goods location
    LocationInstallationRequest:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/SubdivisionRequest'
      description: Installation location
    LocationPhysicalServiceRequest:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/SubdivisionRequest'
      description: Physical service location
    LocationPutAtDisposalRequest:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/SubdivisionRequest'
      description: Put at disposal location
    NestedSubdivisionRequest:
      type: object
      properties:
        name:
          type: string
          description: Subdivision 2 name
        code:
          type: string
          description: Subdivision 2 ISO code
      description: Nested subdivision if/when there are multiple layers of nested
        territories
    OriginalValuesRequest:
      type: object
      properties:
        taxableBasis:
          type: number
          description: Taxable basis as sent by the customer.<br>Taxable basis as
            sent by the customer - this will be used to calculate the taxable basis
            in the engine in combination with the tax inclusive flag.
          format: double
        taxRate:
          type: number
          description: Original tax rate.<br>Original tax rate, which can be used
            as the basis for validation against the corresponding field calculated
            by the engine.
          format: double
        taxOnInvoice:
          type: number
          description: Original tax amount on the line.<br>Original tax amount on
            the line, which can be used as the basis for validation against the corresponding
            field calculated by the engine.
          format: double
        payableTax:
          type: number
          description: Original payable tax amount.<br>Original payable tax amount,
            which can be used as the basis for validation against the corresponding
            field calculated by the engine.
          format: double
        deductibleTax:
          type: number
          description: Original deductible tax amount.<br>Original deductible tax
            amount, which can be used as the basis for validation against the corresponding
            field calculated by the engine.
          format: double
        grossAmount:
          type: number
          description: Original gross amount.<br>Original gross amount, which can
            be used as the basis for validation against the corresponding field calculated
            by the engine.
          format: double
        taxCode:
          type: string
          description: Original tax code.<br>Original tax code, which can be used
            as the basis for validation against the corresponding field calculated
            by the engine.
      description: Original values
    SellerAddressRequest:
      type: object
      properties:
        city:
          type: string
          description: City name
        street:
          type: string
          description: Street name
        postalCode:
          type: string
          description: Postal code
        zip4:
          type: string
          description: Postal code extension
      description: Seller address
    SellerCountryRequest:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/SubdivisionRequest'
      description: Seller core establishment country
    SellerRequest:
      type: object
      properties:
        id:
          type: string
          description: ID that identifies the seller in the calling system.<br>Optional
            field used by the engine to retrieve tax relevant seller configuration
            from the Banqup platform such as tax ID's.
        name:
          type: string
          description: Name of the seller.<br>Optional field, will be retrieved from
            the configuration in case seller ID is recognized.
        country:
          $ref: '#/components/schemas/SellerCountryRequest'
        address:
          $ref: '#/components/schemas/SellerAddressRequest'
        taxRegistrations:
          type: array
          description: Seller tax registrations
          items:
            $ref: '#/components/schemas/SellerTaxIdRequest'
        taxGroupName:
          type: string
          description: Seller tax group name.<br>Name of the tax group to which the
            seller belongs - if this identical to the buyer tax group name, the transaction
            will be an out of scope transaction within a tax group.
        smallEnterprise:
          type: boolean
          description: Seller small enterprise status.<br>Field to indicate that the
            seller is subject to the special scheme for small enterprises resulting
            in exemption or relief from VAT.
          example: false
        corporationId:
          type: string
          description: Seller corporate registry ID.<br>Seller government ID other
            than the tax ID - optional field that can be used to identify the seller
            and drive configuration.
        headOfficeIndicator:
          type: boolean
          description: Seller head office indicator.<br>Field to indicate that the
            seller is a head office that has branches.
          example: false
        branchIndicator:
          type: boolean
          description: Seller branch indicator.<br>Field to indicate that the seller
            is a branch belonging to a head office.
          example: false
        isElectronicInterface:
          type: boolean
          description: Indicator that seller is an electronic interface.<br>Field
            to indicate that seller is an electronic interface for tax purposes -
            may impact liability in case of certain B2C sale of goods.
          example: false
      description: The tax call seller entity
    SellerTaxIdRequest:
      type: object
      properties:
        territoryCode:
          type: string
          description: Tax ID territory code of the seller transactional tax ID.<br>2-digit
            ISO country code or subdivision code of the territory that has issued
            the tax ID used by the seller in the transaction.
        prefix:
          type: string
          description: Prefix of the seller transactional tax ID.<br>2-digit ISO country
            code or code that is used as prefix for the transactional tax ID.
        id:
          type: string
          description: Seller transactional tax ID.<br>The tax ID the seller intends
            to use in the transaction.
        type:
          type: string
          description: Seller transactional tax ID type.<br>Type of the tax ID the
            seller intends to use in the transaction - this can have its influence
            on the tax outcome.
          enum:
          - PLACE_OF_ESTABLISHMENT
          - FIXED_ESTABLISHMENT
          - WITH_VAT_REP
          - WITHOUT_VAT_REP
          - IOSS
          - NEUOSS
        oss:
          type: boolean
          description: OSS indicator.<br>Field to indicate that the seller tax ID
            used in the transaction has been activated for OSS purposes.
          example: false
        voluntary:
          type: boolean
          description: Seller tax ID voluntary indicator.<br>Field to indicate that
            the seller tax ID is voluntary which can impact the liability for non-established
            sellers in certain EU countries.
          example: false
      description: Seller tax registrations
    ShipFromLocationAddressRequest:
      type: object
      properties:
        city:
          type: string
          description: City name
        street:
          type: string
          description: Street name
        postalCode:
          type: string
          description: Postal code
        zip4:
          type: string
          description: Postal code extension
      description: Ship from location address
    ShipFromLocationCountryRequest:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/SubdivisionRequest'
      description: Ship from location country
    ShipFromLocationRequest:
      type: object
      properties:
        country:
          $ref: '#/components/schemas/ShipFromLocationCountryRequest'
        address:
          $ref: '#/components/schemas/ShipFromLocationAddressRequest'
      description: Ship from information
    ShipToLocationAddressRequest:
      type: object
      properties:
        city:
          type: string
          description: City name
        street:
          type: string
          description: Street name
        postalCode:
          type: string
          description: Postal code
        zip4:
          type: string
          description: Postal code extension
      description: Ship to location address
    ShipToLocationCountryRequest:
      type: object
      properties:
        name:
          type: string
          description: Country name
        code:
          type: string
          description: Country ISO code
        subdivision:
          $ref: '#/components/schemas/SubdivisionRequest'
      description: Ship to location country
    ShipToLocationRequest:
      type: object
      properties:
        country:
          $ref: '#/components/schemas/ShipToLocationCountryRequest'
        address:
          $ref: '#/components/schemas/ShipToLocationAddressRequest'
      description: Ship to information
    SubdivisionRequest:
      type: object
      properties:
        name:
          type: string
          description: Subdivision 1 name
        code:
          type: string
          description: Subdivision 1 ISO code
        subdivision:
          $ref: '#/components/schemas/NestedSubdivisionRequest'
      description: Country subdivision
    TaxCallRequest:
      type: object
      properties:
        header:
          $ref: '#/components/schemas/HeaderRequest'
        lines:
          type: array
          description: Tax call request lines
          items:
            $ref: '#/components/schemas/LineRequest'
    TaxProductRequest:
      type: object
      properties:
        id:
          type: string
          description: Tax product ID in the tax engine.<br>Unique code used in the
            engine to categorize products and services for tax purposes (includes
            a register prefix, e.g., ITX). This code will drive product level tax
            content.
      description: List of tax products
    WithholdingTaxRequest:
      type: object
      properties:
        payFromCountry:
          type: string
          description: Pay from country.<br>The country from which the payment is
            made, i.e. from where the money is sent - this field is used for withholding
            tax calculation only.
        payToCountry:
          type: string
          description: Pay to country.<br>The country to which the payment is made,
            i.e. where the money is received - this field is used for withholding
            tax calculation only.
        residencyCertificate:
          type: boolean
          description: Withholding tax residence certificate indicator.<br>Field to
            indicate presence of a WHT residence certificate, which is a tax driver
            for the WHT determination.
          example: false
        treatyRelief:
          type: boolean
          description: Withholding tax treaty relief indicator.<br>Field to indicate
            that WHT treaty relief applies, which is a tax driver for the WHT determination.
          example: false
        participationPercentage:
          type: number
          description: Withholding tax participation percentage.<br>Field to indicate
            the percentage of participation of the recipient in the capital of the
            payer, which can be a tax driver for the WHT determination.
          format: double
      description: Withholding tax information
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.btx.fr.banqup.com/oauth2/client_credential/gettoken
          scopes:
            info: Scopes are endpoint-specific, see each endpoint for required scope.
        authorizationCode:
          authorizationUrl: https://api.btx.fr.banqup.com/oauth2/auth
          tokenUrl: https://api.btx.fr.banqup.com/oauth2/token
          scopes:
            info: Scopes are endpoint-specific, see each endpoint for required scope.
