openapi: 3.0.1
info:
  title: API de Emissão de Nota Fiscal de Produto (NFe/NFCe) - RTC
  version: v3
  description: |  
    ### Introdução 
    
    API para emissão de Notas Fiscais de Produto (NFe/NFCe) de acordo com a legislação vigente e os padrões estabelecidos pelo Governo. 
    
    ### Adequação de Leiaute 
    
    Leiaute NFe/NFCe Reforma Tributária do Consumo - Modelo 55 e 65. 
    
    Esta adequação de leiaute contempla até a Nota Técnica **NT_2025.002_v1.30_RTC_NF-e_IBS_CBS_IS**. 
    
    > **Atenção** 
    > _Sujeito a alterações mediante notas técnicas e processos de homologação._
servers:
  - url: https://api.nfse.io/
    description: Nota Fiscal de Produto/Consumidor (RTC).
tags:
  - name: Nota Fiscal de Produto/Consumidor (RTC)
    description: Operações relacionadas à Nota Fiscal Eletrônica de Produto

paths:
  /v2/companies/:companyId/productinvoices:
    post:
      tags:
        - Nota Fiscal de Produto/Consumidor (RTC)
      summary: Envio de dados para emissão de NF-e/NFC-e
      description: Envia os dados para a criação e autorização de uma nova Nota Fiscal de Produto.
      operationId: createProductInvoice
      requestBody:
        description: "Objeto JSON contendo todos os dados da NF-e, conforme o schema ProductInvoiceRequest."
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductInvoiceRequest'
            examples:
              minimalWithIBSCBS:
                summary: Exemplo Mínimo com IBS/CBS
                value:
                  operationType: "Outgoing"
                  destination: "InternalOperation"
                  printType: "DANFE_NFC_E"
                  purposeType: "Normal"
                  consumerType: "FinalConsumer"
                  presenceType: "Internet"
                  buyer:
                    name: "NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL"
                    federalTaxNumber: 11223344000155
                    address:
                      state: "SC"
                      city:
                        code: "4205407"
                        name: "Florianópolis"
                      district: "Centro"
                      street: "Rua Teste"
                      number: "123"
                      postalCode: "88010000"
                      country: "BRA"
                    type: "LegalEntity"
                    stateTaxNumberIndicator: "TaxPayer"
                    stateTaxNumber: "123456789"
                  items:
                    - description: "NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL"
                      ncm: "85171300"
                      cfop: 5102
                      quantity: 1.0
                      unitAmount: 150.00
                      totalAmount: 150.0
                      totalIndicator: true
                      tax:
                        icms:
                          origin: "0"
                          cst: "00"
                        pis:
                          cst: "01"
                        cofins:
                          cst: "01"
                        IBSCBS:
                          situationCode: "000"
                          classCode: "000001"
                          calculationMode: "OfficialService"
                  payment:
                    - paymentDetail:
                        - method: "Cash"
                          paymentType: "InCash" # Pagamento à vista
                          amount: 150.00
              intermediateWithDetailedIBSCBS:
                summary: Exemplo Intermediário com IBS/CBS detalhado
                value:
                  operationType: "Outgoing"
                  destination: "InterstateOperation"
                  printType: "NFeNormalPortrait"
                  purposeType: "Normal"
                  consumerType: "Normal"
                  presenceType: "Internet"
                  buyer:
                    name: "Empresa Exemplo Intermediario LTDA"
                    federalTaxNumber: 11223344000155
                    address:
                      state: "RJ"
                      city:
                        code: "3304557"
                        name: "Rio de Janeiro"
                      district: "Centro"
                      street: "Avenida Rio Branco"
                      number: "1"
                      postalCode: "20090003"
                      country: "BRA"
                    type: "LegalEntity"
                    stateTaxNumberIndicator: "TaxPayer"
                    stateTaxNumber: "123456789"
                  items:
                    - description: "Produto Exemplo com IBS/CBS Detalhado"
                      ncm: "84713012"
                      cfop: 6102
                      quantity: 2.0
                      unitAmount: 750.00
                      totalAmount: 1500.00
                      totalIndicator: true
                      tax:
                        icms:
                          origin: "0"
                          cst: "00"
                        pis:
                          cst: "01"
                        cofins:
                          cst: "01"
                        IBSCBS:
                          situationCode: "101"
                          classCode: "RT0001"
                          basis: 1500.00
                          state: # IBS Estadual
                            rate: 8.5
                            amount: 127.50
                          municipal: # IBS Municipal
                            rate: 2.0
                            amount: 30.00
                          cbs: # CBS
                            rate: 10.5
                            amount: 157.50
                  totals:
                    icms:
                      productAmount: 1500.00
                      invoiceAmount: 1500.00
                    ibsCbsTotals:
                      basis: 1500.00
                      ibs:
                        state: { amount: 127.50 }
                        municipal: { amount: 30.00 }
                        totalAmount: 157.50
                      cbs:
                        amount: 157.50
                    totalInvoiceAmount: 1657.50
                  payment:
                    - paymentDetail:
                        - method: "InstantPayment" # Pagamento Instantâneo PIX
                          paymentType: "InCash"
                          amount: 1500.00
              intermediateWithTaxDetermination:
                summary: Exemplo Intermediário com taxDetermination
                value:
                  operationType: "Outgoing"
                  destination: "InterstateOperation"
                  printType: "NFeNormalPortrait"
                  purposeType: "Normal"
                  consumerType: "Normal"
                  presenceType: "Internet"
                  buyer:
                    name: "Empresa Exemplo com Tax Determination"
                    federalTaxNumber: 55443322000111
                    address:
                      state: "SP"
                      city:
                        code: "3550308"
                        name: "São Paulo"
                      district: "Itaim Bibi"
                      street: "Avenida Brigadeiro Faria Lima"
                      number: "2000"
                      postalCode: "01452002"
                      country: "BRA"
                    type: "LegalEntity"
                    stateTaxNumberIndicator: "TaxPayer"
                    stateTaxNumber: "987654321"
                  items:
                    - description: "Produto com cálculo automático de imposto"
                      ncm: "90064000"
                      quantity: 5.0
                      unitAmount: 300.00
                      totalAmount: 1500.00
                      totalIndicator: true
                      taxDetermination:
                        operationCode: 121
                        issuerTaxProfile: "retail"
                        buyerTaxProfile: "final_consumer_non_icms_contributor"
                        origin: "0"
                        acquisitionPurpose: null
                      tax:
                        IBSCBS: # Grupo de Informações do IBS e CBS
                          situationCode: "000" # Código de Situação Tributária do IBS/CBS
                          classCode: "000001" # Código de Classificação Tributária do IBS/CBS
                          calculationMode: "OfficialService"
              full:
                summary: Exemplo Completo (Exaustivo)
                value:
                  id: "nfe-exemplo-completo-12345"
                  payment:
                    - paymentDetail:
                        - method: "CreditCard"
                          methodDescription: "Cartão de Crédito Master"
                          paymentType: "Term"
                          amount: 1500.5
                          card:
                            federalTaxNumber: "12345678000199"
                            flag: "Mastercard"
                            authorization: "ABC123456"
                            integrationPaymentType: "Integrated"
                            federalTaxNumberRecipient: "98765432000100" # CNPJ do beneficiário do pagamento
                            idPaymentTerminal: "TERM-PDV-001"
                          paymentDate: "2025-10-28T10:00:00-03:00"
                          federalTaxNumberPag: "11223344000155"
                          statePag: "SP"
                        - method: "InstantPayment"
                          methodDescription: "PIX"
                          paymentType: "InCash"
                          amount: 523.5
                          card: null # Grupo de Cartões
                          paymentDate: "2025-10-29T11:30:00-03:00"
                          federalTaxNumberPag: "111222333000144"
                          statePag: "RJ"
                      payBack: 0.0
                  serie: 1
                  number: 987654
                  operationOn: "2025-10-28T10:00:00-03:00"
                  expectedDeliveryOn: "2025-10-30"
                  operationNature: "Venda de Mercadoria c/ Reforma Tributaria"
                  operationType: "Outgoing"
                  destination: "InterstateOperation"
                  consumptionCityCode: 3550308
                  ibsConsumptionCityCode: 3550308
                  printType: "NFeNormalPortrait"
                  purposeType: "Normal" # Finalidade da emissão
                  debitType: "FinesAndInterest"
                  creditType: "IbsPresumedCreditAppropriationZfm"
                  consumerType: "Normal"
                  presenceType: "Internet"
                  contingencyOn: "2025-10-28T09:00:00-03:00"
                  contingencyJustification: "Problemas tecnicos no SEFAZ de origem."
                  governmentPurchase:
                    entityType: "state"
                    rateReduction: 15.5
                    operationType: "supply"
                  buyer:
                    accountId: "ACC-BUYER-789"
                    id: "BUYER-001"
                    name: "Empresa Compradora Exemplo LTDA"
                    federalTaxNumber: 11223344000155
                    email: "compras@comprador.com"
                    address:
                      state: "RJ"
                      city:
                        code: "3304557"
                        name: "Rio de Janeiro"
                      district: "Centro"
                      additionalInformation: "Sala 1001"
                      street: "Avenida Rio Branco"
                      number: "1"
                      postalCode: "20090003"
                      country: "BRA"
                      phone: "21987654321"
                    type: "LegalEntity"
                    stateTaxNumberIndicator: "TaxPayer"
                    tradeName: "Comprador Exemplo"
                    taxRegime: "LucroReal"
                    stateTaxNumber: "123456789"
                  transport:
                    freightModality: "ByThirdParties"
                    transportGroup:
                      accountId: "ACC-TRANSP-456"
                      id: "TRANSP-001"
                      name: "Transportadora Veloz S.A."
                      federalTaxNumber: 55667788000199
                      email: "contato@transportadora.com"
                      address:
                        state: "SP"
                        city:
                          code: "3550308"
                          name: "São Paulo"
                        district: "Vila Olimpia"
                        additionalInformation: "Andar 5"
                        street: "Rua Funchal"
                        number: "500"
                        postalCode: "04551060"
                        country: "BRA"
                        phone: "11912345678"
                      type: "LegalEntity"
                      stateTaxNumber: "987654321"
                      transportRetention: null
                    reboque:
                      plate: "REB1A23"
                      uf: "SP"
                      rntc: "12345678"
                      wagon: "WAG-001"
                      ferry: "BAL-001"
                    volume:
                      volumeQuantity: 10
                      species: "Caixa (CX)"
                      brand: "MARCA-EXEMPLO"
                      volumeNumeration: "001-010"
                      netWeight: 1000.5
                      grossWeight: 1100.75
                    transportVehicle:
                      plate: "VEI4B56"
                      state: "SP"
                      rntc: "87654321"
                    sealNumber: "LACRE-98765"
                    transpRate:
                      serviceAmount: 350.0
                      bcRetentionAmount: 350.0
                      icmsRetentionRate: 12.0
                      icmsRetentionAmount: 42.0
                      cfop: 5352
                      cityGeneratorFactCode: 3550308
                  additionalInformation:
                    fisco: "Informacoes de interesse do Fisco (Reforma Tributaria)."
                    taxpayer: "Informacoes complementares do contribuinte."
                    xmlAuthorized: [12345678901, 98765432109]
                    effort: "Safra 2025"
                    order: "Pedido 123"
                    contract: "Contrato 456"
                    taxDocumentsReference:
                      - documentElectronicInvoice:
                          accessKey: "41251012345678000199550010009876541234567890"
                    advancePayment:
                      - accessKey: "41251012345678000199550010001112221234567890"
                    taxpayerComments:
                      - field: "MeuCampoCustom"
                        text: "Observacao fiscal do meu campo"
                      - field: "OutroCampo"
                        text: "Outra observacao"
                    referencedProcess:
                      - identifierConcessory: "PROC-JUD-123"
                        identifierOrigin: 1
                        concessionActType: 1
                  export:
                    state: "SP"
                    office: "Porto de Santos"
                    local: "Armazem 1 - Alfandega"
                  items:
                    - code: "PROD-EXAUSTIVO-001"
                      codeGTIN: "7891234567890"
                      description: "Produto de Exemplo Exaustivo com todos os impostos"
                      ncm: "84713012"
                      nve: ["AA01", "BB02"]
                      extipi: "01"
                      cfop: 5102
                      unit: "UN"
                      quantity: 10.0
                      unitAmount: 200.0
                      totalAmount: 2000.0
                      codeTaxGTIN: "7891234567890"
                      unitTax: "UN"
                      quantityTax: 10.0
                      taxUnitAmount: 200.0
                      freightAmount: 10.0
                      insuranceAmount: 5.0
                      discountAmount: 15.0
                      othersAmount: 2.0
                      totalIndicator: true
                      usedMovableAssetIndicator: false
                      itemAmount: 2002.0 # Valor total do item
                      cest: "0100100"
                      benefit: "RS051500"
                      tax:
                        totalTax: 450.5
                        icms:
                          origin: "0"
                          cst: "00"
                          csosn: null
                          baseTaxModality: "3"
                          baseTax: 2002.0
                          baseTaxSTModality: "4"
                          baseTaxSTReduction: "10.0"
                          baseTaxST: 2200.0
                          baseTaxReduction: 0.0
                          basisBenefitCode: "BENEF-ICMS-01"
                          stRate: 18.0
                          stAmount: 396.0
                          stMarginAmount: 10.0
                          rate: 18.0
                          amount: 360.36
                          percentual: null
                          snCreditRate: 0.0
                          snCreditAmount: 0.0
                          stMarginAddedAmount: "10.0"
                          stRetentionAmount: "396.0"
                          baseSTRetentionAmount: "2200.0"
                          baseTaxOperationPercentual: "100.0"
                          ufst: "RJ"
                          amountSTReason: "Valor desonerado ST"
                          baseSNRetentionAmount: "0.0"
                          snRetentionAmount: "0.0"
                          amountOperation: "360.36"
                          percentualDeferment: "0.0"
                          baseDeferred: "0.0"
                          exemptAmount: 0.0
                          exemptReason: "Others"
                          exemptAmountST: 0.0
                          exemptReasonST: "Others"
                          fcpRate: 2.0
                          fcpAmount: 40.04
                          fcpstRate: 2.0
                          fcpstAmount: 44.0
                          fcpstRetRate: 2.0
                          fcpstRetAmount: 44.0
                          baseTaxFCPSTAmount: 2200.0
                          substituteAmount: 360.36
                          stFinalConsumerRate: 20.0
                          effectiveBaseTaxReductionRate: 0.0
                          effectiveBaseTaxAmount: 2002.0
                          effectiveRate: 18.0
                          effectiveAmount: 360.36
                          deductionIndicator: "NotDeduct"
                        ipi:
                          cst: "50"
                          classificationCode: "999"
                          classification: "CL-01"
                          producerCNPJ: "44556677000188"
                          stampCode: "SELO-IPI-123"
                          stampQuantity: 10.0
                          base: 2002.0
                          rate: 10.0
                          unitQuantity: 10.0
                          unitAmount: 20.0
                          amount: 200.2
                        ii:
                          baseTax: "2002.00"
                          customsExpenditureAmount: "100.00"
                          amount: 120.0
                          iofAmount: 20.0
                          vEnqCamb: 5.0
                        pis:
                          cst: "01"
                          baseTax: 2002.0
                          rate: 1.65
                          amount: 33.03
                          baseTaxProductQuantity: 10.0
                          productRate: 3.303
                        cofins:
                          cst: "01"
                          baseTax: 2002.0
                          rate: 7.6
                          amount: 152.15
                          baseTaxProductQuantity: 10.0
                          productRate: 15.215
                        icmsDestination:
                          vBCUFDest: 2002.0
                          pFCPUFDest: 2.0
                          pICMSUFDest: 18.0
                          pICMSInter: 12.0
                          pICMSInterPart: 60.0
                          vFCPUFDest: 40.04
                          vICMSUFDest: 72.07
                          vICMSUFRemet: 48.05
                          vBCFCPUFDest: 2002.0
                        IS:
                          situationCode: "101"
                          classificationCode: "IS0001"
                          basis: 2002.0
                          rate: 5.0
                          unitRate: null
                          unit: null
                          quantity: null
                          amount: 100.1
                        IBSCBS:
                          situationCode: "101"
                          classCode: "RT0001"
                          donationIndicator: "0"
                          basis: 2002.0
                          state:
                            rate: 10.0
                            deferment: { rate: 1.0, amount: 20.02 }
                            returnedAmount: { amount: 10.0 }
                            reduction: { rateReduction: 0.5, effectiveRate: 9.5 }
                            amount: 190.19
                          municipal:
                            rate: 5.0
                            deferment: { rate: 0.5, amount: 10.01 }
                            returnedAmount: { amount: 5.0 }
                            reduction: { rateReduction: 0.2, effectiveRate: 4.8 }
                            amount: 96.1
                          ibsTotalAmount: 286.29
                          cbs:
                            rate: 12.0
                            deferment: { rate: 1.0, amount: 24.02 }
                            returnedAmount: { amount: 12.0 }
                            reduction: { rateReduction: 0.1, effectiveRate: 10.8 }
                            amount: 216.22
                          regularTaxation:
                            situationCode: "101"
                            classCode: "RT0001"
                            stateEffectiveRate: 10.0
                            amount: 200.2
                            municipalEffectiveRate: 5.0
                            municipalAmount: 100.1
                            cbsEffectiveRate: 12.0
                            cbsAmount: 240.24
                          governmentPurchase:
                            stateRate: 8.0
                            stateAmount: 160.16
                            municipalRate: 4.0
                            municipalAmount: 80.08
                            cbsRate: 10.0
                            cbsAmount: 200.2
                          monophase:
                            standart:
                              quantityBasis: 10.0
                              ibsAdRemRate: 15.0
                              cbsAdRemRate: 25.0
                              ibsAmount: 150.0
                              cbsAmount: 250.0
                            withholding:
                              quantityBasis: 5.0
                              ibsAdRemRate: 10.0
                              ibsAmount: 50.0
                              cbsAdRemRate: 20.0
                              cbsAmount: 100.0
                            previouslyWithheld:
                              quantityBasis: 3.0
                              ibsAdRemRate: 5.0
                              ibsAmount: 15.0
                              cbsAdRemRate: 10.0
                              cbsAmount: 30.0
                            deferment:
                              ibsRate: 50.0
                              ibsAmount: 75.0
                              cbsRate: 50.0
                              cbsAmount: 125.0
                            ibsAmount: 140.0
                            cbsAmount: 255.0
                          creditTransfer:
                            ibsAmount: 50.0
                            cbsAmount: 30.0
                          operationalPresumedCredit: # Crédito presumido operacional
                            basis: 1000.0
                            classificationCode: "RuralProducerNonTaxpayer"
                            ibs: { rate: 10.0, amount: 100.0, suspensiveConditionAmount: 10.0 }
                            cbs: { rate: 5.0, amount: 50.0, suspensiveConditionAmount: 5.0 }
                          creditReversal:
                            ibsReversalAmount: 2.0 # Valor do IBS a ser estornado
                            cbsReversalAmount: 1.0
                          zfmPresumedCredit:
                            classificationCode: "IntermediateGoods"
                            amount: 123.45
                      competenceAdjustment:
                        assessmentPeriod: "2025-09"
                        ibsAmount: 5.0
                        cbsAmount: 3.0 # Valor de CBS referente ao ajuste de competência
                      additionalInformation: "Informacao adicional do item."
                      numberOrderBuy: "PED-COMPRA-555" # Número do pedido de compra
                      itemNumberOrderBuy: 1
                      importControlSheetNumber: "FCI-12345678-ABCD"
                      fuelDetail:
                        codeANP: "210203001"
                        percentageNG: 50.0
                        descriptionANP: "GLP"
                        percentageGLP: 40.0 # Percentual de GLP derivado do petróleo
                        percentageNGn: 30.0
                        percentageGNi: 20.0
                        startingAmount: 100.0
                        codif: "CODIF-123"
                        amountTemp: 10.0
                        stateBuyer: "RJ"
                        cide: { bc: 10.0, rate: 5.0, cideAmount: 0.5 }
                        pump: { spoutNumber: 1, number: 1, tankNumber: 1, beginningAmount: 1000.0, endAmount: 1010.0, percentageBio: 10.0 }
                        fuelOrigin: { indImport: 1, cUFOrig: 35, pOrig: 10.0 }
                      presumedCredit: { code: "BENEF-001", rate: 4.0, amount: 80.08 }
                      ibsZfmPresumedCreditClassification: "ItAndOtherGoods"
                      importDeclarations:
                        - code: "DI-123456"
                          registeredOn: "2025-10-01T10:00:00-03:00"
                          customsClearanceName: "Porto de Santos"
                          customsClearanceState: "SP"
                          customsClearancedOn: "2025-10-15T10:00:00-03:00"
                          additions:
                            - { code: 1, manufacturer: "FAB-CHINA-XYZ", amount: 10.0, drawback: 12345 }
                          exporter: "EXP-US-99"
                          internationalTransport: "Maritime"
                          intermediation: "ByOrder"
                          acquirerFederalTaxNumber: "11223344000155"
                          stateThird: "RJ"
                      exportDetails:
                        - drawback: "DB-98765"
                          hintInformation: { registryId: "RE-555444", accessKey: "41251012345678000199550010003334441234567890", quantity: 10.0 }
                      referencedDFe:
                        accessKey: "35251098765432000199550010000001231000001234"
                        itemNumber: 1
                      taxDetermination:
                        operationCode: 120
                        issuerTaxProfile: "industry"
                        buyerTaxProfile: "final_consumer_non_icms_contributor"
                        origin: "0"
                        acquisitionPurpose: "43"
                  purchaseInformation:
                    commitmentNote: "NE-2025-12345"
                    purchaseOrder: "PO-2025-67890"
                    contractNumber: "CT-2025-ABCDE"
                  totals:
                    icms:
                      baseTax: 2002.0
                      icmsAmount: 360.36
                      icmsExemptAmount: 0.0
                      stCalculationBasisAmount: 2200.0
                      stAmount: 396.0
                      productAmount: 2000.0
                      freightAmount: 10.0
                      insuranceAmount: 5.0
                      discountAmount: 15.0
                      iiAmount: 120.0
                      ipiAmount: 200.2
                      pisAmount: 33.03
                      cofinsAmount: 152.15
                      othersAmount: 2.0
                      invoiceAmount: 2023.5
                      fcpufDestinationAmount: 40.04
                      icmsufDestinationAmount: 72.07
                      icmsufSenderAmount: 48.05
                      federalTaxesAmount: 450.5
                      fcpAmount: 40.04
                      fcpstAmount: 44.0
                      fcpstRetAmount: 44.0
                      ipiDevolAmount: 0.0
                      qBCMono: 10.0
                      vICMSMono: 150.0
                      qBCMonoReten: 5.0
                      vICMSMonoReten: 50.0
                      qBCMonoRet: 3.0
                      vICMSMonoRet: 15.0
                    issqn:
                      totalServiceNotTaxedICMS: 0.0
                      baseRateISS: 0.0
                      totalISS: 0.0
                      valueServicePIS: 0.0
                      valueServiceCOFINS: 0.0
                      provisionService: "2025-10-28T10:00:00-03:00"
                      deductionReductionBC: 0.0
                      valueOtherRetention: 0.0
                      discountUnconditional: 0.0
                      discountConditioning: 0.0
                      totalRetentionISS: 0.0
                      codeTaxRegime: 1.0
                    withheldTaxes:
                      pisAmount: 10.0 # Valor Retido de PIS
                      cofinsAmount: 50.0
                      csllAmount: 20.0
                      irrfBasis: 1000.0
                      irrfAmount: 150.0
                      socialSecutiryBasis: 1000.0
                      socialSecutiryAmount: 110.0
                    isTotals:
                      amount: 100.1
                    ibsCbsTotals:
                      basis: 2002.0
                      ibs:
                        state: { defermentAmount: 20.02, returnedAmount: 10.0, amount: 190.19 }
                        municipal: { defermentAmount: 10.01, returnedAmount: 5.0, amount: 96.1 }
                        totalAmount: 286.29
                        presumedCreditAmount: 100.0
                        presumedCreditConditionalAmount: 10.0
                      cbs:
                        defermentAmount: 24.02
                        returnedAmount: 12.0
                        amount: 216.22
                        presumedCreditAmount: 50.0
                        presumedCreditConditionalAmount: 5.0
                      monophase:
                        ibs: { amount: 150.0, withheldAmount: 50.0, previouslyWithheldAmount: 15.0 } # Totais de IBS monofásico
                        cbs: { amount: 250.0, withheldAmount: 100.0, previouslyWithheldAmount: 30.0 } # Totais de CBS monofásico
                    totalInvoiceAmount: 2675.04
                  billing:
                    bill:
                      number: "FAT-987654"
                      originalAmount: 2000.0
                      discountAmount: 15.0
                      netAmount: 1985.0
                    duplicates:
                      - { number: "DUP-001", expirationOn: "2025-11-28T00:00:00Z", amount: 1000.0 }
                      - { number: "DUP-002", expirationOn: "2025-12-28T00:00:00Z", amount: 985.0 }
                  issuer:
                    stStateTaxNumber: "9876543210"
                  transactionIntermediate:
                    federalTaxNumber: 77889900000144 # CNPJ do Intermediador da Transação
                    identifier: "Marketplace-ID-555"
                  delivery:
                    accountId: "ACC-DELIV-111"
                    id: "DELIV-001"
                    name: "Local de Entrega Ltda"
                    federalTaxNumber: 22334455000166
                    email: "entrega@local.com"
                    address:
                      state: "MG"
                      city: { code: "3106200", name: "Belo Horizonte" }
                      district: "Savassi"
                      additionalInformation: "Loja B"
                      street: "Avenida Cristovão Colombo"
                      number: "300"
                      postalCode: "30140150"
                      country: "BRA"
                      phone: "31911223344"
                    type: "LegalEntity"
                    stateTaxNumber: "111222333"
                  withdrawal:
                    accountId: "ACC-WITHDR-222"
                    id: "WITHDR-001"
                    name: "Local de Retirada Ltda"
                    federalTaxNumber: 33445566000177
                    email: "retirada@local.com"
                    address:
                      state: "PR"
                      city: { code: "4106902", name: "Curitiba" }
                      district: "Centro Cívico"
                      additionalInformation: "Galpão 3"
                      street: "Avenida Cândido de Abreu"
                      number: "100"
                      postalCode: "80530000"
                      country: "BRA"
                      phone: "41955667788"
                    type: "LegalEntity"
                    stateTaxNumber: "444555666"
      responses:
        '201':
          description: NF-e criada com sucesso (aguardando processamento/autorização).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvoiceResource'
        '400':
          description: Erro de validação (Bad Request). O corpo da requisição está inválido.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorsResource'
        '500':
          description: Erro interno do servidor.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResource'
components:
  schemas:
    ProductInvoiceRequest:
      title: "Nota Fiscal de Produto (NFe) Schema"
      description: "Schema para validar o objeto ProductInvoiceRequest da API"
      type: "object"
      required:
        - items
        - payment
      properties:
        id:
          type: "string"
          nullable: true
          description: "Identificador único"
        payment:
          type: "array"
          items:
            $ref: "#/components/schemas/PaymentResource"
          description: "Grupo de Formas de Pagamento (pag)"
        serie:
          type: "integer"
          nullable: true
          description: "Série do Documento Fiscal (serie)"
          format: "int32"
        number:
          type: "integer"
          nullable: true
          description: "Número do Documento Fiscal (nNF)"
          format: "int64"
        operationOn:
          type: "string"
          nullable: true
          description: "Data e Hora de Saída ou da Entrada da Mercadoria/Produto (dhSaiEnt)\r\n<remarks>\r\n    Data e hora no formato UTC (Universal Coordinated Time): AAAA-MM-DDThh:mm:ssTZD.\r\n</remarks>"
          format: "date-time"
        expectedDeliveryOn:
          type: "string"
          nullable: true
          description: "Data da previsão de entrega ou disponibilização do bem (dPrevEntrega). Formato: “AAAA-MM-DD”. Observação: Não informar este campo para a NFC-e."
          format: "date"
        operationNature:
          type: "string"
          nullable: true
          description: "Descrição da Natureza da Operação (natOp)"
        operationType:
          description: "Tipo do Documento Fiscal (tpNF)"
          $ref: "#/components/schemas/OperationType"
        destination:
          description: "Identificador de Local de destino da operação (idDest)"
          $ref: "#/components/schemas/Destination"
        consumptionCityCode:
          description: "Código do Município de Ocorrência do Fato Gerador (cMunFG)"
          $ref: "#/components/schemas/ConsumptionCityCode"
        ibsConsumptionCityCode:
          description: "Município de ocorrência do fato gerador do IBS/CBS (cMunFGIBS)"
          $ref: "#/components/schemas/IbsConsumptionCityCode"
        printType:
          description: "Formato de impressão do DANFE (tpImp)"
          $ref: "#/components/schemas/PrintType"
        purposeType:
          description: "Finalidade da emissão da NF-e (finNFe)"
          $ref: "#/components/schemas/PurposeType"
        debitType:
          description: "Tipo de Nota de Débito (tpNFDebito)"
          $ref: "#/components/schemas/DebitType"
        creditType:
          $ref: "#/components/schemas/CreditType"
        consumerType:
          description: "Indica operação com Consumidor final (indFinal)"
          $ref: "#/components/schemas/ConsumerType"
        presenceType:
          description: "Indicador de presença do comprador no estabelecimento (indPres)"
          $ref: "#/components/schemas/ConsumerPresenceType"
        contingencyOn:
          type: "string"
          nullable: true
          description: "Data e Hora da entrada em contingência (dhCont)\r\n<remarks>\r\n    Data e hora no formato UTC (Universal Coordinated Time): AAAA-MM-DDThh:mm:ssTZD\r\n</remarks>"
          format: "date-time"
        contingencyJustification:
          type: "string"
          nullable: true
          description: "Justificativa da entrada em contingência (xJust)"
        governmentPurchase:
          description: "Grupo de Compras Governamentais (gCompraGov)"
          $ref: "#/components/schemas/GovernmentPurchaseResource"
        buyer:
          description: "Identificação do Destinatário (dest)"
          $ref: "#/components/schemas/BuyerResource"
        transport:
          description: "Grupo de Informações do Transporte da NF-e (transp)"
          $ref: "#/components/schemas/TransportInformationResource"
        additionalInformation:
          description: "Informações adicionais da NF-e (infAdic)"
          $ref: "#/components/schemas/AdditionalInformationResource"
        export:
          description: "Informações de exportação (exporta)"
          $ref: "#/components/schemas/ExportResource"
        items:
          type: "array"
          nullable: true
          items:
            $ref: "#/components/schemas/InvoiceItemResource"
          description: "Detalhamento de Produtos e Serviços (det)"
        totals:
          description: "Grupo de Valores Totais da NF-e (total)"
          $ref: "#/components/schemas/Total"
        billing:
          $ref: "#/components/schemas/BillingResource"
        issuerTaxSubstitute:
          description: "IE do Substituto Tributário da UF de destino da mercadoria, quando houver a retenção do ICMS ST para a UF de destino. (IEST)"
          $ref: "#/components/schemas/IssuerFromRequestResource"
        transactionIntermediate:
          description: "Grupo de Informações do Intermediador da Transação (infIntermed)"
          $ref: "#/components/schemas/IntermediateResource"
        delivery:
          description: "Identificação do Local de entrega (entrega)"
          $ref: "#/components/schemas/DeliveryInformationResource"
        withdrawal:
          description: "Identificação do Local de retirada (retirada)"
          $ref: "#/components/schemas/WithdrawalInformationResource"
        purchaseInformation:
          $ref: "#/components/schemas/PurchaseInformationResource"
      additionalProperties: false
    ActivityResource:
      type: "object"
      properties:
        data:
          description: "Detalhes do Evento"
          nullable: true
        type: # Nome do Evento gerado
          type: "string"
          nullable: true
          description: "Nome do Evento gerado"
        sequence:
          type: "integer"
          nullable: true
          description: "Número sequencial do Evento"
          format: "int32"
      additionalProperties: false
    AdditionResource:
      type: "object"
      properties:
        code:
          type: "integer" # Numero da adição
          nullable: true
          description: "Numero da adição (nAdicao)"
          format: "int64"
        manufacturer:
          type: "string"
          nullable: true
          description: "Código do fabricante estrangeiro (cFabricante)"
        amount:
          type: "number"
          nullable: true # Valor do desconto do item da DI – Adição
          description: "Valor do desconto do item da DI – Adição (vDescDI)"
          format: "double"
        drawback:
          type: "integer"
          nullable: true
          description: "Número do ato concessório de Drawback (nDraw)"
          format: "int64"
      additionalProperties: false
      description: "Adições (adi)"
    AdditionalInformationResource:
      type: "object"
      properties:
        fisco:
          type: "string" # Informações Adicionais de Interesse do Fisco
          nullable: true
          description: "Informações Adicionais de Interesse do Fisco (infAdFisco)"
        taxpayer:
          type: "string"
          nullable: true
          description: "Informações Complementares de interesse do Contribuinte (infCpl)"
        xmlAuthorized:
          type: "array"
          nullable: true
          items:
            type: "integer"
            format: "int64"
          description: "Pessoas autorizadas para o download do XML da NF-e (autXML). CNPJ ou CPF das pessoas autorizadas. Máximo de 10 autorizações."
        effort:
          type: "string"
          nullable: true # Esforço
          description: "Esforço (xCampo)"
        order:
          type: "string"
          nullable: true
          description: "Pedido (xCampo)"
        contract:
          type: "string"
          nullable: true
          description: "Contrato (xCampo)"
        taxDocumentsReference:
          type: "array"
          nullable: true
          items:
            $ref: "#/components/schemas/TaxDocumentsReferenceResource"
          description: "Documentos Fiscais Referenciados (refECF)"
        advancePayment: # Grupo de notas de antecipação de pagamento
          type: "array"
          nullable: true
          items:
            $ref: "#/components/schemas/AdvancePaymentItemResource"
          description: "Grupo de notas de antecipação de pagamento - Informado para abater as parcelas de antecipação de pagamento, conforme Art. 10. § 4º (gPagAntecipado). Optional group."
        taxpayerComments:
          type: "array"
          nullable: true
          items:
            $ref: "#/components/schemas/TaxpayerCommentsResource"
          description: "Observações fiscais (obsCont)"
        referencedProcess: # Processos referenciados
          type: "array"
          nullable: true
          items:
            $ref: "#/components/schemas/ReferencedProcessResource"
          description: "Processos referenciados (procRef)"
      additionalProperties: false
    AddressResource:
      type: "object"
      required:
        - state
        - city
        - district
        - street
        - number
        - country
      properties:
        state:
          type: "string" # Estado
          nullable: true
          description: "Estado, ex.: SP, RJ, AC, padrão ISO 3166-2 ALFA 2."
        city:
          description: "Cidade do Endereço (cMun)"
          $ref: "#/components/schemas/CityResource"
        district:
          type: "string"
          nullable: true # Bairro do Endereço
          description: "Bairro do Endereço (xBairro)"
        additionalInformation:
          type: "string"
          nullable: true
          description: "Complemento do Endereço, ex.: AP 2, BL A. (xCpl)"
        street:
          type: "string"
          nullable: true
          description: "Logradouro do Endereço (xLgr)"
        number: # Número do Endereço
          type: "string"
          nullable: true
          description: "Número do Endereço. Usar S/N para \"sem número\". (nro)"
        postalCode:
          type: "string"
          nullable: true
          description: "Cód. Endereço Postal (CEP)"
        country:
          type: "string"
          nullable: true # País
          description: "País, ex.: BRA, ARG, USA, padrão ISO 3166-1 ALFA-3. (xPais)"
          default: "BRA" # Mantido o default anterior
        phone:
          type: "string"
          nullable: true
          description: "Telefone (fone)"
      additionalProperties: false
      description: "Dados do Endereço"
    AdvancePaymentItemResource:
      type: "object"
      properties:
        accessKey: # Chave de Acesso da NF-e para antecipação de pagamento
          type: "string"
          nullable: true
      additionalProperties: false
      description: "Grupo de notas de antecipação de pagamento - Informado para abater as parcelas de antecipação de pagamento, conforme Art. 10. § 4º (gPagAntecipado). Optional group."
    AuthorizationResource:
      type: "object"
      properties:
        receiptOn:
          type: "string"
          nullable: true # Data e hora do recebimento
          description: "Data e hora do recebimento (dhRecbto)"
          format: "date-time"
        accessKey:
          type: "string"
          nullable: true
          description: "Chave de Acesso da NF-e (chNFe)"
        message:
          type: "string"
          nullable: true # Mensagem da SEFAZ
        description:
          type: string
          description: "Mensagem da SEFAZ (xMotivo)"
      additionalProperties: false
    BillResource:
      type: "object"
      properties:
        number:
          type: "string" # Número da Fatura
          nullable: true
          description: "Número da Fatura (nFat)"
        originalAmount:
          type: "number"
          nullable: true
          description: "Valor Original da Fatura (vOrig)"
          format: "double"
        discountAmount:
          type: "number"
          nullable: true # Valor do desconto
          description: "Valor do desconto (vDesc)"
          format: "double"
        netAmount:
          type: "number"
          nullable: true
          description: "Valor Líquido da Fatura (vLiq)"
          format: "double"
      additionalProperties: false
    BillingResource:
      type: "object"
      properties:
        bill:
          description: "Grupo Fatura (fat)"
          $ref: "#/components/schemas/BillResource"
        duplicates:
          type: "array"
          nullable: true
          items:
            $ref: "#/components/schemas/DuplicateResource"
          description: "Grupo Duplicata (dup)"
      additionalProperties: false # Grupo Cobrança (cobr)
    BuyerResource:
      type: "object"
      required:
        - name
        - federalTaxNumber
        - email
        - address
      properties:
        accountId:
          type: "string"
          nullable: true
          description: "Identificador da Conta"
        id:
          type: "string"
          nullable: true
          description: "Identificação"
        name:
          type: "string"
          nullable: true
          description: "Nome ou Razão Social (xNome)"
        federalTaxNumber:
          type: "integer"
          nullable: true # O valor padrão de consumerType é determinado com base neste campo. Se for um CNPJ, o padrão será "Normal"; se for um CPF, será "FinalConsumer".
          description: "CNPJ ou CPF (CNPJ/CPF)"
          format: "int64"
        email:
          type: "string"
          nullable: true # Email
          description: "Email (email)"
        address:
          description: "Dados do Endereço (enderDest)"
          $ref: "#/components/schemas/AddressResource"
        type:
          description: "Tipo da pessoa (indIEDest)"
          $ref: "#/components/schemas/PersonType"
        stateTaxNumberIndicator:
          description: "Indicador Inscrição Estadual (indIEDest)"
          $ref: "#/components/schemas/ReceiverStateTaxIndicator"
        tradeName:
          type: "string" # Nome fantasia
          nullable: true
          description: "Nome fantasia (xFant)"
        taxRegime:
          description: "Regime de tributação (CRT)"
          $ref: "#/components/schemas/TaxRegime"
        stateTaxNumber:
          type: "string"
          nullable: true # Inscrição Estadual
          description: "Inscrição Estadual (IE)"
      additionalProperties: false
      description: "Identificação do Destinatário da Nota Fiscal eletrônica - Grupo Obrigatório para a NF-e (modelo 55) e opcional para NFC-e (modelo 65)."
    CBSTaxResource:
      type: "object"
      description: "Grupo de Informações da CBS"
      properties:
        rate:
          type: "number" # Alíquota da CBS (em percentual)
          nullable: true
          description: "Alíquota da CBS (em percentual) (pCBS)"
          format: "double"
        deferment:
          description: "Grupo de Informações do Diferimento (gDif)"
          $ref: "#/components/schemas/DefermentTaxResource"
        returnedAmount:
          description: "Grupo de Informações da Devolução de Tributos (gDevTrib)"
          $ref: "#/components/schemas/ReturnedTaxResource"
        reduction:
          description: "Grupo de informações da redução da alíquota (gRed)"
          $ref: "#/components/schemas/ReductionTaxResource"
        amount:
          type: "number"
          nullable: true # Valor total da CBS
          description: "Valor total da CBS (vCBS)."
          format: "double"
      additionalProperties: false
    CIDEResource:
      type: "object"
      properties:
        bc:
          type: "number" # BC da CIDE
          nullable: true
          description: "BC da CIDE (qBCProd)"
          format: "double"
        rate:
          type: "number"
          nullable: true
          description: "Valor da alíquota da CIDE (vAliqProd)"
          format: "double"
        cideAmount:
          type: "number" # Valor da CIDE
          nullable: true
          description: "Valor da CIDE (vCIDE)"
          format: "double"
      additionalProperties: false
    CardResource:
      type: "object"
      properties:
        federalTaxNumber:
          type: "string" # CNPJ da Credenciadora de cartão de crédito e/ou débito
          nullable: true
          description: "CNPJ da Credenciadora de cartão de crédito e/ou débito (CNPJ)"
        flag:
          description: "Bandeira da operadora de cartão de crédito e/ou débito (tBand)"
          $ref: "#/components/schemas/FlagCard"
        authorization:
          type: "string"
          nullable: true # Número de autorização da operação cartão de crédito e/ou débito
          description: "Número de autorização da operação cartão de crédito e/ou débito (cAut)"
        integrationPaymentType:
          description: "Tipo de Integração para pagamento (tpIntegra)"
          $ref: "#/components/schemas/IntegrationPaymentType"
        federalTaxNumberRecipient:
          type: "string" # CNPJ do beneficiário do pagamento
          nullable: true
        idPaymentTerminal:
          type: "string"
          nullable: true
      additionalProperties: false
    CityResource:
      type: "object"
      required:
        - code
        - name
      properties:
        code:
          type: "string" # Cód. do Município
          nullable: true
          description: "Cód. do Município, segundo o Tabela de Municípios do IBGE (cMun)"
        name:
          type: "string"
          nullable: true
          description: "Nome do Município (xMun)"
      additionalProperties: false
    CofinsTaxResource:
      type: "object"
      required:
        - cst
      properties:
        cst:
          type: "string" # Código de Situação Tributária da COFINS
          nullable: true
          description: "Código de Situação Tributária da COFINS (CST)"
        baseTax:
          type: "number"
          nullable: true
          description: "Valor da Base de Cálculo da COFINS (vBC)"
          format: "double"
        rate:
          type: "number"
          nullable: true # Alíquota da COFINS (em percentual)
          description: "Alíquota da COFINS (em percentual) (pCOFINS)"
          format: "double"
        amount:
          type: "number"
          nullable: true
          description: "Valor da COFINS (vCOFINS)"
          format: "double"
        baseTaxProductQuantity:
          type: "number"
          nullable: true # Quantidade Vendida
          description: "Quantidade Vendida (qBCProd)"
          format: "double"
        productRate:
          type: "number"
          nullable: true
          description: "Alíquota da COFINS (em reais) (vAliqProd)"
          format: "double"
      additionalProperties: false
      description: "Grupo do COFINS\r\n\r\nID: S01\r\nPai: M01\r\n\r\n    Obs: Informar apenas um dos grupos S02, S03, S04 ou S04\r\n    com base valor atribuído ao campo S06 – CST do COFINS\r\n"
    CompetenceAdjustmentResource:
      type: "object"
      description: "Ajuste de Competência (gAjusteCompet)"
      properties:
        assessmentPeriod:
          type: "string"
          nullable: true # Ano e mês referência do período de apuração
          description: "Ano e mês referência do período de apuração (AAAA-MM) (competApur)"
        ibsAmount:
          type: "number"
          nullable: true
          description: "Valor de IBS referente ao ajuste de competência (vIBS)"
          format: "double"
        cbsAmount:
          type: "number"
          nullable: true # Valor de CBS referente ao ajuste de competência
          description: "Valor de CBS referente ao ajuste de competência (vCBS)"
          format: "double"
      additionalProperties: false
    ConsumerPresenceType:
      type: "string"
      description: |
        Indicador de Presença (indPres).
        Valores possíveis:
        - `None`: Não se aplica (ex: nota complementar ou de ajuste)
        - `Presence`: Operação presencial
        - `Internet`: Operação não presencial, pela Internet
        - `Telephone`: Operação não presencial, Teleatendimento
        - `Delivery`: NFC-e em operação com entrega a domicílio
        - `OthersNonPresenceOperation`: Operação não presencial, outros
      enum:
        - "None"
        - "Presence"
        - "Internet"
        - "Telephone"
        - "Delivery"
        - "OthersNonPresenceOperation"
      default: "Internet"
    ConsumerType:
      type: "string"
      description: |
        Indica operação com Consumidor final (indFinal). O valor padrão é determinado pelo `federalTaxNumber` do `buyer`: `Normal` para CNPJ, `FinalConsumer` para CPF.
        Valores possíveis:
        - `FinalConsumer`: Consumidor final
        - `Normal`: Operação normal
      enum:
        - "FinalConsumer"
        - "Normal"
      default: "Normal" # O valor padrão é "Normal" para CNPJ e "FinalConsumer" para CPF.

    ConsumptionCityCode:
      type: "integer"
      nullable: true
      description: "Código do Município de ocorrência do fato gerador do IBS/CBS (cMunFGIBS). Informar o município de ocorrência do fato gerador do IBS/CBS. Este campo só é preenchido quando \"indPres = 5 (Operação presencial, fora do estabelecimento)\" e não incluir o endereço do destinatário (Grupo: E05) ou local de entrega (Grupo: G01)."
      format: "int64"
    ContingencyDetails:
      type: "object"
      properties:
        authorizer:
          $ref: "#/components/schemas/StateTaxProcessingAuthorizer"
        startedOn:
          type: "string"
          description: "Data e hora do início da contingência"
          format: "date-time"
        reason:
          type: "string" # Justificativa da entrada em contingência
          nullable: true
          description: "Justificativa da entrada em contingência"
      additionalProperties: false
    CreditReversalResource:
      type: "object"
      description: "Estorno de Crédito (gEstornoCred)"
      properties:
        ibsReversalAmount:
          type: "number" # Valor do IBS a ser estornado
          nullable: true
          description: "Valor do IBS a ser estornado (vIBSEstCred)"
          format: "double"
        cbsReversalAmount:
          type: "number"
          nullable: true
          description: "Valor da CBS a ser estornada (vCBSEstCred)"
          format: "double"
      additionalProperties: false
    CreditReversalTotalsResource:
      type: "object"
      description: "Estorno de Crédito (gEstornoCred)"
      properties:
        ibsReversalAmount:
          type: "number"
          nullable: true
          description: "Valor do IBS a ser estornado (vIBSEstCred)"
          format: "double"
        cbsReversalAmount:
          type: "number"
          nullable: true
          description: "Valor da CBS a ser estornada (vCBSEstCred)"
          format: "double"
      additionalProperties: false
    CreditTransferTaxResource:
      type: "object"
      description: "Informações de Transferências de Crédito (gTransfCred)"
      properties:
        ibsAmount:
          type: "number" # Valor de IBS a transferir
          nullable: true
          description: "Valor de IBS a transferir (vIBS)."
          format: "double"
        cbsAmount:
          type: "number"
          nullable: true
          description: "Valor de CBS a transferir (vCBS)."
          format: "double"
      additionalProperties: false
    CreditType:
      type: "string"
      nullable: true
      description: |
        Tipo de Nota de Crédito (tpNFCredito).
        Valores possíveis:
        - `FinesAndInterest`: Multa e juros
        - `IbsPresumedCreditAppropriationZfm`: Apropriação de crédito presumido de IBS sobre o saldo devedor na ZFM
        - `ReturnDeliveryRefusedOrNotFound`: Retorno por recusa na entrega ou não localização do destinatário
        - `ValueReduction`: Redução de valores
        - `TransferCreditSuccession`: Transferência de crédito na sucessão
      enum:
        - "FinesAndInterest"
        - "IbsPresumedCreditAppropriationZfm"
        - "ReturnDeliveryRefusedOrNotFound"
        - "ValueReduction"
        - "TransferCreditSuccession"
    DebitType:
      type: "string"
      nullable: true
      description: |
        Tipo de Nota de Débito (tpNFDebito).
        Valores possíveis:
        - `TransferCreditsToCooperatives`: Transferência de créditos para cooperativas
        - `CancelCreditsExemptImmuneSales`: Cancelamento de créditos por vendas isentas/imunes
        - `UnprocessedInvoicesDebits`: Débitos de faturas não processadas no cálculo
        - `FinesAndInterest`: Multas e juros
        - `TransferInheritanceCredit`: Transferência de crédito de herança
        - `AdvancePayment`: Pagamento antecipado
        - `InventoryLoss`: Perda de estoque
        - `SnDisqualification`: Desenquadramento do Simples Nacional
      enum:
        - "TransferCreditsToCooperatives"
        - "CancelCreditsExemptImmuneSales"
        - "UnprocessedInvoicesDebits"
        - "FinesAndInterest"
        - "TransferInheritanceCredit"
        - "AdvancePayment"
        - "InventoryLoss"
        - "SnDisqualification"
    DefermentTaxResource:
      type: "object"
      description: "Grupo de Informações do Diferimento"
      properties:
        rate:
          type: "number" # Percentual do diferimento
          nullable: true
          description: "Percentual do diferimento"
          format: "double"
        amount:
          type: "number"
          nullable: true
          description: "Valor do Diferimento"
          format: "double"
      additionalProperties: false
    DeliveryInformationResource:
      type: "object"
      properties:
        accountId:
          type: "string"
          nullable: true
          description: "Identificador da Conta"
        id:
          type: "string"
          nullable: true
          description: "Identificação"
        name:
          type: "string"
          nullable: true
          description: "Nome ou Razão Social (xNome)"
        federalTaxNumber:
          type: "integer"
          nullable: true # CNPJ ou CPF
          description: "CNPJ ou CPF"
          format: "int64"
        email:
          type: "string"
          nullable: true
          description: "Email"
        address:
          $ref: "#/components/schemas/AddressResource"
        type:
          $ref: "#/components/schemas/PersonType"
        stateTaxNumber:
          type: "string" # Inscrição Estadual
          nullable: true
          description: "Inscrição Estadual (IE)"
      additionalProperties: false
      description: "Identificação do Local de entrega (entrega)"
    Destination:
      type: "string"
      enum:
        - "None"
        - "InternalOperation"
        - "InterstateOperation"
        - "InternationalOperation"
      default: "InternalOperation" # Operação interna
      description: |
        Identificador de local de destino da operação (idDest).
        Valores possíveis:
        - `None`: Não definido
        - `InternalOperation`: Operação interna
        - `InterstateOperation`: Operação interestadual
        - `InternationalOperation`: Operação com o exterior
    DisablementResource:
      type: "object"
      properties:
        environment:
          $ref: "#/components/schemas/EnvironmentType"
        serie:
          type: "integer" # Série
          description: "Série"
          format: "int32"
        state:
          $ref: "#/components/schemas/StateCode"
        beginNumber:
          type: "integer"
          description: "Número inicial"
          format: "int32"
        lastNumber:
          type: "integer" # Número final
          description: "Número final (usar o mesmo número inicial se for apenas um número)"
          format: "int32"
        reason:
          type: "string"
          nullable: true
          description: "Motivo da inutilização"
      additionalProperties: false
      description: "Dados para inutilizar números de nota fiscal"
    DocumentElectronicInvoiceResource:
      type: "object"
      properties:
        accessKey:
          type: "string" # Chave de Acesso
          nullable: true
          description: "Chave de Acesso (refNFe)"
      additionalProperties: false
    DocumentInvoiceReferenceResource:
      type: "object"
      properties:
        state:
          type: "number" # Código da UF
          nullable: true
          description: "Código da UF (cUF)"
          format: "double"
        yearMonth:
          type: "string"
          nullable: true
          description: "Ano / Mês (AAMM)"
        federalTaxNumber:
          type: "string"
          nullable: true # CNPJ
          description: "CNPJ (CNPJ)"
        model:
          type: "string"
          nullable: true
          description: "Modelo (mod)"
        series:
          type: "string"
          nullable: true
          description: "Série (serie)"
        number:
          type: "string"
          nullable: true # Número
          description: "Número (nNF)"
      additionalProperties: false
    DuductionIndicator:
      type: "string"
      enum:
        - "NotDeduct"
        - "Deduce"
      description: |
        Indicador de dedução do ICMS desonerado do valor total da NF-e (indDeducao).
        Valores possíveis:
        - `NotDeduct`: O valor do ICMS desonerado (vICMSDeson) não deduz do valor total da NF-e
        - `Deduce`: O valor do ICMS desonerado (vICMSDeson) deduz do valor total da NF-e
    DuplicateResource:
      type: "object"
      properties:
        number:
          type: "string"
          nullable: true
          description: "Número da Duplicata (nDup)"
        expirationOn:
          type: "string"
          nullable: true # Data de vencimento
          description: "Data de vencimento (dVenc)"
          format: "date-time"
        amount:
          type: "number"
          nullable: true
          description: "Valor da duplicata (vDup)"
          format: "double"
      additionalProperties: false
    EconomicActivityResource:
      type: "object"
      properties:
        type:
          $ref: "#/components/schemas/EconomicActivityType"
        code:
          type: "integer" # Código da Atividade da Empresa
          nullable: true
          description: "Código da Atividade da Empresa"
          format: "int32"
      additionalProperties: false
    EconomicActivityType:
      type: "string"
      enum:
        - "Main"
        - "Secondary"
      description: |
        Tipo de Atividade Econômica.
        Valores possíveis:
        - `Main`: Principal
        - `Secondary`: Secundária
    EnvironmentType:
      type: "string"
      description: |
        Tipo de Ambiente (tpAmb).
        Valores possíveis:
        - `None`: Não definido
        - `Production`: Produção
        - `Test`: Homologação (Teste)
      enum:
        - "None"
        - "Production"
        - "Test"
    ErrorResource:
      type: "object"
      properties:
        code:
          type: "integer"
          nullable: true
          format: "int32"
        message:
          type: "string"
          nullable: true
      additionalProperties: false
    ErrorsResource:
      type: "object"
      properties:
        errors:
          type: "array"
          nullable: true
          items:
            $ref: "#/components/schemas/ErrorResource"
          readOnly: true
      additionalProperties: false
    ExemptReason:
      type: "string"
      enum:
        - "Agriculture"
        - "Others"
        - "DevelopmentEntities"
      description: |
        Motivo da desoneração. Campo será preenchido quando o campo anterior estiver preenchido.
        Valores possíveis:
        - `Agriculture`: Produtos agropecuários
        - `Others`: Outros
        - `DevelopmentEntities`: Órgãos de fomento e desenvolvimento
    ExportDetailResource:
      type: "object"
      properties:
        drawback:
          type: "string"
          nullable: true
          description: "Número do ato concessório de Drawback (nDraw)"
        hintInformation:
          $ref: "#/components/schemas/ExportHintResource" # Informações de exportação
      additionalProperties: false
    ExportHintResource:
      type: "object"
      properties:
        registryId:
          type: "string"
          nullable: true
          description: "Número do Registro de Exportação (nRE)"
        accessKey:
          type: "string" # Chave de Acesso da NF-e recebida para exportação
          nullable: true
          description: "Chave de Acesso da NF-e recebida para exportação (chNFe)"
        quantity:
          type: "number"
          nullable: true
          description: "Quantidade do item realmente exportado (qExport)"
          format: "double"
      additionalProperties: false
    ExportResource:
      type: "object"
      properties:
        state:
          $ref: "#/components/schemas/StateCode" # Sigla da UF
        office:
          type: "string"
          nullable: true
          description: "Descrição do Local de Embarque ou de transposição de fronteira (xLocExporta)"
        local:
          type: "string"
          nullable: true
          description: "Informações Complementares de interesse do Contribuinte (xLocDespacho)"
      additionalProperties: false
    FileResource:
      type: "object"
      properties:
        uri:
          type: "string"
          nullable: true
          description: "Endereço Absoluto URI para o arquivo"
      additionalProperties: false # Arquivo
      description: "Arquivo"
    FlagCard:
      type: "string"
      enum:
        - "None"
        - "Visa"
        - "Mastercard"
        - "AmericanExpress"
        - "Sorocred"
        - "DinersClub"
        - "Elo"
        - "Hipercard"
        - "Aura"
        - "Cabal"
        - "Alelo"
        - "BanesCard"
        - "CalCard"
        - "Credz"
        - "Discover"
        - "GoodCard"
        - "GreenCard"
        - "Hiper"
        - "JCB"
        - "Mais"
        - "MaxVan"
        - "Policard"
        - "RedeCompras"
        - "Sodexo"
        - "ValeCard"
        - "Verocheque"
        - "VR"
        - "Ticket"
        - "Other"
      description: |
        Bandeira da operadora de cartão de crédito e/ou débito (tBand).
        Valores possíveis:
        - `None`: Não definido
        - `Visa`: Visa
        - `Mastercard`: Mastercard
        - `AmericanExpress`: American Express
        - `Sorocred`: Sorocred
        - `DinersClub`: Diners Club
        - `Elo`: Elo
        - `Hipercard`: Hipercard
        - `Aura`: Aura
        - `Cabal`: Cabal
        - `Alelo`: Alelo
        - `BanesCard`: Banescard
        - `CalCard`: Calcard
        - `Credz`: Credz
        - `Discover`: Discover
        - `GoodCard`: Good Card
        - `GreenCard`: Green Card
        - `Hiper`: Hiper
        - `JCB`: JCB
        - `Mais`: Mais
        - `MaxVan`: Maxvan
        - `Policard`: Policard
        - `RedeCompras`: Rede Compras
        - `Sodexo`: Sodexo
        - `ValeCard`: ValeCard
        - `Verocheque`: Verocheque
        - `VR`: VR
        - `Ticket`: Ticket
        - `Other`: Outros
    FuelOriginResource:
      type: "object"
      properties:
        indImport:
          type: "integer"
          nullable: true
          description: "Indicador de importação (indImport)"
          format: "int32"
        cUFOrig:
          type: "integer" # Código da UF
          nullable: true
          description: "Código da UF (cUFOrig)"
          format: "int32"
        pOrig:
          type: "number"
          nullable: true
          description: "Percentual originário para a UF (pOrig)"
          format: "double"
      additionalProperties: false
    VehicleDetailResource:
      type: "object"
      description: "Detalhamento de Veículos novos (veicProd) - grupo J01"
      properties:
        operationType:
          type: "integer"
          nullable: true
          description: "Tipo da Operação (tpOp). 0-Outros; 1-Venda concessionária; 2-Faturamento direto para consumidor final; 3-Venda direta para grandes consumidores"
          format: "int32"
          enum: [0, 1, 2, 3]
        chassis:
          type: "string"
          nullable: true
          description: "Chassi do veículo - VIN (chassi). 17 caracteres alfanuméricos"
          minLength: 17
          maxLength: 17
          pattern: "^[A-Z0-9]+$"
        colorCode:
          type: "string"
          nullable: true
          description: "Cor do veículo - código de cada montadora (cCor)"
          maxLength: 4
        colorDescription:
          type: "string"
          nullable: true
          description: "Descrição da Cor (xCor)"
          maxLength: 40
        enginePower:
          type: "string"
          nullable: true
          description: "Potência máxima do motor em cavalo vapor - CV (pot)"
          maxLength: 4
        engineDisplacement:
          type: "string"
          nullable: true
          description: "Capacidade volumétrica do motor em centímetros cúbicos - CC (cilin)"
          maxLength: 4
        netWeight:
          type: "string"
          nullable: true
          description: "Peso Líquido (pesoL)"
          maxLength: 9
        grossWeight:
          type: "string"
          nullable: true
          description: "Peso Bruto (pesoB)"
          maxLength: 9
        serialNumber:
          type: "string"
          nullable: true
          description: "Serial - série (nSerie)"
          maxLength: 9
        fuelType:
          type: "string"
          nullable: true
          description: "Tipo de combustível - Tabela RENAVAM (tpComb). Ex: 01-Álcool; 02-Gasolina; 03-Diesel; 16-Álcool/Gas.; 17-Gas./Álcool/GNV; 18-Gasolina/Elétrico"
          maxLength: 2
        engineNumber:
          type: "string"
          nullable: true
          description: "Número do motor (nMotor)"
          maxLength: 21
        maximumTractionCapacity:
          type: "string"
          nullable: true
          description: "Capacidade Máxima de Tração em toneladas - 4 casas decimais (CMT)"
          maxLength: 9
        wheelBase:
          type: "string"
          nullable: true
          description: "Distância entre eixos (dist)"
          maxLength: 4
        modelYear:
          type: "integer"
          nullable: true
          description: "Ano Modelo de Fabricação (anoMod). Formato: 4 dígitos"
          format: "int32"
        manufactureYear:
          type: "integer"
          nullable: true
          description: "Ano de Fabricação (anoFab). Formato: 4 dígitos"
          format: "int32"
        paintType:
          type: "string"
          nullable: true
          description: "Tipo de pintura (tpPint)"
          maxLength: 1
        vehicleType:
          type: "string"
          nullable: true
          description: "Tipo de veículo - Tabela RENAVAM (tpVeic)"
          maxLength: 2
        vehicleSpecies:
          type: "integer"
          nullable: true
          description: "Espécie de veículo - Tabela RENAVAM (espVeic)"
          format: "int32"
        vinCondition:
          type: "string"
          nullable: true
          description: "Condição do VIN - chassi (VIN). R-Remarcado; N-Normal"
          enum: ["R", "N"]
        vehicleCondition:
          type: "integer"
          nullable: true
          description: "Condição do veículo (condVeic). 1-Acabado; 2-Inacabado; 3-Semi-acabado"
          format: "int32"
          enum: [1, 2, 3]
        brandModelCode:
          type: "string"
          nullable: true
          description: "Código Marca Modelo - Tabela RENAVAM (cMod)"
          maxLength: 6
        denatranColorCode:
          type: "string"
          nullable: true
          description: "Código da Cor DENATRAN (cCorDENATRAN). 01-AMARELO; 02-AZUL; 03-BEGE; 04-BRANCA; 05-CINZA; 06-DOURADA; 07-GRENA; 08-LARANJA; 09-MARROM; 10-PRATA; 11-PRETA; 12-ROSA; 13-ROXA; 14-VERDE; 15-VERMELHA; 16-FANTASIA"
          maxLength: 2
        seatingCapacity:
          type: "integer"
          nullable: true
          description: "Quantidade máxima de passageiros sentados, inclusive motorista (lota)"
          format: "int32"
        restrictionType:
          type: "integer"
          nullable: true
          description: "Restrição (tpRest). 0-Não há; 1-Alienação Fiduciária; 2-Arrendamento Mercantil; 3-Reserva de Domínio; 4-Penhor de Veículos; 9-Outras"
          format: "int32"
          enum: [0, 1, 2, 3, 4, 9]
      additionalProperties: false
    FuelResource:
      type: "object"
      properties:
        codeANP:
          type: "string" # Código de produto da ANP
          nullable: true
          description: "Código de produto da ANP (cProdANP)"
        percentageNG:
          type: "number"
          nullable: true
          description: "Percentual de Gás Natural para o produto GLP (cProdANP=210203001) (pMixGN)"
          format: "double"
        descriptionANP:
          type: "string"
          nullable: true # Descrição do produto conforme ANP
          description: "Descrição do produto conforme ANP (descANP)"
        percentageGLP:
          type: "number"
          nullable: true
          description: "Percentual do GLP derivado do petróleo no produto GLP (cProdANP=210203001) (pGLP)"
          format: "double"
        percentageNGn:
          type: "number"
          nullable: true # Percentual de Gás Natural Nacional
          description: "Percentual de Gás Natural Nacional – GLGNn para o produto GLP (cProdANP= 210203001) (pGNn)"
          format: "double"
        percentageGNi:
          type: "number"
          nullable: true
          description: "Percentual \r\nde Gás Natural Importado – GLGNi para o produto GLP (cProdANP= 210203001) (pGNi)"
          format: "double"
        startingAmount:
          type: "number"
          nullable: true # Valor de partida
          description: "Valor de partida (cProdANP=210203001) (vPart)"
          format: "double"
        codif:
          type: "string"
          nullable: true
          description: "Código de autorização / registro do CODIF (CODIF)"
        amountTemp:
          type: "number"
          nullable: true # Quantidade de combustível faturada à temperatura ambiente
          description: "Quantidade de combustível faturada à temperatura ambiente (qTemp)"
          format: "double"
        stateBuyer:
          type: "string"
          nullable: true
          description: "Sigla da UF de consumo (UFCons)"
        cide:
          $ref: "#/components/schemas/CIDEResource"
        pump:
          $ref: "#/components/schemas/PumpResource"
        fuelOrigin:
          $ref: "#/components/schemas/FuelOriginResource"
      additionalProperties: false
    GovernmentPurchaseEntityType:
      type: "string"
      nullable: true
      description: |
        Tipo de ente governamental (tpEnteGov). Para administração pública direta e suas autarquias e fundações.
        Valores possíveis:
        - `Union`: União
        - `State`: Estado
        - `FederalDistrict`: Distrito Federal
        - `Municipality`: Município
      enum:
        - "Union"
        - "State"
        - "FederalDistrict"
        - "Municipality"
    GovernmentPurchaseOperationType:
      type: "string"
      nullable: true
      description: |
        Tipo de operação com o ente governamental (tpOperGov).
        Valores possíveis:
        - `Supply`: Fornecimento
        - `Payment`: Recebimento do pagamento
        - `SupplyThenPay`: Fornecimento e pagamento simultâneo
        - `PayForPastSupply`: Pagamento por fornecimento passado
        - `SupplyAfterPay`: Fornecimento após pagamento
        - `PayNowSupplyLater`: Pagamento agora, fornecimento depois
        - `SupplyAndPayNow`: Fornecimento e pagamento agora
      enum:
        - "Supply"
        - "Payment"
        - "SupplyThenPay"
        - "PayForPastSupply"
        - "SupplyAfterPay"
        - "PayNowSupplyLater"
        - "SupplyAndPayNow"
    GovernmentPurchaseResource:
      type: "object"
      description: "Grupo de Compras Governamentais (gCompraGov). Grupo opcional. Informar apenas para compras governamentais."
      properties:
        entityType:
          $ref: "#/components/schemas/GovernmentPurchaseEntityType" # Tipo de ente governamental
        rateReduction:
          type: "number"
          nullable: true
          description: "Percentual de redução de alíquota em compra governamental (pRedutor). Conforme o art. 472/370 da LC 214/2025."
          format: "double"
        operationType:
          $ref: "#/components/schemas/GovernmentPurchaseOperationType"
      additionalProperties: false
    GovernmentPurchaseTaxResource:
      type: "object"
      description: "Grupo de informações sobre a composição do valor do IBS e CBS nas compras governamentais. Informar apenas para compras governamentais."
      properties:
        stateRate:
          type: "number" # Alíquota IBS UF em compras governamentais
          nullable: true
          description: "Alíquota IBS UF em compras governamentais (pAliqIBSUF)."
          format: "double"
        stateAmount:
          type: "number"
          nullable: true
          description: "Valor IBS UF em compras governamentais (vTribIBSUF)."
          format: "double"
        municipalRate:
          type: "number" # Alíquota IBS Município em compras governamentais
          nullable: true
          description: "Alíquota IBS Município em compras governamentais (pAliqIBSMun)."
          format: "double"
        municipalAmount:
          type: "number"
          nullable: true
          description: "Valor IBS Município em compras governamentais (vTribIBSMun)."
          format: "double"
        cbsRate:
          type: "number" # Alíquota CBS em compras governamentais
          nullable: true
          description: "Alíquota CBS em compras governamentais (pAliqCBS)."
          format: "double"
        cbsAmount:
          type: "number"
          nullable: true
          description: "Valor CBS em compras governamentais (vTribCBS)"
          format: "double"
      additionalProperties: false
    IBSCBSTaxResource:
      type: "object"
      description: "Grupo de Informações do IBS e CBS"
      properties:
        situationCode:
          type: "string"
          nullable: true # Código de Situação Tributária do IBS/CBS
          description: "Código de Situação Tributária do IBS/CBS (CST). Campo opcional. Se preenchido, será considerado; caso contrário, será definido com base no valor informado no campo `classCode`. Consulte a tabela de referência [situationCode](url) disponível na nossa documentação funcional."
          maxLength: 3
        classCode:
          type: "string"
          nullable: true
          description: "Código de Classificação Tributária do IBS/CBS (cClassTrib). Consulte a tabela de referência [cClassTrib](https://nfe.io/docs/documentacao/reforma-tributaria/conceitos-funcionais/tabelas-de-referencia/tabela-referencia-cst-classificacao-tributaria-ibs-cbs/) disponível na nossa documentação funcional."
          maxLength: 6
        calculationMode:
          type: "string"
          nullable: true
          description: |
            Modo de cálculo do IBS/CBS.
            Valores possíveis:
            - `Manual`: Preenchimento manual dos campos de tributo.
            - `OfficialService`: Utiliza o serviço oficial para calcular IBS/CBS. Quando ativo, apenas `situationCode` e `classCode` são necessários; os demais campos de tributo são ignorados na entrada e preenchidos pelo serviço.
          enum:
            - "Manual"
            - "OfficialService"
          default: "Manual"
        donationIndicator:
          type: "string"
          nullable: true # Indica a natureza da operação de doação
          description: "Indica a natureza da operação de doação, orientando a apuração e a geração de débitos ou estornos conforme o cenário (indDoacao). Informar quando for doação."
          maxLength: 1
        basis:
          type: "number"
          nullable: true
          description: "Base de cálculo antes de reduções para cálculo do tributo bruto. Este campo é opcional. Se enviado, será considerado; caso contrário, será calculado."
          format: "double"
        state:
          $ref: "#/components/schemas/IBSStateTaxResource"
        municipal: # Grupo de Informações do IBS para o município
          $ref: "#/components/schemas/IBSMunicipalTaxResource"
        ibsTotalAmount:
          type: "number"
          nullable: true
          description: "Total do IBS (vIBSTot = vIBSUF + vIBSMun). When there is a presumed credit with the indicator \"IndDeduzCredPres=1\", vCredPres must be deducted from this amount."
          format: "double"
        cbs:
          $ref: "#/components/schemas/CBSTaxResource"
        regularTaxation: # Tributação regular hipotética
          description: "Tributação regular hipotética caso condição resolutória/suspensiva não se aplique."
          $ref: "#/components/schemas/RegularTaxationResource"
        governmentPurchase:
          description: "Grupo de informações sobre a composição do valor do IBS e CBS nas compras governamentais."
          $ref: "#/components/schemas/GovernmentPurchaseTaxResource"
        monophase:
          description: "Grupo de Informações do IBS e CBS sobre transações monofásicas"
          $ref: "#/components/schemas/MonophaseIBSCBSTaxResource"
        creditTransfer: # Grupo de Informações sobre Transferências de Crédito
          description: "Grupo de Informações sobre Transferências de Crédito"
          $ref: "#/components/schemas/CreditTransferTaxResource"
        operationalPresumedCredit: # Informações sobre o crédito presumido operacional
          description: "Informações sobre o crédito presumido operacional (gCredPresOper)."
          $ref: "#/components/schemas/OperationalPresumedCreditResource"
        creditReversal:
          description: "Estorno de Crédito (gEstornoCred). Observação: a obrigatoriedade ou vedação do preenchimento deste grupo está condicionada ao indicador “ind_gEstornoCred” da tabela de cClassTrib do IBS e da CBS."
          $ref: "#/components/schemas/CreditReversalResource"
        zfmPresumedCredit:
          description: "Informações sobre o crédito presumido de IBS para fornecimentos da ZFM (gCredPresIBSZFM)."
          $ref: "#/components/schemas/ZfmPresumedCreditResource" # Informações sobre o crédito presumido de IBS para fornecimentos da ZFM
      additionalProperties: false
    ICMSTotal:
      type: "object"
      properties:
        baseTax:
          type: "number"
          nullable: true
          description: "Base de Cálculo do ICMS (vBC)"
          format: "double"
        icmsAmount:
          type: "number"
          nullable: true
          description: "Valor Total do ICMS (vICMS)"
          format: "double"
        icmsExemptAmount:
          type: "number"
          nullable: true
          description: "Valor ICMS Total desonerado (vICMSDeson)"
          format: "double"
        stCalculationBasisAmount:
          type: "number"
          nullable: true
          description: "Base de Cálculo do ICMS Substituição Tributária (vBCST)"
          format: "double"
        stAmount:
          type: "number"
          nullable: true
          description: "Valor Total do ICMS ST (vST)"
          format: "double"
        productAmount:
          type: "number"
          description: "Valor Total dos produtos e serviços (vProd)" # Valor Total dos produtos e serviços
          format: "double"
        freightAmount:
          type: "number"
          nullable: true
          description: "Valor Total do Frete (vFrete)"
          format: "double"
        insuranceAmount:
          type: "number"
          nullable: true # Valor Total do Seguro
          description: "Valor Total do Seguro (vSeg)"
          format: "double"
        discountAmount:
          type: "number"
          nullable: true
          description: "Valor Total do Desconto (vDesc)"
          format: "double"
        iiAmount:
          type: "number"
          nullable: true
          description: "Valor Total do Imposto de Importação (vII)"
          format: "double"
        ipiAmount:
          type: "number"
          nullable: true
          description: "Valor Total do IPI (vIPI)"
          format: "double"
        pisAmount:
          type: "number"
          nullable: true
          description: "Valor do PIS (vPIS)"
          format: "double"
        cofinsAmount:
          type: "number"
          nullable: true
          description: "Valor do COFINS (vCOFINS)"
          format: "double"
        othersAmount:
          type: "number"
          nullable: true
          description: "Outras Despesas acessórias (vOutro)"
          format: "double"
        invoiceAmount:
          type: "number"
          description: "Valor Total da NF-e (vNF)" # Valor Total da NF-e
          format: "double"
        fcpufDestinationAmount:
          type: "number"
          nullable: true
          description: "Valor Total ICMS FCP UF Destino"
          format: "double"
        icmsufDestinationAmount:
          type: "number"
          nullable: true
          description: "Valor Total ICMS Interestadual UF Destino"
          format: "double"
        icmsufSenderAmount:
          type: "number"
          nullable: true
          description: "Valor Total ICMS Interestadual UF Rem."
          format: "double"
        federalTaxesAmount:
          type: "number"
          description: "Valor aproximado total de tributos federais, estaduais e municipais. (vTotTrib)"
          format: "double"
        fcpAmount:
          type: "number"
          nullable: true
          description: "Valor Total do FCP - Valor do ICMS relativo ao Fundo de Combate à Pobreza (vFCP)"
          format: "double"
        fcpstAmount:
          type: "number"
          nullable: true
          description: "Valor Total do FCP retido por ST - Valor do ICMS relativo ao Fundo de Combate à Pobreza (vFCPST) retido por substituição tributária."
          format: "double"
        fcpstRetAmount:
          type: "number"
          nullable: true
          description: "Valor Total do FCP retido por anteriormente por ST - Valor do ICMS relativo ao Fundo de Combate à Pobreza (vFCP) retido anteriormente por substituição tributária."
          format: "double"
        ipiDevolAmount:
          type: "number"
          nullable: true
          description: "Valor total do IPI devolvido (vIPIDevol)"
          format: "double"
        qBCMono:
          type: "number"
          nullable: true # Valor total da quantidade tributada do ICMS monofásico próprio
          format: "double"
        vICMSMono:
          type: "number"
          nullable: true
          description: "Valor total do ICMS monofásico próprio (vICMSMono)."
          format: "double"
        qBCMonoReten:
          type: "number"
          nullable: true # Valor total da quantidade tributada do ICMS monofásico sujeito a retenção
          description: "Valor total da quantidade tributada do ICMS monofásico sujeito a retenção (qBCMonoReten)."
          format: "double"
        vICMSMonoReten:
          type: "number"
          nullable: true
          description: "Valor total da quantidade tributada do ICMS monofásico retido anteriormente(vICMSMonoReten)"
          format: "double"
        qBCMonoRet:
          type: "number"
          nullable: true # Valor total do ICMS monofásico retido anteriormente
          description: "Valor total do ICMS monofásico retido anteriormente (vICMSMonoRet)"
          format: "double"
        vICMSMonoRet:
          type: "number"
          nullable: true
          description: "Valor total do ICMS monofásico retido anteriormente (vICMSMonoRet)"
          format: "double"
      additionalProperties: false
      description: "Grupo de Valores Totais referentes ao ICMS"
    ICMSTotalResource:
      type: "object"
      properties:
        baseTax:
          type: "number"
          nullable: true
          description: "Base de Cálculo do ICMS (vBC)"
          format: "double"
        icmsAmount:
          type: "number"
          nullable: true
          description: "Valor Total do ICMS (vICMS)"
          format: "double"
        icmsExemptAmount:
          type: "number"
          nullable: true
          description: "Valor ICMS Total desonerado (vICMSDeson)"
          format: "double"
        stCalculationBasisAmount:
          type: "number"
          nullable: true
          description: "Base de Cálculo do ICMS Substituição Tributária (vBCST)"
          format: "double"
        stAmount:
          type: "number"
          nullable: true
          description: "Valor Total do ICMS ST (vST)"
          format: "double"
        productAmount:
          type: "number"
          nullable: true
          description: "Valor Total dos produtos e serviços (vProd)"
          format: "double"
        freightAmount:
          type: "number"
          nullable: true
          description: "Valor Total do Frete (vFrete)"
          format: "double"
        insuranceAmount:
          type: "number"
          nullable: true # Valor Total do Seguro
          description: "Valor Total do Seguro (vSeg)"
          format: "double"
        discountAmount:
          type: "number"
          nullable: true
          description: "Valor Total do Desconto (vDesc)"
          format: "double"
        iiAmount:
          type: "number"
          nullable: true
          description: "Valor Total do Imposto de Importação (vII)"
          format: "double"
        ipiAmount:
          type: "number"
          nullable: true
          description: "Valor Total do IPI (vIPI)"
          format: "double"
        pisAmount:
          type: "number"
          nullable: true
          description: "Valor do PIS (vPIS)"
          format: "double"
        cofinsAmount:
          type: "number"
          nullable: true
          description: "Valor do COFINS (vCOFINS)"
          format: "double"
        othersAmount:
          type: "number"
          nullable: true
          description: "Outras Despesas acessórias (vOutro)"
          format: "double"
        invoiceAmount:
          type: "number"
          nullable: true
          description: "Valor Total da NF-e (vNF)"
          format: "double"
        fcpufDestinationAmount:
          type: "number"
          nullable: true
          description: "Valor Total ICMS FCP UF Destino (vFCPUFDest)"
          format: "double"
        icmsufDestinationAmount:
          type: "number"
          nullable: true
          description: "Valor Total ICMS Interestadual UF Destino (vICMSUFDest)"
          format: "double"
        icmsufSenderAmount:
          type: "number"
          nullable: true
          description: "Valor Total ICMS Interestadual UF Remetente (vICMSUFRemet)"
          format: "double"
        federalTaxesAmount:
          type: "number"
          nullable: true # Valor aproximado total de tributos federais, estaduais e municipais
          description: "Valor aproximado total de tributos federais, estaduais e municipais.\r\n(vTotTrib)"
          format: "double"
        fcpAmount:
          type: "number"
          nullable: true
          description: "Valor Total do FCP - Valor do ICMS relativo ao Fundo de Combate à Pobreza (vFCP)"
          format: "double"
        fcpstAmount:
          type: "number"
          nullable: true
          description: "Valor Total do FCP retido por ST - Valor do ICMS relativo ao Fundo de Combate à Pobreza (vFCPST) retido por substituição tributária."
          format: "double"
        fcpstRetAmount:
          type: "number"
          nullable: true
          description: "Valor Total do FCP retido por anteriormente por ST - Valor do ICMS relativo ao Fundo de Combate à Pobreza retido anteriormente por substituição tributária (vFCPSTRet)"
          format: "double"
        ipiDevolAmount:
          type: "number"
          nullable: true
          description: "Valor total do IPI devolvido (vIPIDevol)"
          format: "double"
        qBCMono:
          type: "number"
          nullable: true # Valor total da quantidade tributada do ICMS monofásico próprio
          description: "Valor total da quantidade tributada do ICMS monofásico próprio (qBCMono)"
          format: "double"
        vICMSMono:
          type: "number"
          nullable: true
          description: "Valor total do ICMS monofásico próprio (vICMSMono)."
          format: "double"
        qBCMonoReten:
          type: "number"
          nullable: true # Valor total da quantidade tributada do ICMS monofásico sujeito a retenção
          description: "Valor total da quantidade tributada do ICMS monofásico sujeito a retenção (qBCMonoReten)."
          format: "double"
        vICMSMonoReten:
          type: "number"
          nullable: true
          description: "Valor total da quantidade tributada do ICMS monofásico retido anteriormente(vICMSMonoReten)"
          format: "double"
        qBCMonoRet:
          type: "number"
          nullable: true # Valor total da quantidade tributada do ICMS monofásico retido anteriormente
          description: "Valor total da quantidade tributada do ICMS monofásico retido anteriormente(qBCMonoRet)"
          format: "double"
        vICMSMonoRet:
          type: "number"
          nullable: true
          description: "Valor total do ICMS monofásico retido anteriormente (vICMSMonoRet)"
          format: "double"
      additionalProperties: false
      description: "Grupo de Valores Totais referentes ao ICMS"
    ICMSUFDestinationTaxResource:
      type: "object"
      properties:
        vBCUFDest:
          type: "number"
          nullable: true # Valor da Base de Cálculo do ICMS na UF de destino
          description: "Valor da Base de Cálculo do ICMS na UF de destino (vBCUFDest)"
          format: "double"
        pFCPUFDest:
          type: "number"
          nullable: true
          description: "Percentual adicional inserido na alíquota interna da UF de destino, relativo ao Fundo de Combate à Pobreza (FCP) naquela UF (pFCPUFDest)"
          format: "double"
        pICMSUFDest:
          type: "number"
          nullable: true # Alíquota adotada nas operações internas na UF de destino para o produto / mercadoria
          description: "Alíquota adotada nas operações internas na UF de destino para o produto / mercadoria (pICMSUFDest)"
          format: "double"
        pICMSInter:
          type: "number"
          nullable: true
          description: "Alíquota interestadual das UF envolvidas (pICMSInter)"
          format: "double"
        pICMSInterPart:
          type: "number"
          nullable: true # Percentual de ICMS Interestadual para a UF de destino
          description: "Percentual de ICMS Interestadual para a UF de destino (pICMSInterPart)"
          format: "double"
        vFCPUFDest:
          type: "number"
          nullable: true
          description: "Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP) da UF de destino (vFCPUFDest"
          format: "double"
        vICMSUFDest:
          type: "number"
          nullable: true # Valor do ICMS Interestadual para a UF de destino
          description: "Valor do ICMS \r\nInterestadual para a UF de destino (vICMSUFDest)"
          format: "double"
        vICMSUFRemet:
          type: "number"
          nullable: true
          description: "Valor do ICMS Interestadual para a UF do remetente (vICMSUFRemet)"
          format: "double"
        vBCFCPUFDest:
          type: "number"
          nullable: true # Valor da BC FCP na UF de destino
          description: "Valor da BC FCP na UF de destino (vBCFCPUFDest)"
          format: "double"
      additionalProperties: false
      description: "Grupo de Tributação do ICMS de Destino da UF"
    IBSMunicipalTaxResource:
      type: "object"
      description: "Grupo de Informações do IBS para o município"
      properties:
        rate:
          type: "number" # Alíquota IBS (Município)
          nullable: true
          description: "Alíquota IBS (Município) (%)."
          format: "double"
        deferment:
          $ref: "#/components/schemas/DefermentTaxResource"
        returnedAmount:
          $ref: "#/components/schemas/ReturnedTaxResource"
        reduction:
          $ref: "#/components/schemas/ReductionTaxResource"
        amount:
          type: "number"
          nullable: true # Valor do IBS do Município
          description: "Valor do IBS do Município (vIBSMun)."
          format: "double"
      additionalProperties: false
    IBSStateTaxResource:
      type: "object"
      description: "Grupo de Informações do IBS para a UF"
      properties:
        rate:
          type: "number" # Alíquota do IBS de competência das UF
          nullable: true
          description: "Alíquota do IBS de competência das UF (em percentual). Alíquota vigente do IBS da UF.Preencher de acordo com a tabela de alíquotas do IBS e CBS."
          format: "double"
        deferment:
          $ref: "#/components/schemas/DefermentTaxResource"
        returnedAmount:
          $ref: "#/components/schemas/ReturnedTaxResource"
        reduction:
          $ref: "#/components/schemas/ReductionTaxResource"
        amount:
          type: "number"
          nullable: true # Valor do IBS da UF
          description: "Valor do IBS da UF (vIBSUF)."
          format: "double"
      additionalProperties: false
    IITaxResource:
      type: "object"
      properties:
        baseTax:
          type: "string" # Valor BC do Imposto de Importação
          nullable: true
          description: "Valor BC do Imposto de Importação (vBC)"
        customsExpenditureAmount:
          type: "string"
          nullable: true
          description: "Valor despesas aduaneiras (vDespAdu)"
        amount:
          type: "number"
          nullable: true
          description: "Valor Imposto de Importação (vII)"
          format: "double"
        iofAmount:
          type: "number"
          nullable: true # Valor Imposto sobre Operações Financeiras
          description: "Valor Imposto sobre Operações Financeiras (vIOF)"
          format: "double"
        vEnqCamb:
          type: "number"
          nullable: true
          description: "Valor dos encargos cambiais"
          format: "double"
      additionalProperties: false
      description: "Grupo do Imposto de Importação\r\n\r\nId: P01\r\nPai: O01"
    IPITaxResource:
      type: "object"
      properties:
        cst:
          type: "string"
          nullable: true # Código da situação tributária do IPI
          description: "Código da situação tributária do IPI (CST)"
        classificationCode:
          type: "string"
          nullable: true
          description: "Código de Enquadramento Legal do IPI (cEnq)"
        classification:
          type: "string"
          nullable: true
          description: "Classe de enquadramento do IPI para Cigarros e Bebidas (clEnq)"
        producerCNPJ:
          type: "string" # CNPJ do produtor da mercadoria
          nullable: true
          description: "CNPJ do produtor da mercadoria, quando diferente do emitente. Somente para os casos de exportação direta ou indireta (CNPJProd)"
        stampCode:
          type: "string"
          nullable: true
          description: "Código do selo de controle IPI (cSelo)"
        stampQuantity:
          type: "number"
          nullable: true # Quantidade de selo de controle
          description: "Quantidade de selo de controle (qSelo)"
          format: "double"
        base:
          type: "number"
          nullable: true
          description: "Valor da BC do IPI (vBC)"
          format: "double"
        rate:
          type: "number"
          nullable: true # Alíquota do IPI
          description: "Alíquota do IPI (pIPI)"
          format: "double"
        unitQuantity:
          type: "number"
          nullable: true
          description: "Quantidade total na unidade padrão para tributação (somente para os produtos tributados por unidade) (qUnid)"
          format: "double"
        unitAmount:
          type: "number"
          nullable: true # Valor por Unidade Tributável
          description: "Valor por Unidade Tributável (vUnid)"
          format: "double"
        amount:
          type: "number"
          nullable: true
          description: "Valor IPI (vIPI)"
          format: "double"
      additionalProperties: false
      description: "\r\nGrupo do IPI\r\n\r\nInformar apenas quando \r\no item for sujeito ao IPI\r\n\r\nID: O01\r\n\r\nPai: M01"
    ISSQNTotal:
      type: "object"
      properties:
        totalServiceNotTaxedICMS:
          type: "number"
          nullable: true # Valor Total Serv.Não Tributados p/ ICMS
          description: "Valor Total Serv.Não Tributados p/ ICMS (vServ)"
          format: "double"
        baseRateISS:
          type: "number"
          nullable: true
          description: "Base de Cálculo do ISS (vBC)"
          format: "double"
        totalISS:
          type: "number"
          nullable: true # Valor Total do ISS
          description: "Valor Total do ISS (vISS)"
          format: "double"
        valueServicePIS:
          type: "number"
          nullable: true
          description: "Valor do PIS sobre Serviços (vPIS)"
          format: "double"
        valueServiceCOFINS:
          type: "number"
          nullable: true # Valor da COFINS sobre Serviços
          description: "Valor da COFINS sobre Serviços (vCOFINS)"
          format: "double"
        provisionService:
          type: "string"
          nullable: true
          description: "Data Prestação Serviço (dCompet)"
          format: "date-time"
        deductionReductionBC:
          type: "number"
          nullable: true # Valor Dedução para Redução da BC
          description: "Valor Dedução para Redução da BC (vDeducao)"
          format: "double"
        valueOtherRetention:
          type: "number"
          nullable: true
          description: "Valor Outras Retenções (vOutro)"
          format: "double"
        discountUnconditional:
          type: "number"
          nullable: true # Valor Desconto Incondicionado
          description: "Valor Desconto Incondicionado (vDescIncond)"
          format: "double"
        discountConditioning:
          type: "number"
          nullable: true
          description: "Valor Desconto Condicionado (vDescCond)"
          format: "double"
        totalRetentionISS:
          type: "number"
          nullable: true # Valor Total Retenção ISS
          description: "Valor Total Retenção ISS (vISSRet)"
          format: "double"
        codeTaxRegime:
          type: "number"
          nullable: true
          description: "Código Regime Tributação (cRegTrib)"
          format: "double"
      additionalProperties: false
    ISSQNTotalResource:
      type: "object"
      properties:
        totalServiceNotTaxedICMS:
          type: "number"
          nullable: true # Valor Total Serv.Não Tributados p/ ICMS
          description: "Valor Total Serv.Não Tributados p/ ICMS (vServ)"
          format: "double"
        baseRateISS:
          type: "number"
          nullable: true
          description: "Base de Cálculo do ISS (vBC)"
          format: "double"
        totalISS:
          type: "number"
          nullable: true # Valor Total do ISS
          description: "Valor Total do ISS (vISS)"
          format: "double"
        valueServicePIS:
          type: "number"
          nullable: true
          description: "Valor do PIS sobre Serviços (vPIS)"
          format: "double"
        valueServiceCOFINS:
          type: "number"
          nullable: true # Valor da COFINS sobre Serviços
          description: "Valor da COFINS sobre Serviços (vCOFINS)"
          format: "double"
        provisionService:
          type: "string"
          nullable: true
          description: "Data Prestação Serviço (dCompet)"
          format: "date-time"
        deductionReductionBC:
          type: "number"
          nullable: true # Valor Dedução para Redução da BC
          description: "Valor Dedução para Redução da BC (vDeducao)"
          format: "double"
        valueOtherRetention:
          type: "number"
          nullable: true
          description: "Valor Outras Retenções (vOutro)"
          format: "double"
        discountUnconditional:
          type: "number"
          nullable: true # Valor Desconto Incondicionado
          description: "Valor Desconto Incondicionado (vDescIncond)"
          format: "double"
        discountConditioning:
          type: "number"
          nullable: true
          description: "Valor Desconto Condicionado (vDescCond)"
          format: "double"
        totalRetentionISS:
          type: "number"
          nullable: true # Valor Total Retenção ISS
          description: "Valor Total Retenção ISS (vISSRet)"
          format: "double"
        codeTaxRegime:
          type: "number"
          nullable: true
          description: "Código Regime Tributação (cRegTrib)"
          format: "double"
      additionalProperties: false
    ISTaxResource:
      type: "object"
      description: "Imposto Seletivo (IS) — Selective Tax group. Informe quando o item estiver sujeito ao IS. Selective Tax Information"
      properties:
        situationCode:
          type: "string" # CST do Imposto Seletivo (IS)
          nullable: true
          description: "CST do Imposto Seletivo (IS). Código de Situação Tributária de 3 dígitos (CST). Consulte a tabela de referência."
        classificationCode:
          type: "string"
          nullable: true
          description: "Código de Classificação Tributária do IS (cClassTribIS), 6 dígitos. Consulte a tabela de referência."
        basis:
          type: "number"
          nullable: true # Base de cálculo do IS
          description: "Base de cálculo do IS (vBCIS). 15 posições, 13 inteiros e 2 decimais."
          format: "double"
        rate:
          type: "number"
          nullable: true
          description: "Alíquota do IS em percentual (pIS). Até 4 casas decimais."
          format: "double"
        unitRate:
          type: "number"
          nullable: true # Alíquota específica por unidade
          description: "Alíquota específica por unidade (pISEspec), em R$ por unidade tributável."
          format: "double"
        unit:
          type: "string"
          nullable: true
          description: "Unidade tributável usada quando houver alíquota específica por unidade (uTrib)."
        quantity:
          type: "number"
          nullable: true # Quantidade tributável
          description: "Quantidade tributável usada quando houver alíquota específica por unidade (qTrib). Até 4 casas decimais."
          format: "double"
        amount:
          type: "number"
          nullable: true
          description: "Valor do Imposto Seletivo (vIS). 15 posições, 13 inteiros e 2 decimais."
          format: "double"
      additionalProperties: false
    IbsConsumptionCityCode:
      type: "integer"
      nullable: true
      description: "Código do Município de ocorrência do fato gerador do IBS/CBS (cMunFGIBS). Informar o município de ocorrência do fato gerador do IBS/CBS. Este campo só é preenchido quando \"indPres = 5 (Operação presencial, fora do estabelecimento)\" e não incluir o endereço do destinatário (Grupo: E05) ou local de entrega (Grupo: G01)."
      format: "int64" # Código do Município de ocorrência do fato gerador do IBS/CBS
    IbsZfmPresumedCreditClassification:
      type: "string"
      nullable: true
      description: |
        Classificação para cálculo do crédito presumido de IBS para fornecimentos da ZFM (tpCredPresIBSZFM).
        Valores possíveis:
        - `NoPresumedCredit`: Sem Crédito Presumido
        - `FinalConsumptionGoods`: Bens de consumo final (55%)
        - `CapitalGoods`: Bens de capital (75%)
        - `IntermediateGoods`: Bens intermediários (90,25%)
        - `ItAndOtherGoods`: Bens de informática e outros definidos em legislação (100%)
      enum:
        - "NoPresumedCredit"
        - "FinalConsumptionGoods"
        - "CapitalGoods"
        - "IntermediateGoods"
        - "ItAndOtherGoods"
    IcmsTaxResource: # Grupo do ICMS da Operação própria e ST (ICMS)
      type: "object"
      required:
        - origin
        - cst
      properties:
        origin:
          type: "string"
          nullable: true
          description: "Origem da mercadoria (orig).\n0 - Nacional, exceto as indicadas nos códigos 3, 4, 5 e 8;\n1 - Estrangeira - Importação direta, exceto a indicada no código 6;\n2 - Estrangeira - Adquirida no mercado interno, exceto a indicada no código 7;\n3 - Nacional, mercadoria ou bem com Conteúdo de Importação superior a 40% e inferior ou igual a 70%;\n4 - Nacional, cuja produção tenha sido feita em conformidade com os processos produtivos básicos de que tratam as legislações citadas nos Ajustes;\n5 - Nacional, mercadoria ou bem com Conteúdo de Importação inferior ou igual a 40%;\n6 - Estrangeira - Importação direta, sem similar nacional, constante em lista da CAMEX e gás natural;\n7 - Estrangeira - Adquirida no mercado interno, sem similar nacional, constante lista CAMEX e gás natural;\n8 - Nacional, mercadoria ou bem com Conteúdo de Importação superior a 70%;"
        cst:
          type: "string"
          nullable: true
          description: "Tributação do ICMS (CST)"
        csosn:
          type: "string"
          nullable: true # Código de Situação da Operação – Simples Nacional
          description: "101- Tributada pelo Simples Nacional com permissão de crédito (v.2.0) (CSOSN). Código de Situação da Operação – Simples Nacional"
        baseTaxModality:
          type: "string"
          nullable: true
          description: "Modalidade de determinação da BC do ICMS (modBC).\nMargem Valor Agregado (%) = 0\nPauta (valor) = 1\nPreço Tabelado Máximo (valor) = 2\nValor da Operação = 3"
        baseTax:
          type: "number"
          nullable: true # Valor da BC do ICMS
          description: "Valor da BC do ICMS (vBC)"
          format: "double"
        baseTaxSTModality:
          type: "string"
          nullable: true
          description: "Modalidade de determinação da BC do ICMS ST (modBCST)"
        baseTaxSTReduction:
          type: "string"
          nullable: true # Percentual da Redução de BC do ICMS ST
          description: "Percentual da Redução de BC do ICMS ST (pRedBCST)"
        baseTaxST:
          type: "number"
          nullable: true
          description: "Valor da BC do ICMS ST (vBCST)"
          format: "double"
        baseTaxReduction:
          type: "number"
          nullable: true # Percentual da Redução de BC
          description: "Percentual da Redução de BC (pRedBC)"
          format: "double"
        basisBenefitCode:
          type: "string"
          nullable: true
          description: "Código de Benefício na UF para Redução da Base de Cálculo (cBenefRBC). Tamanho 8 ou 10, quando exigido pela UF (NT 2019.001). Código de Benefício Fiscal utilizado pelo Estado, aplicado ao item quando houver RBC. Observação: Deve ser utilizado o mesmo código utilizado na EFD e demais declarações nos Estados que o exigem. (Incluído na NT 2019.001)"
        stRate:
          type: "number"
          nullable: true # Alíquota do imposto do ICMS ST
          description: "Alíquota do imposto do ICMS ST (pICMSST)"
          format: "double"
        stAmount:
          type: "number"
          nullable: true
          description: "Valor do ICMS ST (vICMSST)"
          format: "double"
        stMarginAmount:
          type: "number"
          nullable: true # Percentual da margem de valor Adicionado do ICMS ST
          description: "Percentual da margem de valor Adicionado do ICMS ST (pMVAST)"
          format: "double"
        rate:
          type: "number"
          nullable: true
          description: "Alíquota do imposto (pICMS)"
          format: "double"
        amount:
          type: "number"
          nullable: true # Valor do ICMS
          description: "Valor do ICMS (vICMS). O valor do ICMS desonerado será informado apenas nas operações:\na) com produtos beneficiados com a desoneração condicional do ICMS.\nb) destinadas à SUFRAMA, informando-se o valor que seria devido se não houvesse isenção.\nc) de venda a órgãos da administração pública direta e suas fundações e autarquias com isenção do ICMS. (NT 2011/004)"
          format: "double"
        percentual:
          type: "number"
          nullable: true
          description: "Percentual da Redução de BC (pICMS)"
          format: "double"
        snCreditRate:
          type: "number"
          nullable: true # Alíquota aplicável de cálculo do crédito (Simples Nacional)
          description: "Alíquota aplicável de cálculo do crédito (Simples Nacional) (pCredSN)."
          format: "double"
        snCreditAmount:
          type: "number"
          nullable: true
          description: "Valor crédito do ICMS que pode ser aproveitado nos termos do art. 23 da LC 123 Simples Nacional (vCredICMSSN)"
          format: "double"
        stMarginAddedAmount:
          type: "string"
          nullable: true # Percentual da margem de valor Adicionado do ICMS ST
          description: "Percentual da margem de valor Adicionado do ICMS ST (pMVAST)"
        stRetentionAmount:
          type: "string"
          nullable: true
          description: "Valor do ICMS ST retido (vICMSSTRet)"
        baseSTRetentionAmount:
          type: "string"
          nullable: true # Valor da BC do ICMS ST retido
          description: "Valor da BC do ICMS ST retido (vBCSTRet)"
        baseTaxOperationPercentual:
          type: "string"
          nullable: true
          description: "Percentual da BC operação própria (pBCOp). Percentual para determinação do valor da Base de Cálculo da operação própria (v2.0)"
        ufst:
          type: "string"
          nullable: true # UF para qual é devido o ICMS ST
          description: "UF para qual é devido o ICMS ST (UFST). Sigla da UF para qual é devido o ICMS ST da operação (v2.0)"
        amountSTReason:
          type: "string"
          nullable: true
          description: "Motivo Desoneração ICMS (motDesICMS)"
        baseSNRetentionAmount:
          type: "string"
          nullable: true # Valor da BC do ICMS ST retido
          description: "Valor da BC do ICMS ST retido (vBCSTRet)"
        snRetentionAmount:
          type: "string"
          nullable: true
          description: "Valor do ICMS ST retido (vICMSSTRet)"
        amountOperation:
          type: "string"
          nullable: true # Valor do ICMS da Operação
          description: "Valor do ICMS da Operação (vICMSOp)"
        percentualDeferment:
          type: "string"
          nullable: true
          description: "Percentual do Diferimento (pDif)"
        baseDeferred:
          type: "string"
          nullable: true # Valor do ICMS Diferido
          description: "Valor do ICMS Diferido (vICMSDif)"
        exemptAmount:
          type: "number"
          nullable: true
          description: "Valor ICMS Desonerado (vICMSDeson)"
          format: "double"
        exemptReason:
          description: "Motivo da desoneração do ICMS (motDesICMS)"
          $ref: "#/components/schemas/ExemptReason"
        exemptAmountST: # Valor ICMS Desonerado
          type: "number"
          nullable: true
          description: "Valor ICMS Desonerado (vICMSSTDeson)"
          format: "double"
        exemptReasonST:
          description: "Motivo da desoneração do ICMS ST (motDesICMSST)"
          $ref: "#/components/schemas/ExemptReason"
        fcpRate:
          type: "number"
          nullable: true # Percentual do FCP
          description: "Percentual do FCP - Valor do ICMS relativo ao Fundo de Combate à Pobreza (pFCP)"
          format: "double"
        fcpAmount:
          type: "number"
          nullable: true
          description: "Valor Total do FCP - Valor do ICMS relativo ao Fundo de Combate à Pobreza (vFCP)"
          format: "double"
        fcpstRate:
          type: "number"
          nullable: true # Percentual do FCP retido por ST
          description: "Percentual do FCP retido por ST - Valor do ICMS relativo ao Fundo de Combate à Pobreza retido por substituição tributária (pFCPST)"
          format: "double"
        fcpstAmount:
          type: "number"
          nullable: true
          description: "Valor Total do FCP retido por ST - Valor do ICMS relativo ao Fundo de Combate à Pobreza retido por substituição tributária (vFCPST)"
          format: "double"
        fcpstRetRate:
          type: "number"
          nullable: true # Percentual do FCP retido por anteriormente por ST
          description: "Percentual do FCP retido por anteriormente por ST - Valor do ICMS relativo ao Fundo de Combate à Pobreza retido anteriormente por substituição tributária (pFCPSTRet)"
          format: "double"
        fcpstRetAmount:
          type: "number"
          nullable: true
          description: "Valor Total do FCP retido por anteriormente por ST - Valor do ICMS relativo ao Fundo de Combate à Pobreza retido anteriormente por substituição tributária (vFCPSTRet)"
          format: "double"
        baseTaxFCPSTAmount:
          type: "number"
          nullable: true # Informar o valor da Base de Cálculo do FCP
          description: "Informar o valor da Base de Cálculo do FCP (vBCFCPST)"
          format: "double"
        substituteAmount:
          type: "number"
          nullable: true
          description: "Valor do ICMS próprio do Substituto (tag: vICMSSubstituto)"
          format: "double"
        stFinalConsumerRate:
          type: "number"
          nullable: true # Alíquota suportada pelo Consumidor Final
          description: "N26a - Alíquota suportada pelo Consumidor Final (pST). Deve ser informada a alíquota do cálculo do ICMS-ST, já incluso o FCP caso incida sobre a mercadoria"
          format: "double"
        effectiveBaseTaxReductionRate:
          type: "number"
          nullable: true
          description: "N34 - Percentual de redução da base de cálculo efetiva, caso estivesse submetida ao regime comum de tributação (pRedBCEfet)"
          format: "double"
        effectiveBaseTaxAmount:
          type: "number"
          nullable: true # Valor da base de cálculo efetiva
          description: "N35 - Valor da base de cálculo efetiva, caso estivesse submetida ao regime comum de tributação (vBCEfet)"
          format: "double"
        effectiveRate:
          type: "number"
          nullable: true
          description: "N36 - Alíquota do ICMS efetiva, caso estivesse submetida ao regime comum de tributação (pICMSEFET)"
          format: "double"
        effectiveAmount:
          type: "number"
          nullable: true # Valor do ICMS efetivo
          description: "N37 - Valor do ICMS efetivo, caso estivesse submetida ao regime comum de tributação (vICMSEFET)"
          format: "double"
        deductionIndicator:
          description: "Indicador de dedução do ICMS desonerado (indDeducao)"
          $ref: "#/components/schemas/DuductionIndicator"
      additionalProperties: false
      description: "Grupo do ICMS da Operação própria e ST\r\n\r\nID: N01\r\nPAI: M01\r\n\r\n    Obs: Informar apenas um dos grupos N02, N03, N04, N05, N06, N07, N08, N09, N10,\r\n    N10a, N10b, N10c, N10d, N10e, N10f, N10g ou N10h com \r\nbase no conteúdo informado na TAG Tributação do ICMS. (v2.0)\r\n"
    ImportDeclarationResource:
      type: "object"
      properties:
        code:
          type: "string"
          nullable: true # Número do Documento de Importação da DI/DSI/DA
          description: "Número do Documento de Importação da DI/DSI/DA (nDI)"
        registeredOn:
          type: "string"
          nullable: true
          description: "Data de Registro da DI/DSI/DA (dDI)"
          format: "date-time"
        customsClearanceName:
          type: "string"
          nullable: true # Local de desembaraço
          description: "Local de desembaraço (xLocDesemb)"
        customsClearanceState:
          description: "Sigla da UF onde ocorreu o Desembaraço Aduaneiro (UFDesemb)"
          $ref: "#/components/schemas/StateCode"
        customsClearancedOn:
          type: "string"
          nullable: true
          description: "Data do Desembaraço Aduaneiro (dDesemb)"
          format: "date-time"
        additions:
          type: "array"
          nullable: true
          items:
            $ref: "#/components/schemas/AdditionResource"
          description: "Adições (adi)"
        exporter: # Código do exportador
          type: "string"
          nullable: true
          description: "Código do exportador (cExportador)"
        internationalTransport:
          description: "Via de transporte internacional informada na Declaração de Importação (DI) (tpViaTransp)"
          $ref: "#/components/schemas/InternationalTransportType"
        afrmmAmount:
          type: "number"
          nullable: true
          description: "Valor Adicional ao frete para renovação de marinha mercante (vAFRMM)"
          format: "double"
        intermediation:
          description: "Forma de importação quanto a intermediação (tpIntermedio)"
          $ref: "#/components/schemas/IntermediationType"
        acquirerFederalTaxNumber:
          type: "string" # CNPJ/CPF do adquirente ou do encomendante
          nullable: true
          description: "CNPJ/CPF do adquirente ou do encomendante (CNPJ ou CPF)"
        stateThird:
          type: "string"
          nullable: true
          description: "Sigla da UF do adquirente ou do encomendante (UFTerceiro)"
      additionalProperties: false
      description: "Declaração Importação (DI)"
    IntegrationPaymentType:
      type: "string"
      enum:
        - "Integrated"
        - "NotIntegrated"
      description: "Tipo de Integração para pagamento (tpIntegra).<br/>Integrated: Pagamento integrado com o sistema de automação da empresa (Ex.: equipamento TEF, Comércio Eletrônico)<br/>NotIntegrated: Pagamento não integrado com o sistema de automação da empresa (Ex.: equipamento POS)"
    IntermediateResource:
      type: "object"
      properties:
        federalTaxNumber:
          type: "integer"
          nullable: true
          description: "CNPJ do Intermediador da Transação (agenciador, plataforma de delivery, marketplace e similar) de serviços e de negócios (CNPJ)."
          format: "int64"
        identifier:
          type: "string" # Identificador cadastrado no intermediador
          nullable: true
          description: "Identificador cadastrado no intermediador (idCadIntTran)"
      additionalProperties: false
      description: "Grupo de Informações do Intermediador da Transação (infIntermed)"
    IntermediationType:
      type: "string"
      enum:
        - "None"
        - "ByOwn"
        - "ImportOnBehalf"
        - "ByOrder"
      description: |
        Forma de importação quanto a intermediação (tpIntermedio).
        Valores possíveis:
        - `None`: Não definido
        - `ByOwn`: Importação por conta própria
        - `ImportOnBehalf`: Importação por conta e ordem de terceiro
        - `ByOrder`: Importação por encomenda
    InternationalTransportType:
      type: "string"
      description: |
        Via de transporte internacional (tpViaTransp).
        Valores possíveis:
        - `None`: Não definido
        - `Maritime`: Marítima
        - `River`: Fluvial
        - `Lake`: Lacustre
        - `Airline`: Aérea
        - `Postal`: Postal
        - `Railway`: Ferroviária
        - `Highway`: Rodoviária
        - `Network`: Conduto / Rede Transmissão
        - `Own`: Meios Próprios
        - `Ficta`: Entrada / Saída ficta
        - `Courier`: Serviço de Courrier
        - `Handcarry`: Em mãos
      enum:
        - "None"
        - "Maritime"
        - "River"
        - "Lake"
        - "Airline"
        - "Postal"
        - "Railway"
        - "Highway"
        - "Network"
        - "Own"
        - "Ficta"
        - "Courier"
        - "Handcarry"
    InvoiceEventsResource:
      type: "object"
      properties:
        events:
          type: "array"
          nullable: true
          items:
            $ref: "#/components/schemas/ActivityResource"
          description: "Lista de Eventos ocorridos na Nota Fiscal"
        hasMore: # Identificador de possibilidade de mais itens
          type: "boolean"
          nullable: true
          description: "Identificador de possibilidade de mais itens."
        id:
          type: "string"
          nullable: true
          description: "Identificação"
        accountId:
          type: "string"
          nullable: true # Identificador da Conta
          description: "Identificador da Conta"
        companyId:
          type: "string"
          nullable: true
          description: "Identificador da Empresa"
      additionalProperties: false
    InvoiceEventsResourceBase:
      type: "object"
      properties:
        events:
          type: "array"
          nullable: true
          items:
            $ref: "#/components/schemas/ActivityResource"
          description: "Lista de Eventos ocorridos na Nota Fiscal"
        hasMore: # Identificador de possibilidade de mais itens
          type: "boolean"
          nullable: true
          description: "Identificador de possibilidade de mais itens."
      additionalProperties: false
    InvoiceItemResource:
      type: "object"
      required:
        - code
        - description
        - ncm
        - unit
        - unitTax
        - quantity
        - unitAmount
        - totalAmount
      properties:
        code:
          type: "string"
          nullable: true # Código do produto ou serviço
          description: "Código do produto ou serviço (cProd)"
        codeGTIN:
          type: "string"
          nullable: true
          description: "GTIN (Global Trade Item Number) do produto, antigo código EAN ou código de barras (cEAN)"
        description:
          type: "string"
          nullable: true # Descrição do produto ou serviço
          description: "Descrição do produto ou serviço (xProd)"
        ncm:
          type: "string"
          nullable: true
          description: "Código NCM com 8 dígitos ou 2 dígitos (gênero) (NCM)"
        nve:
          type: "array"
          nullable: true # Nomenclatura de Valor Aduaneiro e Estatístico
          items:
            type: "string"
          description: "Nomenclatura de Valor Aduaneiro e Estatístico (NVE)"
        extipi:
          type: "string"
          nullable: true
          description: "Código Exceção da Tabela de IPI (EXTIPI)"
        cfop:
          type: "integer"
          nullable: true # Código Fiscal de Operações e Prestações
          description: "Código Fiscal de Operações e Prestações (CFOP)"
          format: "int64"
        unit:
          type: "string"
          nullable: true
          description: "Unidade Comercial (uCom)"
        quantity:
          type: "number"
          nullable: true # Quantidade Comercial
          description: "Quantidade Comercial (qCom)"
          format: "double"
        unitAmount:
          type: "number"
          nullable: true
          description: "Valor Unitário de Comercialização (vUnCom)"
          format: "double"
        totalAmount:
          type: "number"
          nullable: true # Valor Total Bruto dos Produtos ou Serviços
          description: "Valor Total Bruto dos Produtos ou Serviços (vProd)"
          format: "double"
        codeTaxGTIN:
          type: "string"
          nullable: true
          description: "GTIN (Global Trade Item Number) da unidade tributável, antigo código EAN ou código de barras (cEANTrib)"
        unitTax:
          type: "string"
          nullable: true # Unidade Tributável
          description: "Unidade Tributável (uTrib)"
        quantityTax:
          type: "number"
          nullable: true
          description: "Quantidade Tributável (qTrib)"
          format: "double"
        taxUnitAmount:
          type: "number"
          nullable: true # Valor Unitário de tributação
          description: "Valor Unitário de tributação (vUnTrib)"
          format: "double"
        freightAmount:
          type: "number"
          nullable: true
          description: "Valor Total do Frete (vFrete)"
          format: "double"
        insuranceAmount:
          type: "number"
          nullable: true # Valor Total do Seguro
          description: "Valor Total do Seguro (vSeg)"
          format: "double"
        discountAmount:
          type: "number"
          nullable: true
          description: "Valor do Desconto (vDesc)"
          format: "double"
        othersAmount:
          type: "number"
          nullable: true # Outras despesas acessórias
          description: "Outras despesas acessórias (vOutro)"
          format: "double"
        totalIndicator:
          type: "boolean"
          nullable: true
          description: "Indica se valor do Item (vProd) entra no valor total da NF-e (vProd) (indTot)"
          default: true # Mantido o default anterior
        usedMovableAssetIndicator:
          description: "Indica fornecimento de bem móvel usado (indBemMovelUsado)"
          $ref: "#/components/schemas/UsedMovableAssetIndicator"
        cest:
          type: "string" # CEST - Código especificador da substituição tributária
          nullable: true
          description: "CEST - Código especificador da substituição tributária (CEST)"
        tax:
          description: "Tributos incidentes no Produto ou Serviço (imposto)"
          $ref: "#/components/schemas/InvoiceItemTaxResource"
        additionalInformation:
          type: "string"
          nullable: true
          description: "Informações Adicionais do Produto (infAdProd)"
        itemAmount:
          type: "number"
          nullable: true # Valor total do item
          description: "Valor total do item (vItem)."
          format: "double"
          maximum: 99999999999.99
          minimum: 0
        numberOrderBuy:
          type: "string"
          nullable: true
          description: "Número do pedido de compra (xPed)"
        itemNumberOrderBuy:
          type: "integer"
          nullable: true # Item do Pedido de Compra
          description: "Item do Pedido de Compra (nItemPed)"
          format: "int32"
        importControlSheetNumber:
          type: "string"
          nullable: true
          description: "Número de controle da FCI - Ficha de Conteúdo de Importação (nFCI)"
        fuelDetail:
          description: "Detalhamento de Combustível (comb)"
          $ref: "#/components/schemas/FuelResource" # Detalhamento de Combustível
        benefit:
          type: "string"
          nullable: true
          description: "Código de Benefício Fiscal na UF aplicado ao item (cBenef)"
        presumedCredit:
          description: "Informações de Crédito Presumido por item (gCred)"
          $ref: "#/components/schemas/PresumedCreditResource"
        ibsZfmPresumedCreditClassification:
          description: "Classificação conforme percentuais definidos no art. 450, § 1º, da LC 214/25 para o cálculo do crédito presumido (tpCredPresIBSZFM)" # Classificação conforme percentuais definidos no art. 450, § 1º, da LC 214/25 para o cálculo do crédito presumido
          $ref: "#/components/schemas/IbsZfmPresumedCreditClassification"
        importDeclarations:
          type: "array"
          nullable: true
          items:
            $ref: "#/components/schemas/ImportDeclarationResource"
          description: "Declaração Importação (DI)"
        exportDetails:
          type: "array"
          nullable: true
          items:
            $ref: "#/components/schemas/ExportDetailResource"
          description: "Grupo de informações de exportação para o item (detExport)"
        referencedDFe: # Documento Fiscal Eletrônico Referenciado
          $ref: "#/components/schemas/ReferencedDFeResource"
        taxDetermination:
          description: "Grupo de informações fiscais para o cálculo automático de impostos (infFiscal). Se este grupo for preenchido, o grupo `tax.IBSCBS` será calculado automaticamente. Se não for preenchido, o cálculo automático do grupo `tax.IBSCBS` torna-se opcional."
          $ref: "#/components/schemas/TaxDeterminationResource"
      additionalProperties: false
      description: "Grupo do detalhamento de Produtos e Serviços da NF-e\r\n"
    InvoiceItemTaxResource:
      type: "object"
      required:
        - totalTax
        - icms
        - pis
        - cofins
      properties:
        totalTax:
          type: "number"
          nullable: true # Valor aproximado total de tributos federais, estaduais e municipais
          description: "Valor aproximado total de tributos federais, estaduais e municipais (vTotTrib)"
          format: "double"
        icms:
          description: "Grupo do ICMS da Operação própria e ST (ICMS)"
          $ref: "#/components/schemas/IcmsTaxResource"
        ipi:
          description: "Grupo do IPI (IPI)"
          $ref: "#/components/schemas/IPITaxResource"
        ii:
          description: "Grupo do Imposto de Importação (II)"
          $ref: "#/components/schemas/IITaxResource"
        pis:
          description: "Grupo do PIS (PIS)"
          $ref: "#/components/schemas/PISTaxResource"
        cofins:
          description: "Grupo do COFINS (COFINS)"
          $ref: "#/components/schemas/CofinsTaxResource"
        icmsDestination:
          description: "Grupo de Tributação do ICMS de Destino da UF (ICMSUFDest)" # Grupo de Tributação do ICMS de Destino da UF
          $ref: "#/components/schemas/ICMSUFDestinationTaxResource"
        IS:
          description: "Imposto Seletivo (IS)"
          $ref: "#/components/schemas/ISTaxResource"
        IBSCBS:
          description: "Grupo de Informações do IBS e CBS"
          $ref: "#/components/schemas/IBSCBSTaxResource"
        competenceAdjustment: # Ajuste de Competência (gAjusteCompet)
          $ref: "#/components/schemas/CompetenceAdjustmentResource"
          description: "Ajuste de Competência (gAjusteCompet)"
      additionalProperties: false
    InvoiceItemsResource:
      type: "object"
      properties:
        accountId:
          type: "string"
          nullable: true
          description: "Identificador da Conta"
        companyId:
          type: "string"
          nullable: true
          description: "Identificador da Empresa"
        id:
          type: "string"
          nullable: true
          description: "Identificador da Nota Fiscal"
        items:
          type: "array"
          nullable: true
          items:
            $ref: "#/components/schemas/InvoiceItemResource"
          description: "Detalhamento de Produtos e Serviços (det) - Lista de Items da Nota Fiscal"
        hasMore:
          type: "boolean"
          nullable: true
          description: "Identifica se existem mais items a serem consultados"
      additionalProperties: false
    InvoiceResource:
      type: "object"
      properties:
        id:
          type: "string"
          nullable: true
          description: "Identificador único"
        serie:
          type: "integer"
          nullable: true
          description: "Série do Documento Fiscal (serie)"
          format: "int32"
        number:
          type: "integer"
          nullable: true
          description: "Número do Documento Fiscal (nNF)"
          format: "int64"
        status:
          description: "Status da NF-e (cStat)"
          $ref: "#/components/schemas/InvoiceStatus"
        authorization:
          description: "Informações do Protocolo de Autorização (protNFe)"
          $ref: "#/components/schemas/AuthorizationResource"
        contingencyDetails:
          description: "Detalhes da contingência (dhCont)"
          $ref: "#/components/schemas/ContingencyDetails"
        operationNature:
          type: "string"
          nullable: true
          description: "Descrição da Natureza da Operação (natOp)"
        createdOn:
          type: "string"
          nullable: true
          description: "Data de criação"
          format: "date-time"
        modifiedOn:
          type: "string"
          nullable: true
          description: "Data de modificação"
          format: "date-time"
        operationOn:
          type: "string"
          nullable: true
          description: "Data e Hora de Saída ou da Entrada da Mercadoria/Produto (dhSaiEnt). Data e hora no formato UTC (Universal Coordinated Time): AAAA-MM-DDThh:mm:ssTZD."
          format: "date-time"
        operationType:
          description: "Tipo do Documento Fiscal (tpNF)"
          $ref: "#/components/schemas/OperationType"
        environmentType:
          description: "Tipo de Ambiente (tpAmb)"
          $ref: "#/components/schemas/EnvironmentType"
        purposeType:
          description: "Finalidade da emissão da NF-e (finNFe)"
          $ref: "#/components/schemas/PurposeType"
        issuer:
          description: "Identificação do Emitente (emit)"
          $ref: "#/components/schemas/IssuerResource"
        buyer:
          description: "Identificação do Destinatário (dest)"
          $ref: "#/components/schemas/BuyerResource"
        totals:
          description: "Grupo de Valores Totais da NF-e (total)"
          $ref: "#/components/schemas/TotalResource"
        transport:
          description: "Grupo de Informações do Transporte da NF-e (transp)"
          $ref: "#/components/schemas/TransportInformationResource"
        additionalInformation:
          description: "Informações adicionais da NF-e (infAdic)"
          $ref: "#/components/schemas/AdditionalInformationResource"
        export:
          description: "Informações de exportação (exporta)"
          $ref: "#/components/schemas/ExportResource"
        billing:
          description: "Grupo Cobrança (cobr)"
          $ref: "#/components/schemas/BillingResource"
        payment:
          type: "array"
          items:
            $ref: "#/components/schemas/PaymentResource"
          description: "Grupo de Formas de Pagamento (pag)"
        transactionIntermediate:
          description: "Grupo de Informações do Intermediador da Transação (infIntermed)"
          $ref: "#/components/schemas/IntermediateResource"
        delivery:
          description: "Identificação do Local de entrega (entrega)"
          $ref: "#/components/schemas/DeliveryInformationResource"
        withdrawal:
          description: "Identificação do Local de retirada (retirada)"
          $ref: "#/components/schemas/WithdrawalInformationResource"
        lastEvents:
          description: "Últimos eventos da NF-e (eventos)"
          $ref: "#/components/schemas/InvoiceEventsResourceBase"
      additionalProperties: false
    InvoiceStatus:
      type: "string"
      enum:
        - "None"
        - "Created"
        - "Processing"
        - "Issued"
        - "IssuedContingency"
        - "Cancelled"
        - "Disabled"
        - "IssueDenied"
        - "Error"
      description: |
        Status da NF-e.
        Valores possíveis:
        - `None`: Não definido
        - `Created`: Criada
        - `Processing`: Processando
        - `Issued`: Emitida
        - `IssuedContingency`: Emitida em Contingência
        - `Cancelled`: Cancelada
        - `Disabled`: Inutilizada
        - `IssueDenied`: Emissão Denegada
        - `Error`: Erro
    InvoiceWithoutEventsResource:
      type: "object"
      properties:
        id:
          type: "string"
          nullable: true
          description: "Identificador único"
        serie:
          type: "integer"
          nullable: true
          description: "Série do Documento Fiscal (serie)"
          format: "int32"
        number:
          type: "integer"
          nullable: true
          description: "Número do Documento Fiscal (nNF)"
          format: "int64"
        status:
          description: "Status da NF-e (cStat)"
          $ref: "#/components/schemas/InvoiceStatus"
        authorization:
          description: "Informações do Protocolo de Autorização (protNFe)"
          $ref: "#/components/schemas/AuthorizationResource"
        contingencyDetails:
          description: "Detalhes da contingência (dhCont)"
          $ref: "#/components/schemas/ContingencyDetails"
        operationNature:
          type: "string"
          nullable: true
          description: "Descrição da Natureza da Operação (natOp)"
        createdOn:
          type: "string"
          nullable: true
          description: "Data de criação"
          format: "date-time"
        modifiedOn:
          type: "string"
          nullable: true
          description: "Data de modificação"
          format: "date-time"
        operationOn:
          type: "string"
          nullable: true
          description: "Data e Hora de Saída ou da Entrada da Mercadoria/Produto (dhSaiEnt). Data e hora no formato UTC (Universal Coordinated Time): AAAA-MM-DDThh:mm:ssTZD."
          format: "date-time"
        operationType:
          description: "Tipo do Documento Fiscal (tpNF)"
          $ref: "#/components/schemas/OperationType"
        environmentType:
          description: "Tipo de Ambiente (tpAmb)"
          $ref: "#/components/schemas/EnvironmentType"
        purposeType:
          description: "Finalidade da emissão da NF-e (finNFe)"
          $ref: "#/components/schemas/PurposeType"
        issuer:
          description: "Identificação do Emitente (emit)"
          $ref: "#/components/schemas/IssuerResource"
        buyer:
          description: "Identificação do Destinatário (dest)"
          $ref: "#/components/schemas/BuyerResource"
        totals:
          description: "Grupo de Valores Totais da NF-e (total)"
          $ref: "#/components/schemas/TotalResource"
        transport:
          description: "Grupo de Informações do Transporte da NF-e (transp)"
          $ref: "#/components/schemas/TransportInformationResource"
        additionalInformation:
          description: "Informações adicionais da NF-e (infAdic)"
          $ref: "#/components/schemas/AdditionalInformationResource"
        export:
          description: "Informações de exportação (exporta)"
          $ref: "#/components/schemas/ExportResource"
        billing:
          description: "Grupo Cobrança (cobr)"
          $ref: "#/components/schemas/BillingResource"
        payment:
          type: "array"
          items:
            $ref: "#/components/schemas/PaymentResource"
          description: "Grupo de Formas de Pagamento (pag)"
        transactionIntermediate:
          description: "Grupo de Informações do Intermediador da Transação (infIntermed)"
          $ref: "#/components/schemas/IntermediateResource"
        delivery:
          description: "Identificação do Local de entrega (entrega)"
          $ref: "#/components/schemas/DeliveryInformationResource"
        withdrawal:
          description: "Identificação do Local de retirada (retirada)"
          $ref: "#/components/schemas/WithdrawalInformationResource"
      additionalProperties: false
    IssuerFromRequestResource:
      type: "object"
      properties:
        stStateTaxNumber:
          type: "string" # IE do Substituto Tributário da UF de destino da mercadoria
          nullable: true
          description: "IE do Substituto Tributário da UF de destino da mercadoria, quando houver a retenção do ICMS ST para a UF de destino. (IEST)"
      additionalProperties: false
    IssuerResource:
      type: "object"
      properties:
        accountId:
          type: "string"
          nullable: true # Identificador da Conta
          description: "Identificador da Conta"
        id:
          type: "string"
          nullable: true
          description: "Identificação"
        name:
          type: "string"
          nullable: true
          description: "Nome ou Razão Social (xNome)"
        federalTaxNumber:
          type: "integer"
          nullable: true # O valor padrão de consumerType é determinado com base neste campo. Se for um CNPJ, o padrão será "Normal"; se for um CPF ou NIF, será "FinalConsumer".
          description: "CNPJ ou CPF (CNPJ/CPF)"
          format: "int64"
        email:
          type: "string"
          nullable: true
          description: "Email (email)"
        address:
          description: "Dados do Endereço (enderEmit)"
          $ref: "#/components/schemas/AddressResource"
        type:
          description: "Tipo da pessoa (indIEDest)"
          $ref: "#/components/schemas/PersonType"
        tradeName:
          type: "string"
          nullable: true
          description: "Nome Fantasia (xFant)"
        openningDate:
          type: "string"
          nullable: true
          description: "Data abertura da empresa (dIniAtiv)"
          format: "date-time"
        taxRegime:
          description: "Regime de tributação (CRT)"
          $ref: "#/components/schemas/TaxRegime"
        specialTaxRegime:
          description: "Regime especial de tributação (indRegTrib)"
          $ref: "#/components/schemas/SpecialTaxRegime"
        legalNature:
          description: "Natureza jurídica (natJuridica)"
          $ref: "#/components/schemas/LegalNature"
        economicActivities:
          type: "array"
          nullable: true
          items:
            $ref: "#/components/schemas/EconomicActivityResource"
          description: "Atividades da Empresa (CNAE)"
        companyRegistryNumber:
          type: "integer"
          nullable: true
          description: "Número de Inscrição na Junta Comercial (nIRE)"
          format: "int64"
        regionalTaxNumber:
          type: "integer"
          nullable: true
          description: "Número de Inscrição na SEFAZ (IE)"
          format: "int64"
        regionalSTTaxNumber:
          type: "integer"
          nullable: true
          description: "Inscrição Estadual do Substituto Tributário (IEST)"
          format: "int64"
        municipalTaxNumber:
          type: "string"
          nullable: true
          description: "Número de Inscrição na Prefeitura (IM/CCM)"
        stStateTaxNumber:
          type: "string"
          nullable: true
          description: "IE do Substituto Tributário (IEST)"
      additionalProperties: false
      description: "Grupo de identificação do emitente da NF-e"
    LegalNature:
      type: "string"
      enum:
        - "EmpresaPublica"
        - "SociedadeEconomiaMista"
        - "SociedadeAnonimaAberta"
        - "SociedadeAnonimaFechada"
        - "SociedadeEmpresariaLimitada"
        - "SociedadeEmpresariaEmNomeColetivo"
        - "SociedadeEmpresariaEmComanditaSimples"
        - "SociedadeEmpresariaEmComanditaporAcoes"
        - "SociedadeemContaParticipacao"
        - "Empresario"
        - "Cooperativa"
        - "ConsorcioSociedades"
        - "GrupoSociedades"
        - "EmpresaDomiciliadaExterior"
        - "ClubeFundoInvestimento"
        - "SociedadeSimplesPura"
        - "SociedadeSimplesLimitada"
        - "SociedadeSimplesEmNomeColetivo"
        - "SociedadeSimplesEmComanditaSimples"
        - "EmpresaBinacional"
        - "ConsorcioEmpregadores"
        - "ConsorcioSimples"
        - "EireliNaturezaEmpresaria"
        - "EireliNaturezaSimples"
        - "ServicoNotarial"
        - "FundacaoPrivada"
        - "ServicoSocialAutonomo"
        - "CondominioEdilicio"
        - "ComissaoConciliacaoPrevia"
        - "EntidadeMediacaoArbitragem"
        - "PartidoPolitico"
        - "EntidadeSindical"
        - "EstabelecimentoBrasilFundacaoAssociacaoEstrangeiras"
        - "FundacaoAssociacaoDomiciliadaExterior"
        - "OrganizacaoReligiosa"
        - "ComunidadeIndigena"
        - "FundoPrivado"
        - "AssociacaoPrivada"
      description: "Natureza jurídica (natJuridica).<br/>EmpresaPublica: Empresa Pública<br/>SociedadeEconomiaMista: Sociedade de Economia Mista<br/>SociedadeAnonimaAberta: Sociedade Anônima Aberta<br/>SociedadeAnonimaFechada: Sociedade Anônima Fechada<br/>SociedadeEmpresariaLimitada: Sociedade Empresária Limitada<br/>SociedadeEmpresariaEmNomeColetivo: Sociedade Empresária em Nome Coletivo<br/>SociedadeEmpresariaEmComanditaSimples: Sociedade Empresária em Comandita Simples<br/>SociedadeEmpresariaEmComanditaporAcoes: Sociedade Empresária em Comandita por Ações<br/>SociedadeemContaParticipacao: Sociedade em Conta de Participação<br/>Empresario: Empresário Individual<br/>Cooperativa: Cooperativa<br/>ConsorcioSociedades: Consórcio de Sociedades<br/>GrupoSociedades: Grupo de Sociedades<br/>EmpresaDomiciliadaExterior: Empresa Domiciliada no Exterior<br/>ClubeFundoInvestimento: Clube/Fundo de Investimento<br/>SociedadeSimplesPura: Sociedade Simples Pura<br/>SociedadeSimplesLimitada: Sociedade Simples Limitada<br/>SociedadeSimplesEmNomeColetivo: Sociedade Simples em Nome Coletivo<br/>SociedadeSimplesEmComanditaSimples: Sociedade Simples em Comandita Simples<br/>EmpresaBinacional: Empresa Binacional<br/>ConsorcioEmpregadores: Consórcio de Empregadores<br/>ConsorcioSimples: Consórcio Simples<br/>EireliNaturezaEmpresaria: EIRELI de Natureza Empresária<br/>EireliNaturezaSimples: EIRELI de Natureza Simples<br/>ServicoNotarial: Serviço Notarial e de Registro<br/>FundacaoPrivada: Fundação Privada<br/>ServicoSocialAutonomo: Serviço Social Autônomo<br/>CondominioEdilicio: Condomínio Edilício<br/>ComissaoConciliacaoPrevia: Comissão de Conciliação Prévia<br/>EntidadeMediacaoArbitragem: Entidade de Mediação e Arbitragem<br/>PartidoPolitico: Partido Político<br/>EntidadeSindical: Entidade Sindical<br/>EstabelecimentoBrasilFundacaoAssociacaoEstrangeiras: Estabelecimento no Brasil de Fundação ou Associação Estrangeiras<br/>FundacaoAssociacaoDomiciliadaExterior: Fundação ou Associação Domiciliada no Exterior<br/>OrganizacaoReligiosa: Organização Religiosa<br/>ComunidadeIndigena: Comunidade Indígena<br/>FundoPrivado: Fundo Privado<br/>AssociacaoPrivada: Associação Privada"
    MonophaseDefermentTaxResource:
      type: "object"
      description: "Deferimento na tributação monofásica (para biocombustíveis)."
      properties:
        ibsRate:
          type: "number"
          nullable: true
          description: "Percentual de diferimento do IBS monofásico (pDifIBS)."
          format: "double"
        ibsAmount:
          type: "number"
          nullable: true
          description: "Valor do diferimento IBS monofásico (vIBSMonoDif)."
          format: "double"
        cbsRate:
          type: "number"
          nullable: true
          description: "Percentual de diferimento do CBS monofásico (pDifCBS)."
          format: "double"
        cbsAmount:
          type: "number"
          nullable: true
          description: "Valor do diferimento CBS monofásico (vCBSMonoDif)."
          format: "double"
      additionalProperties: false
    MonophaseIBSCBSTaxResource:
      type: "object"
      description: "Grupo de Informações do IBS e CBS sobre transações monofásicas"
      properties:
        standart:
          description: "Informações de tributação monofásica padrão para IBS/CBS (gMonofasicoPadrao)."
          $ref: "#/components/schemas/MonophaseStandardTaxResource"
        withholding:
          description: "Tributação monofásica sujeita à retenção (gMonofasicoRetido)."
          $ref: "#/components/schemas/MonophaseWithholdingTaxResource"
        previouslyWithheld:
          description: "Tributação monofásica previamente retida (gMonofasicoRetidoAnt)."
          $ref: "#/components/schemas/MonophasePreviouslyWithheldTaxResource"
        deferment:
          description: "Deferimento na tributação monofásica (para biocombustíveis) (gMonofasicoDif)."
          $ref: "#/components/schemas/MonophaseDefermentTaxResource"
        ibsAmount:
          type: "number"
          nullable: true
          description: "Total de IBS monofásico do item (vTotIBSMonoItem)."
          format: "double"
        cbsAmount:
          type: "number"
          nullable: true
          description: "Total de CBS monofásico do item (vTotCBSMonoItem)."
          format: "double"
      additionalProperties: false
    MonophasePreviouslyWithheldTaxResource:
      type: "object"
      description: "Tributação monofásica previamente retida."
      properties:
        quantityBasis:
          type: "number"
          nullable: true
          description: "Quantidade base previamente retida (qBCMonoRet)."
          format: "double"
        ibsAdRemRate:
          type: "number"
          nullable: true
          description: "Alíquota ad rem IBS previamente retida (adRemIBSRet)."
          format: "double"
        ibsAmount:
          type: "number"
          nullable: true
          description: "Valor IBS previamente retido (vIBSMonoRet)."
          format: "double"
        cbsAdRemRate:
          type: "number"
          nullable: true
          description: "Alíquota ad rem CBS previamente retida (adRemCBSRet)."
          format: "double"
        cbsAmount:
          type: "number"
          nullable: true
          description: "Valor CBS previamente retido (vCBSMonoRet)."
          format: "double"
      additionalProperties: false
    MonophaseStandardTaxResource:
      type: "object"
      description: "Informações de tributação monofásica padrão para IBS/CBS."
      properties:
        quantityBasis:
          type: "number"
          nullable: true
          description: "Quantidade base tributada na monofásica (qBCMono)."
          format: "double"
        ibsAdRemRate:
          type: "number"
          nullable: true
          description: "Alíquota ad rem IBS (adRemIBS)."
          format: "double"
        cbsAdRemRate:
          type: "number"
          nullable: true
          description: "Alíquota ad rem CBS (adRemCBS)."
          format: "double"
        ibsAmount:
          type: "number"
          nullable: true
          description: "Valor IBS monofásico (vIBSMono)."
          format: "double"
        cbsAmount:
          type: "number"
          nullable: true
          description: "Valor CBS monofásico (vCBSMono)."
          format: "double"
      additionalProperties: false
    MonophaseWithholdingTaxResource:
      type: "object"
      description: "Tributação monofásica sujeita à retenção."
      properties:
        quantityBasis:
          type: "number"
          nullable: true
          description: "Quantidade base tributada na retenção monofásica (qBCMonoReten)."
          format: "double"
        ibsAdRemRate:
          type: "number"
          nullable: true
          description: "Alíquota ad rem IBS retida (adRemIBSReten)."
          format: "double"
        ibsAmount:
          type: "number"
          nullable: true
          description: "Valor IBS monofásico retido (vIBSMonoReten)."
          format: "double"
        cbsAdRemRate:
          type: "number"
          nullable: true
          description: "Alíquota ad rem CBS retida (adRemCBSReten)."
          format: "double"
        cbsAmount:
          type: "number"
          nullable: true
          description: "Valor CBS monofásico retido (vCBSMonoReten)."
          format: "double"
      additionalProperties: false
    OperationalPresumedCreditResource:
      type: "object"
      description: "Informações sobre o crédito presumido de IBS para fornecimentos (gCredPresOper)."
      properties:
        basis:
          type: "number"
          nullable: true
          description: "Valor da Base de Cálculo do Crédito Presumido da Operação (vBC)"
          format: "double"
        classificationCode:
          description: "Código de Classificação do Crédito Presumido (cCredPres)."
          $ref: "#/components/schemas/PresumedCreditClassificationCode"
        ibs:
          description: "Grupo de Informações do Crédito Presumido referente ao IBS (gIBSCredPres)"
          $ref: "#/components/schemas/PresumedCreditDetailsResource"
        cbs:
          description: "Grupo de Informações do Crédito Presumido referente a CBS (gCBSCredPres)"
          $ref: "#/components/schemas/PresumedCreditDetailsResource"
      additionalProperties: false
    OperationType:
      type: "string"
      enum:
        - "Outgoing"
        - "Incoming" # Entrada
      description: |
        Tipo de Operação (tpNF).
        Valores possíveis:
        - `Outgoing`: Saída
        - `Incoming`: Entrada
      default: "Outgoing"
    PISTaxResource:
      type: "object"
      properties:
        cst:
          type: "string"
          nullable: true # Código de Situação Tributária do PIS
          description: "Código de Situação Tributária do PIS (CST)"
        baseTax:
          type: "number"
          nullable: true
          description: "Valor da Base de Cálculo do PIS (vBC)"
          format: "double"
        rate:
          type: "number"
          nullable: true # Alíquota do PIS (em percentual)
          description: "Alíquota do PIS (em percentual) (pPIS)"
          format: "double"
        amount:
          type: "number"
          nullable: true
          description: "Valor do PIS (vPIS)"
          format: "double"
        baseTaxProductQuantity:
          type: "number"
          nullable: true # Quantidade Vendida
          description: "Quantidade Vendida (qBCProd)"
          format: "double"
        productRate:
          type: "number"
          nullable: true
          description: "Alíquota do PIS (em reais) (vAliqProd)"
          format: "double"
      additionalProperties: false
      description: "Grupo do PIS"
    PaymentDetailResource:
      type: "object"
      required:
        - method
        - amount
      properties:
        method:
          description: "Forma de pagamento (tPag)"
          $ref: "#/components/schemas/PaymentMethod" # Forma de pagamento
        methodDescription:
          type: "string"
          nullable: true
          description: "Descrição do meio de pagamento (xPag)"
        paymentType:
          description: "Indicador da forma de pagamento (indPag)"
          $ref: "#/components/schemas/PaymentType"
        amount:
          type: "number"
          description: "Valor do Pagamento (vPag)"
          format: "double"
        card:
          description: "Grupo de Cartões (card)"
          $ref: "#/components/schemas/CardResource"
        paymentDate:
          type: "string"
          nullable: true
          description: "Data do pagamento (dPag) - Data e hora no formato UTC (Universal Coordinated Time): AAAA-MM-DDThh:mm:ssTZD"
          format: "date-time"
        federalTaxNumberPag:
          type: "string" # CNPJ transacional do pagamento
          nullable: true
          description: "CNPJ transacional do pagamento (CNPJPag)"
        statePag:
          type: "string"
          nullable: true
          description: "UF do CNPJ do estabelecimento onde o pagamento foi processado/transacionado/recebido (UFPag)"
      additionalProperties: false
    PaymentMethod:
      type: "string"
      enum:
        - "Cash"
        - "Cheque"
        - "CreditCard"
        - "DebitCard"
        - "StoreCredict"
        - "FoodVouchers"
        - "MealVouchers"
        - "GiftVouchers"
        - "FuelVouchers"
        - "MercantileDuplicate"
        - "BankBill"
        - "BankDeposit"
        - "InstantPayment"
        - "WireTransfer"
        - "Cashback"
        - "StaticInstantPayment"
        - "StoreCredit"
        - "ElectronicPaymentNotInformed"
        - "WithoutPayment"
        - "Others"
      description: |
        Forma de pagamento (tPag).
        Valores possíveis:
        - `Cash`: 01 - Dinheiro
        - `Cheque`: 02 - Cheque
        - `CreditCard`: 03 - Cartão de Crédito
        - `DebitCard`: 04 - Cartão de Débito
        - `StoreCredict`: 05 - Crédito Loja
        - `FoodVouchers`: 10 - Vale Alimentação
        - `MealVouchers`: 11 - Vale Refeição
        - `GiftVouchers`: 12 - Vale Presente
        - `FuelVouchers`: 13 - Vale Combustível
        - `MercantileDuplicate`: 14 - Duplicata Mercantil
        - `BankBill`: 15 - Boleto Bancário
        - `BankDeposit`: 16 - Depósito Bancário
        - `InstantPayment`: 17 - Pagamento Instantâneo (PIX)
        - `WireTransfer`: 18 - Transferência bancária, Carteira Digital
        - `Cashback`: 19 - Programa de fidelidade, Cashback, Crédito Virtual
        - `StaticInstantPayment`: 20 - Pagamento Instantâneo (PIX) Estático
        - `StoreCredit`: 21 - Crédito em Loja
        - `ElectronicPaymentNotInformed`: 22 - Pagamento Eletrônico Não Informado
        - `WithoutPayment`: 90 - Sem Pagamento
        - `Others`: 99 - Outros
    PaymentResource:
      type: "object"
      required:
        - paymentDetail
      properties:
        paymentDetail:
          type: "array"
          items:
            $ref: "#/components/schemas/PaymentDetailResource"
          description: "YA01a - Grupo Detalhamento da Forma de Pagamento (detPag) VERSÃO 4.00"
        payBack:
          type: "number"
          nullable: true
          description: "Valor do troco (vTroco) VERSÃO 4.00"
          format: "double"
      additionalProperties: false
    PaymentType:
      type: "string"
      enum:
        - "InCash"
        - "Term"
      description: |
        Indicador da forma de pagamento (indPag).
        Valores possíveis:
        - `InCash`: Pagamento à vista
        - `Term`: Pagamento a prazo
    PersonType:
      type: "string"
      enum:
        - "Undefined"
        - "NaturalPerson"
        - "LegalEntity"
        - "Company"
        - "Customer"
      description: |
        Tipo de Pessoa.
        Valores possíveis:
        - `Undefined`: Não definido
        - `NaturalPerson`: Pessoa Física
        - `LegalEntity`: Pessoa Jurídica
        - `Company`: Empresa
        - `Customer`: Cliente
    PresumedCreditClassificationCode:
      type: "string"
      nullable: true
      enum:
        - "RuralProducerNonTaxpayer"
        - "TacPfTransportServiceNonTaxpayer"
        - "RecyclingFromIndividual"
        - "UsedMovableGoodsFromIndividualForResale"
        - "OptionalRegimeForCooperative"
      description: |
        Código de Classificação do Crédito Presumido (cCredPres).
        Valores possíveis:
        - `RuralProducerNonTaxpayer`: Produtor rural não contribuinte
        - `TacPfTransportServiceNonTaxpayer`: TAC Pessoa Física não contribuinte do serviço de transporte
        - `RecyclingFromIndividual`: Reciclagem de pessoa física
        - `UsedMovableGoodsFromIndividualForResale`: Bens móveis usados de pessoa física para revenda
        - `OptionalRegimeForCooperative`: Regime opcional para cooperativa
    PresumedCreditDetailsResource:
      type: "object"
      description: "Grupo de Informações do Crédito Presumido"
      properties:
        rate:
          type: "number"
          nullable: true
          description: "Percentual do Crédito Presumido (pCredPres)"
          format: "double"
        amount:
          type: "number" # Valor do Crédito Presumido
          nullable: true
          description: "Valor do Crédito Presumido (vCredPres)"
          format: "double"
        suspensiveConditionAmount:
          type: "number"
          nullable: true
          description: "Valor do Crédito Presumido em condição suspensiva. (vCredPresCondSus)"
          format: "double"
      additionalProperties: false
    PresumedCreditResource:
      type: "object"
      description: "Informações de Crédito Presumido por item (gCred). Preenchimento conforme exigência da UF (NT 2019.001)."
      properties:
        code:
          type: "string"
          nullable: true # Código do Benefício de Crédito Presumido na UF
          description: "Código do Benefício de Crédito Presumido na UF (cCredPresumido). Use o mesmo código utilizado na EFD/declarações da UF. Tamanho 8 ou 10."
        rate:
          type: "number"
          nullable: true
          description: "Percentual do Crédito Presumido (pCredPresumido). Use fração: 0.04 = 4%. Até 4 casas decimais."
          format: "double"
        amount:
          type: "number"
          nullable: true # Valor do Crédito Presumido
          description: "Valor do Crédito Presumido (vCredPresumido)."
          format: "double"
      additionalProperties: false
    PrintType:
      type: "string"
      enum:
        - "None"
        - "NFeNormalPortrait"
        - "NFeNormalLandscape"
        - "NFeSimplified"
        - "DANFE_NFC_E"
        - "DANFE_NFC_E_MSG_ELETRONICA"
      description: |
        Formato de impressão do DANFE (tpImp).
        Valores possíveis:
        - `None`: Não definido
        - `NFeNormalPortrait`: DANFE normal, Retrato
        - `NFeNormalLandscape`: DANFE normal, Paisagem
        - `NFeSimplified`: DANFE Simplificado
        - `DANFE_NFC_E`: DANFE NFC-e
        - `DANFE_NFC_E_MSG_ELETRONICA`: DANFE NFC-e em mensagem eletrônica
    ProductInvoicesResource:
      type: "object"
      properties:
        productInvoices:
          type: "array"
          nullable: true
          items:
            $ref: "#/components/schemas/InvoiceWithoutEventsResource"
          description: "Lista de Notas Fiscais Eletrônicas (NF-e)"
        hasMore: # Identificador de possibilidade de mais itens
          type: "boolean"
          description: "Identificador de possibilidade de mais itens."
      additionalProperties: false
      description: "Notas Fiscais Eletrônicas (NF-e)"
    PumpResource:
      type: "object"
      properties:
        spoutNumber:
          type: "integer"
          nullable: true # Número de identificação do bico utilizado no abastecimento
          description: "Número de identificação do bico utilizado no abastecimento (nBico)"
          format: "int32"
        number:
          type: "integer"
          nullable: true
          description: "Número de identificação da bomba ao qual o bico está interligado (nBomba)"
          format: "int32"
        tankNumber:
          type: "integer"
          nullable: true # Número de identificação do tanque
          description: "Número de identificação do tanque ao qual o bico está interligado (nTanque)"
          format: "int32"
        beginningAmount:
          type: "number"
          nullable: true
          description: "Valor do Encerrante no início do abastecimento (vEncIni)"
          format: "double"
        endAmount:
          type: "number"
          nullable: true # Valor do Encerrante no final do abastecimento
          description: "Valor do Encerrante no final do abastecimento (vEncFin)"
          format: "double"
        percentageBio:
          type: "number"
          nullable: true
          description: "Percentual do índice de mistura do Biodiesel (B100) no Óleo Diesel B instituído pelo órgão regulamentador"
          format: "double"
      additionalProperties: false
    PurchaseInformationResource:
      type: "object"
      description: "Grupo Compra. Additional purchase information (compra)"
      properties:
        commitmentNote:
          type: "string"
          nullable: true # Nota de Empenho
          description: "Nota de Empenho. Identification of the Note of Commitment, when dealing with public purchases (xNEmp)"
          minLength: 1
          maxLength: 22
        purchaseOrder:
          type: "string"
          nullable: true
          description: "Pedido. (xPed)"
          minLength: 1
          maxLength: 60
        contractNumber: # Contrato
          type: "string"
          nullable: true
          description: "Contrato. (xcont)"
          minLength: 1
          maxLength: 60
      additionalProperties: false
    PurposeType:
      type: "string"
      enum:
        - "None"
        - "Normal"
        - "Complement"
        - "Adjustment"
        - "Devolution" # Devolução
      default: "Normal"
      description: |
        Finalidade da emissão da NF-e (finNFe).
        Valores possíveis:
        - `None`: Não definido
        - `Normal`: NF-e normal
        - `Complement`: NF-e complementar
        - `Adjustment`: NF-e de ajuste
        - `Devolution`: Devolução de mercadoria
    QueueEventResource:
      type: "object"
      properties:
        reason:
          type: "string"
          nullable: true # Justificativa da carta de correção
          description: "Justificativa da carta de correção\r\nO Texto deve \r\nconter no mínimo 15 e no máximo 1.000 caracteres\r\n(os quais não poderão conter acentos e/ou caracteres especiais)"
      additionalProperties: false
    ReboqueResource:
      type: "object"
      properties:
        plate:
          type: "string"
          nullable: true
          description: "Placa do Veiculo (placa)"
        uf:
          type: "string"
          nullable: true # UF Veiculo Reboque
          description: "UF Veiculo Reboque (UF)"
        rntc:
          type: "string"
          nullable: true
          description: "Registro Nacional de Transportador de Carga (ANTT) (RNTC)"
        wagon:
          type: "string"
          nullable: true
          description: "Identificação do Vagão (vagao)"
        ferry:
          type: "string"
          nullable: true # Identificação da Balsa
          description: "Identificação da Balsa (balsa)"
      additionalProperties: false
      description: "Grupo Reboque"
    ReceiverStateTaxIndicator:
      type: "string"
      enum:
        - "None"
        - "TaxPayer"
        - "Exempt"
        - "NonTaxPayer"
      description: |
        Indicador da IE do Destinatário (indIEDest).
        Valores possíveis:
        - `None`: Não definido
        - `TaxPayer`: Contribuinte ICMS (informar a IE do destinatário)
        - `Exempt`: Contribuinte isento de Inscrição no cadastro de Contribuintes do ICMS
        - `NonTaxPayer`: Não Contribuinte, que pode ou não possuir Inscrição Estadual no Cadastro de Contribuintes do ICMS
    ReductionTaxResource:
      type: "object"
      description: "Grupo de informações da redução da alíquota"
      properties:
        rateReduction:
          type: "number"
          nullable: true
          description: "Percentual da redução de alíquota"
          format: "double"
        effectiveRate:
          type: "number" # Alíquota Efetiva que será aplicada a Base de Cálculo
          nullable: true
          description: "Alíquota Efetiva que será aplicada a Base de Cálculo (em percentual)"
          format: "double"
      additionalProperties: false
    ReferencedProcessResource:
      type: "object"
      properties:
        identifierConcessory:
          type: "string" # Identificador do ato concessório
          nullable: true
          description: "Identificador do ato concessório (identificadorAtoConcessorio)."
        identifierOrigin:
          type: "integer"
          nullable: true
          format: "int32"
          description: "Identificador de origem do processo (identificadorOrigemProcesso)."
        concessionActType:
          type: "integer"
          nullable: true # Tipo do ato concessório
          format: "int32"
          description: "Tipo do ato concessório (tipoAtoConcessorio)."
      additionalProperties: false
    ReferencedDFeResource:
      type: "object"
      nullable: true
      description: "Documento Fiscal Eletrônico Referenciado (DFeReferenciado). Grupo para referenciamento de itens de outro DF-e."
      properties:
        accessKey:
          type: "string"
          description: "Chave de acesso do DF-e referenciado (chaveAcesso)."
          maxLength: 44
          minLength: 44
          pattern: "^[0-9]{44}$"
        itemNumber: # Número do item do documento referenciado
          type: "integer"
          nullable: true
          description: "Número do item do documento referenciado (nItem). Corresponde ao atributo “nItem” do elemento “det” do documentooriginal."
          maximum: 999
          minimum: 1
          format: "int32"
      required:
        - "accessKey"
      additionalProperties: false
    ISTotalsResource:
      type: "object"
      nullable: true
      description: "Grupo de totais do Imposto Seletivo. (ISTot)"
      properties:
        amount:
          type: "number" # Total do imposto seletivo
          nullable: true
          description: "Total do imposto seletivo. (vIS)"
          format: "double"
      additionalProperties: false
    IBSCBSTotalsResource:
      type: "object"
      nullable: true
      description: "Totais da NF-e com IBS e CBS. (IBSCBSTot)"
      properties:
        basis:
          type: "number"
          nullable: true # Valor total da Base de Cálculo do IBS e da CBS
          description: "Valor total da Base de Cálculo do IBS e da CBS. (vBCIBSCBS)"
          format: "double"
        ibs:
          description: "Grupo total do IBS (gIBS)"
          $ref: "#/components/schemas/IBSTotalsResource"
        cbs:
          description: "Grupo total da CBS (gCBS)"
          $ref: "#/components/schemas/CBSTotalsResource"
        monophase:
          description: "Grupo de totais da tributação monofásica." # Grupo de totais da tributação monofásica
          $ref: "#/components/schemas/MonophaseTotalsResource"
        creditReversal:
          description: "Grupo total do Estorno de Crédito (gEstornoCred)"
          $ref: "#/components/schemas/CreditReversalTotalsResource"
      additionalProperties: false
    IBSTotalsResource:
      type: "object"
      nullable: true
      description: "Grupo total do IBS (gIBS)"
      properties:
        state:
          description: "Informações do IBS da UF."
          $ref: "#/components/schemas/IBSStateTotalsResource"
        municipal:
          description: "Informações do IBS do Município." # Informações do IBS do Município
          $ref: "#/components/schemas/IBSMunicipalTotalsResource"
        totalAmount:
          type: "number"
          nullable: true
          description: "Valor total do IBS (vIBS)"
          format: "double"
        presumedCreditAmount:
          type: "number"
          nullable: true
          description: "Valor total do crédito presumido (vCredPres)"
          format: "double"
        presumedCreditConditionalAmount:
          type: "number"
          nullable: true
          description: "Valor total do crédito presumido em condição suspensiva. (vCredPresCondSus)"
          format: "double"
      additionalProperties: false
    IBSStateTotalsResource:
      type: "object"
      nullable: true
      description: "Informações do IBS da UF (gIBSUF)"
      properties:
        defermentAmount:
          type: "number"
          nullable: true # Valor total do diferimento
          description: "Valor total do diferimento (vDif)"
          format: "double"
        returnedAmount:
          type: "number"
          nullable: true
          description: "Valor total de devolução de tributos (vDevTrib)"
          format: "double"
        amount:
          type: "number"
          nullable: true # Valor total do IBS da UF
          description: "Valor total do IBS da UF. (vIBSUF)"
          format: "double"
      additionalProperties: false
    IBSMunicipalTotalsResource:
      type: "object"
      nullable: true
      description: "Informações do IBS do Município (gIBSMun)"
      properties:
        defermentAmount:
          type: "number"
          nullable: true # Valor total do diferimento
          description: "Valor total do diferimento (vDif)"
          format: "double"
        returnedAmount:
          type: "number"
          nullable: true
          description: "Valor total de devolução de tributos (vDevTrib)"
          format: "double"
        amount:
          type: "number"
          nullable: true # Valor total do IBS do Município
          description: "Valor total do IBS do Município. (vIBSMun)"
          format: "double"
      additionalProperties: false
    CBSTotalsResource:
      type: "object"
      nullable: true
      description: "Grupo total da CBS (gCBS)"
      properties:
        defermentAmount:
          type: "number"
          nullable: true # Valor total do diferimento
          description: "Valor total do diferimento (vDif)"
          format: "double"
        returnedAmount:
          type: "number"
          nullable: true
          description: "Valor total de devolução de tributos (vDevTrib)"
          format: "double"
        amount:
          type: "number"
          nullable: true # Valor total da CBS
          description: "Valor total da CBS (vCBS)"
          format: "double"
        presumedCreditAmount:
          type: "number"
          nullable: true # Valor total do crédito presumido
          description: "Valor total do crédito presumido (vCredPres)"
          format: "double"
        presumedCreditConditionalAmount:
          type: "number"
          nullable: true
          description: "Valor total do crédito presumido em condição suspensiva. (vCredPresCondSus)"
          format: "double"
      additionalProperties: false
    MonophaseTotalsResource:
      type: "object"
      nullable: true
      description: "Grupo de totais da tributação monofásica."
      properties:
        ibs:
          description: "Totais do IBS monofásico"
          $ref: "#/components/schemas/MonophaseIBSTotalsResource" # Totais do IBS monofásico
        cbs:
          description: "Totais da CBS monofásica"
          $ref: "#/components/schemas/MonophaseCBSTotalsResource"
      additionalProperties: false
    RegularTaxationResource:
      type: "object"
      description: "Tributação regular hipotética caso condição resolutória/suspensiva não se aplique. Informar como a tributação seria aplicada se a condição resolutória/suspensiva não for atendida."
      properties:
        situationCode:
          type: "string"
          nullable: true # CST regular
          description: "CST regular (CSTReg), 3 dígitos. Use tabela CST do IBS/CBS"
        classCode:
          type: "string"
          nullable: true
          description: "Classificação tributária regular (cClassTribReg), 6 dígitos. Use tabela cClassTrib"
        stateEffectiveRate:
          type: "number"
          nullable: true # Alíquota efetiva IBS UF
          description: "Alíquota efetiva IBS UF (pAliqEfetRegIBSUF)."
          format: "double"
        amount:
          type: "number"
          nullable: true
          description: "IBS UF regular (vTribRegIBSUF)."
          format: "double"
        municipalEffectiveRate:
          type: "number"
          nullable: true # Alíquota efetiva IBS Município
          description: "Alíquota efetiva IBS Município (pAliqEfetRegIBSMun)."
          format: "double"
        municipalAmount:
          type: "number"
          nullable: true
          description: "IBS Município regular (vTribRegIBSMun)."
          format: "double"
        cbsEffectiveRate:
          type: "number"
          nullable: true # Alíquota efetiva CBS
          description: "Alíquota efetiva CBS (pAliqEfetRegCBS)."
          format: "double"
        cbsAmount:
          type: "number"
          nullable: true
          description: "CBS regular (vTribRegCBS)."
          format: "double"
      additionalProperties: false
    MonophaseIBSTotalsResource:
      type: "object"
      nullable: true
      description: "Totais do IBS monofásico"
      properties:
        amount:
          type: "number"
          nullable: true # Total do IBS monofásico
          description: "Total do IBS monofásico. (vIBSMono)"
          format: "double"
        withheldAmount:
          type: "number"
          nullable: true
          description: "Total do IBS monofásico sujeito a retenção. (vIBSMonoReten)"
          format: "double"
        previouslyWithheldAmount:
          type: "number"
          nullable: true # Total do IBS monofásico retido anteriormente
          description: "Total do IBS monofásico retido anteriormente. (vIBSMonoRet)"
          format: "double"
      additionalProperties: false
    MonophaseCBSTotalsResource:
      type: "object"
      nullable: true
      description: "Totais da CBS monofásica"
      properties:
        amount:
          type: "number"
          nullable: true # Total da CBS monofásica
          description: "Total da CBS monofásica. (vCBSMono)"
          format: "double"
        withheldAmount:
          type: "number"
          nullable: true
          description: "Total da CBS monofásica sujeita a retenção. (vCBSMonoReten)"
          format: "double"
        previouslyWithheldAmount:
          type: "number"
          nullable: true # Total da CBS monofásica retida anteriormente
          description: "Total da CBS monofásica retida anteriormente. (vCBSMonoRet)"
          format: "double"
      additionalProperties: false
    RequestCancellationResource:
      type: "object"
      properties:
        accountId:
          type: "string"
          nullable: true # Identificador da Conta
        companyId:
          type: "string"
          nullable: true
        productInvoiceId:
          type: "string"
          nullable: true
        reason:
          type: "string"
          nullable: true # Motivo do cancelamento
      additionalProperties: false
    ReturnedTaxResource:
      type: "object"
      description: "Grupo de Informações da Devolução de Tributos"
      properties:
        amount:
          type: "number"
          nullable: true # Valor do tributo devolvido
          description: "Valor do tributo devolvido (vDevTrib)"
          format: "double"
      additionalProperties: false
    ShippingModality:
      type: "string"
      enum:
        - "ByIssuer"
        - "ByReceiver"
        - "ByThirdParties"
        - "OwnBySender"
        - "OwnByBuyer"
        - "Free" # Transporte grátis
      default: "Free"
      description: |
        Modalidade do frete (modFrete).
        Valores possíveis:
        - `ByIssuer`: Contratação do Frete por conta do Remetente (CIF)
        - `ByReceiver`: Contratação do Frete por conta do Destinatário (FOB)
        - `ByThirdParties`: Contratação do Frete por conta de Terceiros
        - `OwnBySender`: Transporte Próprio por conta do Remetente
        - `OwnByBuyer`: Transporte Próprio por conta do Destinatário
        - `Free`: Sem Ocorrência de Transporte
    SpecialTaxRegime:
      type: "string"
      enum:
        - "Nenhum"
        - "MicroempresaMunicipal"
        - "Estimativa"
        - "SociedadeDeProfissionais"
        - "MicroempreendedorIndividual"
        - "MicroempresarioEmpresaPequenoPorte"
        - "Automatico"
      description: |
        Regime especial de tributação.
        Valores possíveis:
        - `Nenhum`: Nenhum
        - `MicroempresaMunicipal`: Microempresa Municipal
        - `Estimativa`: Estimativa
        - `SociedadeDeProfissionais`: Sociedade de Profissionais
        - `MicroempreendedorIndividual`: Microempreendedor Individual (MEI)
        - `MicroempresarioEmpresaPequenoPorte`: Microempresário e Empresa de Pequeno Porte (ME/EPP)
        - `Automatico`: Automático
    StateCode:
      type: "string"
      enum:
        - "NA"
        - "RO"
        - "AC"
        - "AM"
        - "RR"
        - "PA"
        - "AP"
        - "TO"
        - "MA"
        - "PI"
        - "CE"
        - "RN"
        - "PB"
        - "PE"
        - "AL"
        - "SE"
        - "BA"
        - "MG"
        - "ES"
        - "RJ"
        - "SP"
        - "PR"
        - "SC"
        - "RS"
        - "MS"
        - "MT"
        - "GO"
        - "DF"
        - "EX" # Exterior
    StateTaxProcessingAuthorizer:
      type: "string"
      enum:
        - "Normal"
        - "EPEC"
      description: |
        Autorizador de Processamento de Imposto Estadual.
        Valores possíveis:
        - `Normal`: Autorizador Normal
        - `EPEC`: Autorizador de Evento Prévio de Emissão em Contingência
    TaxCouponInformationResource:
      type: "object"
      properties:
        modelDocumentFiscal:
          type: "string"
          nullable: true
          description: "Modelo de Documento Fiscal (mod)"
        orderECF:
          type: "string"
          nullable: true # Número de Ordem Sequencial do ECF
          description: "Número de Ordem Sequencial do ECF (nECF)"
        orderCountOperation:
          type: "integer"
          nullable: true
          description: "Número do Contador de Ordem de Operação (nCOO)"
          format: "int32"
      additionalProperties: false
    TaxDeterminationResource:
      type: "object"
      description: "Grupo de informações fiscais para o cálculo automático de impostos. Se este grupo for preenchido, o grupo `tax.IBSCBS` será calculado automaticamente. Se não for preenchido, o cálculo automático do grupo `tax.IBSCBS` torna-se opcional."
      properties:
        operationCode:
          type: "integer"
          nullable: true # Código interno para determinação de natureza de operação
          description: "Código interno para determinação de natureza de operação"
          format: "int32"
        issuerTaxProfile:
          type: "string"
          nullable: true
          description: "Perfil fiscal do vendedor (origem) - usado para o cálculo automático de impostos"
        buyerTaxProfile:
          type: "string"
          nullable: true
          description: "Perfil fiscal do comprador (destino) - usado para o cálculo automático de impostos"
        origin:
          type: "string"
          nullable: true # Origem da mercadoria
          description: "Origem da mercadoria"
        acquisitionPurpose:
          type: "string"
          nullable: true
          description: "Finalidade de aquisição - usado para o \r\ncálculo automático de impostos"
      additionalProperties: false
    TaxDocumentsReferenceResource:
      type: "object"
      properties:
        taxCouponInformation:
          $ref: "#/components/schemas/TaxCouponInformationResource"
        documentInvoiceReference:
          $ref: "#/components/schemas/DocumentInvoiceReferenceResource"
        documentElectronicInvoice:
          $ref: "#/components/schemas/DocumentElectronicInvoiceResource"
      additionalProperties: false
    TaxRegime:
      type: "string"
      enum:
        - "None"
        - "LucroReal"
        - "LucroPresumido"
        - "SimplesNacional"
        - "SimplesNacionalExcessoSublimite"
        - "MicroempreendedorIndividual"
        - "Isento"
      description: |
        Código de Regime Tributário (CRT).
        Valores possíveis:
        - `None`: Não definido
        - `LucroReal`: Lucro Real
        - `LucroPresumido`: Lucro Presumido
        - `SimplesNacional`: Simples Nacional
        - `SimplesNacionalExcessoSublimite`: Simples Nacional – excesso de sublimite de receita bruta
        - `MicroempreendedorIndividual`: Microempreendedor Individual - MEI
        - `Isento`: Isento
    TaxpayerCommentsResource:
      type: "object"
      properties:
        field:
          type: "string"
          nullable: true
          description: "Campo (xCampo)"
        text:
          type: "string"
          nullable: true
          description: "Texto (xTexto)"
      additionalProperties: false
    Total:
      type: "object"
      properties:
        icms:
          $ref: "#/components/schemas/ICMSTotal"
        issqn: # Grupo de Valores Totais referentes ao ISSQN
          $ref: "#/components/schemas/ISSQNTotal"
        withheldTaxes:
          description: "Grupo Retenções de Tributos (retTrib)"
          $ref: "#/components/schemas/TotalsWithholdings"
        isTotals:
          description: "Grupo de totais do Imposto Seletivo. (ISTot)"
          $ref: "#/components/schemas/ISTotalsResource"
        ibsCbsTotals:
          description: "Totais da NF-e com IBS e CBS. (IBSCBSTot)"
          $ref: "#/components/schemas/IBSCBSTotalsResource" # Totais da NF-e com IBS e CBS
        totalInvoiceAmount:
          type: "number"
          nullable: true
          description: "Valor total da NF-e com IBS / CBS / IS (vNFTot)"
          format: "double"
      additionalProperties: false
    TotalResource:
      type: "object"
      properties:
        icms:
          $ref: "#/components/schemas/ICMSTotalResource"
        issqn:
          $ref: "#/components/schemas/ISSQNTotalResource"
      additionalProperties: false
    TransportGroupResource:
      type: "object"
      properties:
        accountId:
          type: "string"
          nullable: true # Identificador da Conta
          description: "Identificador da Conta"
        id:
          type: "string"
          nullable: true
          description: "Identificação"
        name:
          type: "string"
          nullable: true
          description: "Nome ou Razão Social (xNome)"
        federalTaxNumber:
          type: "integer"
          nullable: true # CNPJ ou CPF
          description: "CNPJ ou CPF"
          format: "int64"
        email:
          type: "string"
          nullable: true
          description: "Email"
        address:
          $ref: "#/components/schemas/AddressResource"
        type:
          $ref: "#/components/schemas/PersonType"
        stateTaxNumber:
          type: "string" # Inscrição Estadual do Transportador
          nullable: true
          description: "Inscrição Estadual do Transportador (IE)"
        transportRetention:
          type: "string"
          nullable: true
          description: "Grupo de Retenção do ICMS do transporte"
      additionalProperties: false
      description: "Grupo Transportador"
    TransportInformationResource:
      type: "object"
      properties:
        freightModality:
          $ref: "#/components/schemas/ShippingModality"
        transportGroup:
          $ref: "#/components/schemas/TransportGroupResource"
        reboque:
          $ref: "#/components/schemas/ReboqueResource"
        volume:
          $ref: "#/components/schemas/VolumeResource" # Volumes
        transportVehicle:
          $ref: "#/components/schemas/TransportVehicleResource"
        sealNumber:
          type: "string"
          nullable: true
          description: "Número dos Lacres"
        transpRate:
          $ref: "#/components/schemas/TransportRateResource"
      additionalProperties: false
      description: "Grupo de Informações do Transporte da NF-e\r\nId: X01 Pai: A1"
    TransportRateResource:
      type: "object"
      properties:
        serviceAmount:
          type: "number"
          nullable: true # Valor do Serviço
          description: "Valor do Serviço (vServ)"
          format: "double"
        bcRetentionAmount:
          type: "number"
          nullable: true
          description: "BC da Retenção do ICMS (vBCRet)"
          format: "double"
        icmsRetentionRate:
          type: "number"
          nullable: true # Alíquota da Retenção
          description: "Alíquota da Retenção (pICMSRet) //Change to Rate"
          format: "double"
        icmsRetentionAmount:
          type: "number"
          nullable: true
          description: "Valor do ICMS Retido (vICMSRet)"
          format: "double"
        cfop:
          type: "integer"
          nullable: true # CFOP de Serviço de Transporte
          description: "CFOP de Serviço de Transporte (CFOP)"
          format: "int64"
        cityGeneratorFactCode:
          type: "integer"
          nullable: true
          description: "Código do Municipio de ocorrencia do fato gerador do ICMS do Transporte (cMunFG)"
          format: "int64"
      additionalProperties: false
    TransportVehicleResource:
      type: "object"
      properties:
        plate:
          type: "string"
          nullable: true # Placa do Veiculo
          description: "Placa do Veiculo (placa)"
        state:
          type: "string"
          nullable: true
          description: "Sigla da UF (UF)"
        rntc:
          type: "string"
          nullable: true
          description: "Registro Nacional de Transportador de Carga (ANTT) (RNTC)"
      additionalProperties: false
      description: "Grupo Veiculo"
    UsedMovableAssetIndicator: # Indica fornecimento de bem móvel usado
      type: "boolean"
      nullable: false
      description: "Indica fornecimento de bem móvel usado (indBemMovelUsado). true = bem usado; false = bem novo."
    VolumeResource:
      type: "object"
      properties:
        volumeQuantity:
          type: "integer"
          nullable: true # Quantidade de volumes transportados
          description: "Quantidade de volumes transportados (qVol)"
          format: "int32"
        species:
          type: "string"
          nullable: true
          description: "Espécie dos volumes transportados (esp)"
        brand:
          type: "string"
          nullable: true
          description: "Marca dos Volumes Transportados (marca)"
        volumeNumeration:
          type: "string"
          nullable: true # Numeração dos Volumes Transportados
          description: "Numeração dos Volumes Transportados (nVol)"
        netWeight:
          type: "number"
          nullable: true
          description: "Peso Liquido(em Kg) (pesoL)"
          format: "double"
        grossWeight:
          type: "number"
          nullable: true
          description: "Peso Bruto(em Kg) (pesoB)"
          format: "double"
      additionalProperties: false
      description: "Volumes\r\nId:X26"
    WithdrawalInformationResource:
      type: "object"
      properties:
        accountId:
          type: "string"
          nullable: true # Identificador da Conta
          description: "Identificador da Conta"
        id:
          type: "string"
          nullable: true
          description: "Identificação"
        name:
          type: "string"
          nullable: true # Nome ou Razão Social
          description: "Nome ou Razão Social (xNome)"
        federalTaxNumber:
          type: "integer"
          nullable: true # CNPJ ou CPF
          description: "CNPJ ou CPF"
          format: "int64"
        email:
          type: "string"
          nullable: true
          description: "Email"
        address:
          $ref: "#/components/schemas/AddressResource"
        type:
          $ref: "#/components/schemas/PersonType"
        stateTaxNumber:
          type: "string" # Inscrição Estadual
          nullable: true
          description: "Inscrição Estadual (IE)"
      additionalProperties: false
      description: "Identificação do Local de retirada (retirada)"
    TotalsWithholdings:
      type: "object"
      nullable: true
      description: "Grupo Retenções de Tributos (retTrib)"
      properties:
        pisAmount:
          type: "number"
          nullable: true # Valor Retido de PIS
          description: "Valor Retido de PIS (vRetPIS)"
          format: "double"
          maximum: 9999999999999.99
          minimum: 0
        cofinsAmount:
          type: "number"
          nullable: true
          description: "Valor Retido de COFINS (vRetCOFINS)"
          format: "double"
          maximum: 9999999999999.99
          minimum: 0
        csllAmount: # Valor Retido de CSLL
          type: "number"
          nullable: true
          description: "Valor Retido de CSLL (vRetCSLL)"
          format: "double"
          maximum: 9999999999999.99
          minimum: 0
        irrfBasis:
          type: "number"
          nullable: true
          description: "Base de Cálculo do IRRF (vBCIRRF)"
          format: "double"
          maximum: 9999999999999.99
          minimum: 0
        irrfAmount: # Valor Retido do IRRF
          type: "number"
          nullable: true
          description: "Valor Retido do IRRF (vIRRF)"
          format: "double"
          maximum: 9999999999999.99
          minimum: 0
        socialSecutiryBasis:
          type: "number"
          nullable: true
          description: "Base de Cálculo da Retenção da Previdência Social (vBCRetPrev)"
          format: "double"
          maximum: 9999999999999.99
          minimum: 0
        socialSecutiryAmount: # Valor da Retenção da Previdência Social
          type: "number"
          nullable: true
          description: "Valor da Retenção da Previdência Social (vRetPrev)"
          format: "double"
          maximum: 9999999999999.99
          minimum: 0
      additionalProperties: false
    ZfmPresumedCreditResource:
      type: "object"
      description: "Informações sobre o crédito presumido de IBS para fornecimentos da ZFM (gCredPresIBSZFM)."
      properties:
        classificationCode:
          description: "Tipo de crédito presumido (tpCredPresIBSZFM)."
          $ref: "#/components/schemas/IbsZfmPresumedCreditClassification" # Tipo de crédito presumido
        amount:
          type: "number"
          nullable: true
          description: "Valor do crédito presumido ZFM (vCredPresIBSZFM). Obrigatório para notas de crédito com tpNFCredito = 02."
          format: "double"
      additionalProperties: false
