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"
                      vehicleDetail:
                        operationType: 1 # 1-Venda concessionária
                        chassis: "9BWZZZ377VT004251"
                        colorCode: "001"
                        colorDescription: "PRETO"
                        enginePower: "150"
                        engineDisplacement: "1998"
                        netWeight: "1250.000"
                        grossWeight: "1500.000"
                        serialNumber: "123456789"
                        fuelType: "16" # 16-Álcool/Gasolina
                        engineNumber: "MOTOR123456789"
                        maximumTractionCapacity: "0.0000"
                        wheelBase: "2649"
                        modelYear: 2026
                        manufactureYear: 2025
                        paintType: "S" # Sólida
                        vehicleType: "06" # Automóvel
                        vehicleSpecies: 1 # Passageiro
                        vinCondition: "N" # N-Normal
                        vehicleCondition: 1 # 1-Acabado
                        brandModelCode: "025104"
                        denatranColorCode: "11" # 11-PRETA
                        seatingCapacity: 5
                        restrictionType: 0 # 0-Não há
                      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"
          minItems: 1
          items:
            $ref: "#/components/schemas/InvoiceItemResource"
          description: "Detalhamento de Produtos e Serviços (det). Pelo menos um item é obrigatório."
        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)."
        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
      properties:
        state:
          type: "string" # Estado
          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"
          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"
          description: "Logradouro do Endereço (xLgr)"
        number: # Número do Endereço
          type: "string"
          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" # País
          nullable: true
          description: "País, ex.: BRA, ARG, USA, padrão ISO 3166-1 ALFA-3. (xPais). Opcional — se omitido, assume BRA."
          default: "BRA"
        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)."
    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
        - address
      properties:
        accountId:
          type: "string"
          nullable: true
          description: "Identificador da Conta"
        id:
          type: "string"
          nullable: true
          description: "Identificação"
        name:
          type: "string"
          description: "Nome ou Razão Social (xNome)"
        federalTaxNumber:
          type: "integer" # 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 — opcional pelo leiaute SEFAZ
          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
          description: "Cód. do Município, segundo o Tabela de Municípios do IBGE (cMun)"
        name:
          type: "string"
          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
          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).
            Valores possíveis:
            - `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).
            Valores possíveis:
            - `R`: Remarcado (chassi regravado pelo DETRAN)
            - `N`: Normal (chassi original de fábrica)
          enum: ["R", "N"]
        vehicleCondition:
          type: "integer"
          nullable: true
          description: |
            Condição do veículo (condVeic).
            Valores possíveis:
            - `1`: Acabado (veículo pronto para uso)
            - `2`: Inacabado (veículo sem algum componente essencial)
            - `3`: Semi-acabado (veículo parcialmente montado, ex: chassis-cabina)
          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: |
            Tipo de restrição sobre o veículo (tpRest).
            Valores possíveis:
            - `0`: Não há restrição (veículo livre para venda e transferência)
            - `1`: Alienação Fiduciária (veículo dado como garantia em financiamento)
            - `2`: Arrendamento Mercantil (veículo em contrato de leasing)
            - `3`: Reserva de Domínio (vendedor mantém a propriedade até quitação total)
            - `4`: Penhor de Veículos (veículo dado como garantia em empréstimo)
            - `9`: Outras restrições
          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 de `situationCode` (CST) 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). Quando houver crédito presumido com o indicador \"IndDeduzCredPres=1\", o valor de vCredPres deve ser deduzido deste total."
          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). Informe quando o item estiver sujeito ao IS."
      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"
      description: |
        Grupo do ICMS da Operação própria e ST (ICMS).
        **Regra de obrigatoriedade**: deve-se informar **exatamente um** entre `cst` (Regime Normal) ou `csosn` (Simples Nacional). A SEFAZ não aceita ambos preenchidos ou nenhum dos dois.
      required:
        - origin
      properties:
        origin:
          type: "string"
          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) — obrigatório quando o emitente é do Regime Normal. Mutuamente exclusivo com `csosn`."
        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
    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).
        Valores possíveis:
        - `Integrated`: 1 - Pagamento integrado com o sistema de automação da empresa (ex: equipamento TEF, Comércio Eletrônico)
        - `NotIntegrated`: 2 - 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
        - tax
      properties:
        code:
          type: "string"
          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"
          description: "Descrição do produto ou serviço (xProd)"
        ncm:
          type: "string"
          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"
          description: "Unidade Comercial (uCom)"
        quantity:
          type: "number"
          description: "Quantidade Comercial (qCom)"
          format: "double"
        unitAmount:
          type: "number"
          description: "Valor Unitário de Comercialização (vUnCom)"
          format: "double"
        totalAmount:
          type: "number"
          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"
          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)"
        vehicleDetail:
          description: |
            Detalhamento de Veículos novos (veicProd). Preencher exclusivamente quando o item da nota fiscal é um veículo 0 km.
            **Mutuamente exclusivo** com `fuelDetail` e `medicineDetail` — cada item da nota pode conter no máximo um grupo de produto específico.
          $ref: "#/components/schemas/VehicleDetailResource"
        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:
        - icms
      properties:
        totalTax:
          type: "number"
          nullable: true # Valor aproximado total de tributos federais, estaduais e municipais — opcional (calculado automaticamente quando não informado)
          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: |
        Código da Natureza Jurídica da empresa (natJuridica), conforme tabela do IBGE.
        Valores possíveis:
        - `EmpresaPublica`: Empresa Pública
        - `SociedadeEconomiaMista`: Sociedade de Economia Mista
        - `SociedadeAnonimaAberta`: Sociedade Anônima Aberta
        - `SociedadeAnonimaFechada`: Sociedade Anônima Fechada
        - `SociedadeEmpresariaLimitada`: Sociedade Empresária Limitada (LTDA)
        - `SociedadeEmpresariaEmNomeColetivo`: Sociedade Empresária em Nome Coletivo
        - `SociedadeEmpresariaEmComanditaSimples`: Sociedade Empresária em Comandita Simples
        - `SociedadeEmpresariaEmComanditaporAcoes`: Sociedade Empresária em Comandita por Ações
        - `SociedadeemContaParticipacao`: Sociedade em Conta de Participação
        - `Empresario`: Empresário Individual
        - `Cooperativa`: Cooperativa
        - `ConsorcioSociedades`: Consórcio de Sociedades
        - `GrupoSociedades`: Grupo de Sociedades
        - `EmpresaDomiciliadaExterior`: Empresa Domiciliada no Exterior
        - `ClubeFundoInvestimento`: Clube/Fundo de Investimento
        - `SociedadeSimplesPura`: Sociedade Simples Pura
        - `SociedadeSimplesLimitada`: Sociedade Simples Limitada
        - `SociedadeSimplesEmNomeColetivo`: Sociedade Simples em Nome Coletivo
        - `SociedadeSimplesEmComanditaSimples`: Sociedade Simples em Comandita Simples
        - `EmpresaBinacional`: Empresa Binacional
        - `ConsorcioEmpregadores`: Consórcio de Empregadores
        - `ConsorcioSimples`: Consórcio Simples
        - `EireliNaturezaEmpresaria`: EIRELI de Natureza Empresária
        - `EireliNaturezaSimples`: EIRELI de Natureza Simples
        - `ServicoNotarial`: Serviço Notarial e Registral (Cartórios)
        - `FundacaoPrivada`: Fundação Privada
        - `ServicoSocialAutonomo`: Serviço Social Autônomo
        - `CondominioEdilicio`: Condomínio Edilício
        - `ComissaoConciliacaoPrevia`: Comissão de Conciliação Prévia
        - `EntidadeMediacaoArbitragem`: Entidade de Mediação e Arbitragem
        - `PartidoPolitico`: Partido Político
        - `EntidadeSindical`: Entidade Sindical
        - `EstabelecimentoBrasilFundacaoAssociacaoEstrangeiras`: Estabelecimento no Brasil de Fundação ou Associação Estrangeiras
        - `FundacaoAssociacaoDomiciliadaExterior`: Fundação ou Associação Domiciliada no Exterior
        - `OrganizacaoReligiosa`: Organização Religiosa
        - `ComunidadeIndigena`: Comunidade Indígena
        - `FundoPrivado`: Fundo Privado
        - `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
