Esquemas e layouts de exportação

Veja os campos que o ScanToExcel extrai e como aparecem nos ficheiros. Um campo suportado não garante que exista no documento ou que a extração o preencha.

Em todos os planos, os modelos de exportação usam cabeçalhos e nomes de campos em inglês. O texto extraído e os cabeçalhos das tabelas de origem geralmente permanecem no idioma do documento. Alterar o idioma do site não traduz os arquivos baixados. As chaves JSON, os rótulos predefinidos das planilhas e os cabeçalhos dos modelos contábeis permanecem fixos. Datas, números, códigos de moeda e algumas categorias podem ser padronizados; confira o resultado.

Escolha a saída

JSON
JSON mantém dados aninhados, incluindo listas de itens e transações. O ficheiro contém o objeto do documento, sem metadados de quota ou transferência. A opção plana não altera JSON.
Plano
Os exports planos usam uma grelha retangular de linhas e colunas uniformes. Cada linha representa um item ou transação, repetindo dados do documento quando necessário. Cada tabela tem uma estrutura fixa de colunas. Excel pode conter várias folhas; CSV contém uma grelha.
Não plano
Os exports Excel e CSV não planos colocam tabelas separadas lado a lado, cada uma com função e colunas próprias: dados do documento, itens, impostos, totais ou avisos. Não formam uma tabela uniforme única. Word empilha estas tabelas verticalmente. Recibos de vencimento e imagens de tabelas usam layouts próprios.
Saídas disponíveis
DocumentoJSONLayoutXero CSVQuickBooks CSV
ReciboSimPlano / Não planoSimNão
Fatura/ContaSimPlano / Não planoSimNão
Extrato BancárioSimPlano / Não planoSimSim
Extrato de Cartão de CréditoSimPlano / Não planoSimSim
Recibo de VencimentoSimLayout próprioNãoNão
Imagem de TabelaSimLayout próprioNãoNão

Os CSV contabilísticos são opções Premium com modelos próprios. Produzem ficheiros, não uma ligação direta ao Xero ou QuickBooks. Reveja campos e associações contabilísticas antes de importar. Preços

Recibo

Comerciante, data, moeda, número, quantidades, preços, impostos, pagamento e totais. As taxas são frações: 0.20 significa 20%.

Campos JSON

Os tipos descrevem JSON serializado. Objetos e arrays precedem os seus campos; [] indica entradas repetidas. Campos predefinidos não têm de ser fornecidos pela extração. Os decimais são serializados como cadeias de texto. Os ficheiros mantêm os campos predefinidos; um valor não extraído não equivale a uma chave JSON omitida.

Documento
Caminho do campoTipo JSONPresença
vendorstring | nullCom valor predefinido
datestring | nullCom valor predefinido
currencystring | nullCom valor predefinido
document_numberstring | nullCom valor predefinido
subtotalstring | nullCom valor predefinido
taxstring | nullCom valor predefinido
tax_inclusiveboolean | nullCom valor predefinido
tipstring | nullCom valor predefinido
payment_methodstring | nullCom valor predefinido
totalstring | nullCom valor predefinido
line_items
Caminho do campoTipo JSONPresença
line_itemsarray<object>Com valor predefinido
line_items[].descriptionstring | nullCom valor predefinido
line_items[].quantitystring | nullCom valor predefinido
line_items[].unit_pricestring | nullCom valor predefinido
line_items[].totalstring | nullCom valor predefinido
taxes
Caminho do campoTipo JSONPresença
taxesarray<object>Com valor predefinido
taxes[].namestring | nullCom valor predefinido
taxes[].ratestring | nullCom valor predefinido
taxes[].basestring | nullCom valor predefinido
taxes[].amountstring | nullCom valor predefinido
reconciliation_warnings
Caminho do campoTipo JSONPresença
reconciliation_warningsarray<string>Com valor predefinido

Plano

O layout plano inclui itens e um resumo separado em Excel. CSV contém apenas itens. Ajustes de impostos e gorjetas podem adicionar linhas: line_total vem de tax, taxes[].amount ou tip; description é gerada e quantity, unit_price e line_no ficam vazios.

Lines (Excel / CSV)
Campo de saídaOrigem JSON ou regra de exportação
doc_iddoc_id
source_filenamesource_filename
vendorvendor
datedate
currencycurrency
document_numberdocument_number
line_noindex(line_items[]) + 1
descriptionline_items[].description
quantityline_items[].quantity
unit_priceline_items[].unit_price
line_totalline_items[].total
row_typeline | adjustment
Documents (Excel)
Campo de saídaOrigem JSON ou regra de exportação
doc_iddoc_id
source_filenamesource_filename
vendorvendor
datedate
currencycurrency
document_numberdocument_number
subtotalsubtotal
taxtax
tax_inclusivetax_inclusive
tiptip
payment_methodpayment_method
totaltotal
tax_breakdownjoin(taxes[].name, taxes[].rate, taxes[].amount)
warningsjoin(reconciliation_warnings[])

Não plano

O layout não plano coloca estas tabelas lado a lado. Dados e totais usam linhas campo/valor; itens e impostos usam colunas. Os avisos aparecem quando existem. unit_price não está na tabela não plana de itens.

Itens
Campo de saídaOrigem JSON ou regra de exportação
#index(line_items[]) + 1
Descriptionline_items[].description
Qtyline_items[].quantity
Line totalline_items[].total
Dados do documento
Campo de saídaOrigem JSON ou regra de exportação
Doc IDdoc_id
Sourcesource_filename
Vendorvendor
Datedate
Currencycurrency
Document #document_number
Payment methodpayment_method
Impostos
Campo de saídaOrigem JSON ou regra de exportação
Nametaxes[].name
Ratetaxes[].rate
Basetaxes[].base
Amounttaxes[].amount
Totais
Campo de saídaOrigem JSON ou regra de exportação
Subtotalsubtotal
Taxtax
Tax inclusivetax_inclusive
Tiptip
Totaltotal
Avisos
Campo de saídaOrigem JSON ou regra de exportação
#index(reconciliation_warnings[]) + 1
Warningreconciliation_warnings[]

Xero CSV

Uma linha resumida por recibo. Campos sem origem ficam vazios, incluindo AccountCode e TaxType. Complete as associações necessárias antes de importar.

Xero CSV
Campo de saídaOrigem JSON ou regra de exportação
*ContactNamevendor || "Unknown vendor"
EmailAddressVazio
POAddressLine1Vazio
POAddressLine2Vazio
POAddressLine3Vazio
POAddressLine4Vazio
POCityVazio
PORegionVazio
POPostalCodeVazio
POCountryVazio
*InvoiceNumberdocument_number || "RCP-" + doc_id
Reference"Receipt"
*InvoiceDatedate → DD/MM/YYYY
*DueDatedate → DD/MM/YYYY
TotalVazio
InventoryItemCodeVazio
*Descriptionjoin(line_items[].description) || vendor || "Receipt"; tip → "(incl. tip)"
*Quantity1
*UnitAmountsubtotal / total / tax / tax_inclusive / tip
DiscountVazio
*AccountCodeVazio
*TaxTypeVazio
TaxAmounttax (0 → blank)
TrackingName1Vazio
TrackingOption1Vazio
TrackingName2Vazio
TrackingOption2Vazio
Currencycurrency
BrandingThemeVazio

UnitAmount usa total, ou subtotal como alternativa, se tax_inclusive for true. Caso contrário usa subtotal ou total menos tax se faltar subtotal. Montantes ausentes podem passar a zero. Depois adiciona tip. Reveja impostos e gorjetas antes de importar.

QuickBooks CSV

Não

Fatura/Conta

Datas e referências, remetente e destinatário, itens, impostos, descontos, retenções e totais. unit é a unidade impressa; tax_rate é uma fração.

Campos JSON

Os tipos descrevem JSON serializado. Objetos e arrays precedem os seus campos; [] indica entradas repetidas. Campos predefinidos não têm de ser fornecidos pela extração. Os decimais são serializados como cadeias de texto. Os ficheiros mantêm os campos predefinidos; um valor não extraído não equivale a uma chave JSON omitida.

Documento
Caminho do campoTipo JSONPresença
invoice_numberstring | nullCom valor predefinido
issue_datestring | nullCom valor predefinido
due_datestring | nullCom valor predefinido
currencystring | nullCom valor predefinido
payment_termsstring | nullCom valor predefinido
purchase_orderstring | nullCom valor predefinido
notesstring | nullCom valor predefinido
subtotalstring | nullCom valor predefinido
discountstring | nullCom valor predefinido
taxstring | nullCom valor predefinido
tax_inclusiveboolean | nullCom valor predefinido
withholdingsstring | nullCom valor predefinido
totalstring | nullCom valor predefinido
sender
Caminho do campoTipo JSONPresença
senderobject | nullCom valor predefinido
sender.namestring | nullCom valor predefinido
sender.addressobject | nullCom valor predefinido
sender.address.line1string | nullCom valor predefinido
sender.address.line2string | nullCom valor predefinido
sender.address.citystring | nullCom valor predefinido
sender.address.regionstring | nullCom valor predefinido
sender.address.postal_codestring | nullCom valor predefinido
sender.address.countrystring | nullCom valor predefinido
sender.address.rawstring | nullCom valor predefinido
sender.tax_idstring | nullCom valor predefinido
sender.emailstring | nullCom valor predefinido
receiver
Caminho do campoTipo JSONPresença
receiverobject | nullCom valor predefinido
receiver.namestring | nullCom valor predefinido
receiver.addressobject | nullCom valor predefinido
receiver.address.line1string | nullCom valor predefinido
receiver.address.line2string | nullCom valor predefinido
receiver.address.citystring | nullCom valor predefinido
receiver.address.regionstring | nullCom valor predefinido
receiver.address.postal_codestring | nullCom valor predefinido
receiver.address.countrystring | nullCom valor predefinido
receiver.address.rawstring | nullCom valor predefinido
receiver.tax_idstring | nullCom valor predefinido
receiver.emailstring | nullCom valor predefinido
line_items
Caminho do campoTipo JSONPresença
line_itemsarray<object>Com valor predefinido
line_items[].descriptionstring | nullCom valor predefinido
line_items[].quantitystring | nullCom valor predefinido
line_items[].unitstring | nullCom valor predefinido
line_items[].unit_pricestring | nullCom valor predefinido
line_items[].totalstring | nullCom valor predefinido
line_items[].tax_ratestring | nullCom valor predefinido
line_items[].tax_amountstring | nullCom valor predefinido
taxes
Caminho do campoTipo JSONPresença
taxesarray<object>Com valor predefinido
taxes[].namestring | nullCom valor predefinido
taxes[].ratestring | nullCom valor predefinido
taxes[].basestring | nullCom valor predefinido
taxes[].amountstring | nullCom valor predefinido
reconciliation_warnings
Caminho do campoTipo JSONPresença
reconciliation_warningsarray<string>Com valor predefinido

As tabelas associam campos de saída a caminhos JSON. || indica o primeiro valor não vazio; ?? um valor alternativo para null. Numeração, descrições combinadas e formatação são regras de exportação. Valores em falta tornam-se geralmente células vazias.

O layout plano contém itens com dados repetidos da fatura. O não plano agrupa dados, partes, itens, impostos, totais e avisos; Word dispõe as secções verticalmente.

Plano

Lines contém uma linha por item com dados da fatura repetidos. As linhas de ajuste usam −discount, taxes[].amount (ou tax) quando tax_inclusive não é true, e −withholdings. As descrições são geradas; line_no, quantity, unit e unit_price ficam vazios. Uma fatura sem itens também produz uma linha de documento.

Lines (Excel / CSV / Word)
Campo de saídaOrigem JSON ou regra de exportação
doc_iddoc_id
source_filenamesource_filename
invoice_numberinvoice_number
issue_dateissue_date
due_datedue_date
currencycurrency
sendersender.name
receiverreceiver.name
line_noindex(line_items[]) + 1
descriptionline_items[].description
quantityline_items[].quantity
unitline_items[].unit
unit_priceline_items[].unit_price
line_totalline_items[].total
tax_rateline_items[].tax_rate
tax_amountline_items[].tax_amount
row_typeline | adjustment

Não plano

Estas tabelas ficam lado a lado no Excel e CSV; o Word empilha-as. A tabela de itens do Excel omite atualmente Line total. CSV e Word incluem-no. Os dados do documento e totais usam linhas campo/valor. Os avisos aparecem apenas quando existem.

Itens
Campo de saídaOrigem JSON ou regra de exportação
#index(line_items[]) + 1
Descriptionline_items[].description
Qtyline_items[].quantity
Unitline_items[].unit
Unit priceline_items[].unit_price
Tax rateline_items[].tax_rate
Tax amountline_items[].tax_amount
Line totalline_items[].total
Dados do documento
Campo de saídaOrigem JSON ou regra de exportação
Doc IDdoc_id
Sourcesource_filename
Invoice #invoice_number
Issue dateissue_date
Due datedue_date
Currencycurrency
Payment termspayment_terms
PO #purchase_order
Sendersender.name
Sender tax IDsender.tax_id
Sender addresssender.address.raw || join(sender.address.line1, line2, city, region, postal_code, country)
Receiverreceiver.name
Receiver tax IDreceiver.tax_id
Receiver addressreceiver.address.raw || join(receiver.address.line1, line2, city, region, postal_code, country)
Impostos
Campo de saídaOrigem JSON ou regra de exportação
Nametaxes[].name
Ratetaxes[].rate
Basetaxes[].base
Amounttaxes[].amount
Totais
Campo de saídaOrigem JSON ou regra de exportação
Subtotalsubtotal
Discountdiscount
Taxtax
Tax inclusivetax_inclusive
Withholdingswithholdings
Totaltotal
Avisos
Campo de saídaOrigem JSON ou regra de exportação
#index(reconciliation_warnings[]) + 1
Warningreconciliation_warnings[]

Xero CSV

Uma linha por item com dados do destinatário repetidos. Sem itens, uma linha alternativa usa notes (ou “Invoice”) como Description, 1 como Quantity, total (ou subtotal) como UnitAmount e tax como TaxAmount. TaxAmount igual a zero fica vazio. As colunas sem correspondência ficam vazias; não são adicionados ajustes separados de descontos ou retenções.

Xero CSV
Campo de saídaOrigem JSON ou regra de exportação
*ContactNamereceiver.name || "Unknown customer"
EmailAddressreceiver.email
POAddressLine1receiver.address.line1
POAddressLine2receiver.address.line2
POAddressLine3Vazio
POAddressLine4Vazio
POCityreceiver.address.city
PORegionreceiver.address.region
POPostalCodereceiver.address.postal_code
POCountryreceiver.address.country
*InvoiceNumberinvoice_number || "INV-" + doc_id
Referencepurchase_order
*InvoiceDateissue_date → DD/MM/YYYY
*DueDate(due_date || issue_date) → DD/MM/YYYY
TotalVazio
InventoryItemCodeVazio
*Descriptionline_items[].description
*Quantityline_items[].quantity ?? 1
*UnitAmountline_items[].unit_price ?? (line_items[].total / (line_items[].quantity || 1))
DiscountVazio
*AccountCodeVazio
*TaxTypeVazio
TaxAmountline_items[].tax_amount (0 → "")
TrackingName1Vazio
TrackingOption1Vazio
TrackingName2Vazio
TrackingOption2Vazio
Currencycurrency
BrandingThemeVazio

QuickBooks CSV

Não

Extrato Bancário

Emissor, período e contas com identificação, saldos, totais e transações. trnamt é negativo para saídas e positivo para entradas. dtposted é a data contabilística; dtuser a data-valor.

Campos JSON

Os tipos descrevem JSON serializado. Objetos e arrays precedem os seus campos; [] indica entradas repetidas. Campos predefinidos não têm de ser fornecidos pela extração. Os decimais são serializados como cadeias de texto. Os ficheiros mantêm os campos predefinidos; um valor não extraído não equivale a uma chave JSON omitida.

issuer
Caminho do campoTipo JSONPresença
issuerobjectCom valor predefinido
issuer.namestring | nullCom valor predefinido
statement
Caminho do campoTipo JSONPresença
statementobjectCom valor predefinido
statement.statement_datestring | nullCom valor predefinido
statement.period_startstring | nullCom valor predefinido
statement.period_endstring | nullCom valor predefinido
statement.currency_defaultstring | nullCom valor predefinido
statement.page_countinteger | nullCom valor predefinido
accounts
Caminho do campoTipo JSONPresença
accountsarray<object>Com valor predefinido
accounts[].holderobjectCom valor predefinido
accounts[].holder.namestring | nullCom valor predefinido
accounts[].accountobjectCom valor predefinido
accounts[].account.account_numberstring | nullCom valor predefinido
accounts[].account.account_number_maskedstring | nullCom valor predefinido
accounts[].account.ibanstring | nullCom valor predefinido
accounts[].account.bicstring | nullCom valor predefinido
accounts[].account.sort_codestring | nullCom valor predefinido
accounts[].account.account_typestring | nullCom valor predefinido
accounts[].account.account_namestring | nullCom valor predefinido
accounts[].account.currencystring | nullCom valor predefinido
accounts[].account.card_last4string | nullCom valor predefinido
accounts[].balancesobjectCom valor predefinido
accounts[].balances.openingobjectCom valor predefinido
accounts[].balances.opening.amountstring | nullCom valor predefinido
accounts[].balances.opening.as_ofstring | nullCom valor predefinido
accounts[].balances.closingobjectCom valor predefinido
accounts[].balances.closing.amountstring | nullCom valor predefinido
accounts[].balances.closing.as_ofstring | nullCom valor predefinido
accounts[].balances.availablestring | nullCom valor predefinido
accounts[].totalsobjectCom valor predefinido
accounts[].totals.credits_countinteger | nullCom valor predefinido
accounts[].totals.credits_amountstring | nullCom valor predefinido
accounts[].totals.debits_countinteger | nullCom valor predefinido
accounts[].totals.debits_amountstring | nullCom valor predefinido
accounts[].totals.fees_chargedstring | nullCom valor predefinido
accounts[].totals.interest_paidstring | nullCom valor predefinido
accounts[].totals.interest_chargedstring | nullCom valor predefinido
accounts[].transactionsarray<object>Com valor predefinido
accounts[].transactions[].trntypestring | nullCom valor predefinido
accounts[].transactions[].dtpostedstring | nullCom valor predefinido
accounts[].transactions[].dtuserstring | nullCom valor predefinido
accounts[].transactions[].trnamtstring | nullCom valor predefinido
accounts[].transactions[].namestring | nullCom valor predefinido
accounts[].transactions[].memostring | nullCom valor predefinido
accounts[].transactions[].running_balancestring | nullCom valor predefinido
accounts[].transactions[].fitidstring | nullCom valor predefinido
accounts[].transactions[].refnumstring | nullCom valor predefinido
accounts[].transactions[].checknumstring | nullCom valor predefinido
accounts[].transactions[].card_last4string | nullCom valor predefinido
accounts[].transactions[].feestring | nullCom valor predefinido
reconciliation_warnings
Caminho do campoTipo JSONPresença
reconciliation_warningsarray<string>Com valor predefinido

As tabelas associam campos de saída a caminhos JSON. || indica o primeiro valor não vazio; ?? um valor alternativo para null. Numeração, descrições combinadas e formatação são regras de exportação. Valores em falta tornam-se geralmente células vazias.

O layout plano contém transações com dados repetidos do extrato e da conta. O não plano agrupa dados do extrato e transações, saldos e totais por conta. As secções dependem do documento.

Plano

Transactions repete os dados do documento e da conta por transação. Se faltarem transações ou contas, a exportação plana cria ainda uma linha de identificação com campos de transação vazios.

Transactions (Excel / CSV / Word)
Campo de saídaOrigem JSON ou regra de exportação
doc_iddoc_id
source_filenamesource_filename
bankissuer.name
account_holderaccounts[].holder.name
account_numberaccounts[].account.account_number_masked || accounts[].account.account_number || accounts[].account.iban
account_typeaccounts[].account.account_type
currencyaccounts[].account.currency || statement.currency_default
period_startstatement.period_start
period_endstatement.period_end
txn_noindex(accounts[].transactions[]) + 1
dateaccounts[].transactions[].dtposted
value_dateaccounts[].transactions[].dtuser
descriptionjoinDistinct(accounts[].transactions[].name, accounts[].transactions[].memo, " - ")
referenceaccounts[].transactions[].refnum
check_numberaccounts[].transactions[].checknum
typeaccounts[].transactions[].trntype
amountaccounts[].transactions[].trnamt
feeaccounts[].transactions[].fee
running_balanceaccounts[].transactions[].running_balance

Não plano

Cada conta tem tabelas próprias de transações e detalhes, lado a lado no Excel e CSV. Os dados do extrato acompanham a primeira conta; os avisos aparecem apenas quando existem. O Word empilha as secções. As linhas campo/valor estão detalhadas abaixo.

Transações
Campo de saídaOrigem JSON ou regra de exportação
#index(accounts[].transactions[]) + 1
Dateaccounts[].transactions[].dtposted
Value dateaccounts[].transactions[].dtuser
DescriptionjoinDistinct(accounts[].transactions[].name, accounts[].transactions[].memo, " - ")
Referenceaccounts[].transactions[].refnum
Check #accounts[].transactions[].checknum
Typeaccounts[].transactions[].trntype
Amountaccounts[].transactions[].trnamt
Running balanceaccounts[].transactions[].running_balance
Dados da conta ou do cartão
Campo de saídaOrigem JSON ou regra de exportação
Holderaccounts[].holder.name
Account nameaccounts[].account.account_name
Account numberaccounts[].account.account_number_masked || accounts[].account.account_number
IBANaccounts[].account.iban
BICaccounts[].account.bic
Sort codeaccounts[].account.sort_code
Card last 4accounts[].account.card_last4
Account typeaccounts[].account.account_type
Currencyaccounts[].account.currency
Saldos
Campo de saídaOrigem JSON ou regra de exportação
Openingaccounts[].balances.opening.amount
Opening as ofaccounts[].balances.opening.as_of
Closingaccounts[].balances.closing.amount
Closing as ofaccounts[].balances.closing.as_of
Availableaccounts[].balances.available
Totais
Campo de saídaOrigem JSON ou regra de exportação
Credits countaccounts[].totals.credits_count
Credits amountaccounts[].totals.credits_amount
Debits countaccounts[].totals.debits_count
Debits amountaccounts[].totals.debits_amount
Fees chargedaccounts[].totals.fees_charged
Interest paidaccounts[].totals.interest_paid
Interest chargedaccounts[].totals.interest_charged
Dados do extrato
Campo de saídaOrigem JSON ou regra de exportação
Doc IDdoc_id
Sourcesource_filename
Bankissuer.name
Statement datestatement.statement_date
Period startstatement.period_start
Period endstatement.period_end
Page countstatement.page_count
Avisos
Campo de saídaOrigem JSON ou regra de exportação
#index(reconciliation_warnings[]) + 1
Warningreconciliation_warnings[]

Ambas as exportações combinam transações de todas as contas. Xero ignora montantes null; QuickBooks ignora null e zero. QuickBooks prefere memo a name; uma descrição apenas numérica recebe o prefixo trntype, name ou “Txn”. Os montantes de cartão têm o sinal invertido. Não existe uma coluna separada para identificar a conta.

Xero CSV

Xero CSV
Campo de saídaOrigem JSON ou regra de exportação
*Dateaccounts[].transactions[].dtposted → DD/MM/YYYY
*Amountaccounts[].transactions[].trnamt
Payeeaccounts[].transactions[].name
DescriptionjoinDistinct(accounts[].transactions[].name, accounts[].transactions[].memo, " - ")
Referenceaccounts[].transactions[].refnum
Cheque Numberaccounts[].transactions[].checknum
Account code*Vazio
Tax Rate (Display Name)*Vazio
Tracking1Vazio
Tracking2Vazio
Transaction Typeaccounts[].transactions[].trntype
Analysis codeVazio

QuickBooks CSV

QuickBooks CSV
Campo de saídaOrigem JSON ou regra de exportação
Dateaccounts[].transactions[].dtposted → DD/MM/YYYY
Descriptionaccounts[].transactions[].memo || accounts[].transactions[].name || accounts[].transactions[].trntype || "Transaction"
Amountaccounts[].transactions[].trnamt

Extrato de Cartão de Crédito

Emissor, período, contas, saldos, limites, resumos e transações. trnamt é positivo para encargos e negativo para pagamentos e reembolsos, ao contrário das compras bancárias.

Campos JSON

Os tipos descrevem JSON serializado. Objetos e arrays precedem os seus campos; [] indica entradas repetidas. Campos predefinidos não têm de ser fornecidos pela extração. Os decimais são serializados como cadeias de texto. Os ficheiros mantêm os campos predefinidos; um valor não extraído não equivale a uma chave JSON omitida.

issuer
Caminho do campoTipo JSONPresença
issuerobjectCom valor predefinido
issuer.namestring | nullCom valor predefinido
statement
Caminho do campoTipo JSONPresença
statementobjectCom valor predefinido
statement.statement_datestring | nullCom valor predefinido
statement.period_startstring | nullCom valor predefinido
statement.period_endstring | nullCom valor predefinido
statement.currency_defaultstring | nullCom valor predefinido
statement.page_countinteger | nullCom valor predefinido
accounts
Caminho do campoTipo JSONPresença
accountsarray<object>Com valor predefinido
accounts[].holderobjectCom valor predefinido
accounts[].holder.namestring | nullCom valor predefinido
accounts[].accountobjectCom valor predefinido
accounts[].account.account_numberstring | nullCom valor predefinido
accounts[].account.account_number_maskedstring | nullCom valor predefinido
accounts[].account.card_last4string | nullCom valor predefinido
accounts[].account.binstring | nullCom valor predefinido
accounts[].account.card_networkstring | nullCom valor predefinido
accounts[].account.card_brandstring | nullCom valor predefinido
accounts[].account.card_productstring | nullCom valor predefinido
accounts[].account.card_typestring | nullCom valor predefinido
accounts[].account.currencystring | nullCom valor predefinido
accounts[].balancesobjectCom valor predefinido
accounts[].balances.previous_balanceobjectCom valor predefinido
accounts[].balances.previous_balance.amountstring | nullCom valor predefinido
accounts[].balances.previous_balance.as_ofstring | nullCom valor predefinido
accounts[].balances.new_balanceobjectCom valor predefinido
accounts[].balances.new_balance.amountstring | nullCom valor predefinido
accounts[].balances.new_balance.as_ofstring | nullCom valor predefinido
accounts[].balances.statement_balancestring | nullCom valor predefinido
accounts[].balances.minimum_payment_duestring | nullCom valor predefinido
accounts[].balances.payment_due_datestring | nullCom valor predefinido
accounts[].balances.past_due_amountstring | nullCom valor predefinido
accounts[].credit_limitsobjectCom valor predefinido
accounts[].credit_limits.credit_limitstring | nullCom valor predefinido
accounts[].credit_limits.available_creditstring | nullCom valor predefinido
accounts[].credit_limits.cash_advance_limitstring | nullCom valor predefinido
accounts[].credit_limits.available_cashstring | nullCom valor predefinido
accounts[].credit_limits.over_limit_amountstring | nullCom valor predefinido
accounts[].summaryobjectCom valor predefinido
accounts[].summary.previous_balancestring | nullCom valor predefinido
accounts[].summary.paymentsstring | nullCom valor predefinido
accounts[].summary.credits_returnsstring | nullCom valor predefinido
accounts[].summary.purchasesstring | nullCom valor predefinido
accounts[].summary.cash_advancesstring | nullCom valor predefinido
accounts[].summary.balance_transfersstring | nullCom valor predefinido
accounts[].summary.fees_chargedstring | nullCom valor predefinido
accounts[].summary.interest_chargedstring | nullCom valor predefinido
accounts[].summary.adjustmentsstring | nullCom valor predefinido
accounts[].summary.new_balancestring | nullCom valor predefinido
accounts[].transactionsarray<object>Com valor predefinido
accounts[].transactions[].trntypestring | nullCom valor predefinido
accounts[].transactions[].dtpostedstring | nullCom valor predefinido
accounts[].transactions[].dtuserstring | nullCom valor predefinido
accounts[].transactions[].trnamtstring | nullCom valor predefinido
accounts[].transactions[].namestring | nullCom valor predefinido
accounts[].transactions[].memostring | nullCom valor predefinido
accounts[].transactions[].fitidstring | nullCom valor predefinido
accounts[].transactions[].refnumstring | nullCom valor predefinido
accounts[].transactions[].card_last4string | nullCom valor predefinido
accounts[].transactions[].cardholder_namestring | nullCom valor predefinido
accounts[].transactions[].is_foreignboolean | nullCom valor predefinido
reconciliation_warnings
Caminho do campoTipo JSONPresença
reconciliation_warningsarray<string>Com valor predefinido

As tabelas associam campos de saída a caminhos JSON. || indica o primeiro valor não vazio; ?? um valor alternativo para null. Numeração, descrições combinadas e formatação são regras de exportação. Valores em falta tornam-se geralmente células vazias.

O layout plano contém transações com campos repetidos do extrato e da conta. O não plano inclui secções por conta para transações, saldos, limites e resumos. Várias contas alteram o número de secções.

Plano

Transactions repete os dados do documento e da conta por transação. Se faltarem transações ou contas, a exportação plana cria ainda uma linha de identificação com campos de transação vazios.

Transactions (Excel / CSV / Word)
Campo de saídaOrigem JSON ou regra de exportação
doc_iddoc_id
source_filenamesource_filename
issuerissuer.name
cardholderaccounts[].transactions[].cardholder_name || accounts[].holder.name
card_last4accounts[].transactions[].card_last4 || accounts[].account.card_last4
card_networkaccounts[].account.card_network
card_brandaccounts[].account.card_brand
currencyaccounts[].account.currency || statement.currency_default
period_startstatement.period_start
period_endstatement.period_end
txn_noindex(accounts[].transactions[]) + 1
dateaccounts[].transactions[].dtposted
posted_dateaccounts[].transactions[].dtuser
descriptionjoinDistinct(accounts[].transactions[].name, accounts[].transactions[].memo, " - ")
referenceaccounts[].transactions[].refnum
typeaccounts[].transactions[].trntype
amountaccounts[].transactions[].trnamt
is_foreignaccounts[].transactions[].is_foreign → Yes / No / ""

Não plano

Cada conta tem tabelas próprias de transações e detalhes, lado a lado no Excel e CSV. Os dados do extrato acompanham a primeira conta; os avisos aparecem apenas quando existem. O Word empilha as secções. As linhas campo/valor estão detalhadas abaixo.

Transações
Campo de saídaOrigem JSON ou regra de exportação
#index(accounts[].transactions[]) + 1
Dateaccounts[].transactions[].dtposted
Postedaccounts[].transactions[].dtuser
DescriptionjoinDistinct(accounts[].transactions[].name, accounts[].transactions[].memo, " - ")
Referenceaccounts[].transactions[].refnum
Typeaccounts[].transactions[].trntype
Card last 4accounts[].transactions[].card_last4 || accounts[].account.card_last4
Amountaccounts[].transactions[].trnamt
Dados da conta ou do cartão
Campo de saídaOrigem JSON ou regra de exportação
Holderaccounts[].holder.name
Card last 4accounts[].account.card_last4
Card networkaccounts[].account.card_network
Card brandaccounts[].account.card_brand
Card productaccounts[].account.card_product
Card typeaccounts[].account.card_type
Account numberaccounts[].account.account_number_masked || accounts[].account.account_number
Currencyaccounts[].account.currency
Saldos
Campo de saídaOrigem JSON ou regra de exportação
Previous balanceaccounts[].balances.previous_balance.amount
Previous balance as ofaccounts[].balances.previous_balance.as_of
New balanceaccounts[].balances.new_balance.amount
New balance as ofaccounts[].balances.new_balance.as_of
Statement balanceaccounts[].balances.statement_balance
Minimum paymentaccounts[].balances.minimum_payment_due
Payment due dateaccounts[].balances.payment_due_date
Past dueaccounts[].balances.past_due_amount
Limites de crédito
Campo de saídaOrigem JSON ou regra de exportação
Credit limitaccounts[].credit_limits.credit_limit
Available creditaccounts[].credit_limits.available_credit
Cash advance limitaccounts[].credit_limits.cash_advance_limit
Available cashaccounts[].credit_limits.available_cash
Over limitaccounts[].credit_limits.over_limit_amount
Resumo de atividade
Campo de saídaOrigem JSON ou regra de exportação
Previous balanceaccounts[].summary.previous_balance
Paymentsaccounts[].summary.payments
Credits / returnsaccounts[].summary.credits_returns
Purchasesaccounts[].summary.purchases
Cash advancesaccounts[].summary.cash_advances
Balance transfersaccounts[].summary.balance_transfers
Fees chargedaccounts[].summary.fees_charged
Interest chargedaccounts[].summary.interest_charged
Adjustmentsaccounts[].summary.adjustments
New balanceaccounts[].summary.new_balance
Dados do extrato
Campo de saídaOrigem JSON ou regra de exportação
Doc IDdoc_id
Sourcesource_filename
Issuerissuer.name
Statement datestatement.statement_date
Period startstatement.period_start
Period endstatement.period_end
Page countstatement.page_count
Avisos
Campo de saídaOrigem JSON ou regra de exportação
#index(reconciliation_warnings[]) + 1
Warningreconciliation_warnings[]

Ambas as exportações combinam transações de todas as contas. Xero ignora montantes null; QuickBooks ignora null e zero. QuickBooks prefere memo a name; uma descrição apenas numérica recebe o prefixo trntype, name ou “Txn”. Os montantes de cartão têm o sinal invertido. Não existe uma coluna separada para identificar a conta.

Xero CSV

Xero CSV
Campo de saídaOrigem JSON ou regra de exportação
*Dateaccounts[].transactions[].dtposted → DD/MM/YYYY
*Amount−accounts[].transactions[].trnamt
Payeeaccounts[].transactions[].name
DescriptionjoinDistinct(accounts[].transactions[].name, accounts[].transactions[].memo, " - ")
Referenceaccounts[].transactions[].refnum
Cheque NumberVazio
Account code*Vazio
Tax Rate (Display Name)*Vazio
Tracking1Vazio
Tracking2Vazio
Transaction Typeaccounts[].transactions[].trntype
Analysis codeVazio

QuickBooks CSV

QuickBooks CSV
Campo de saídaOrigem JSON ou regra de exportação
Dateaccounts[].transactions[].dtposted → DD/MM/YYYY
Descriptionaccounts[].transactions[].memo || accounts[].transactions[].name || accounts[].transactions[].trntype || "Transaction"
Amount−accounts[].transactions[].trnamt

Recibo de Vencimento

Período, trabalhador, empregador, taxas, rendimentos, deduções, impostos, contribuições e totais. current_amount refere-se ao período; ytd_amount ao acumulado anual.

Campos JSON

Os tipos descrevem JSON serializado. Objetos e arrays precedem os seus campos; [] indica entradas repetidas. Campos predefinidos não têm de ser fornecidos pela extração. Os decimais são serializados como cadeias de texto. Os ficheiros mantêm os campos predefinidos; um valor não extraído não equivale a uma chave JSON omitida.

statement
Caminho do campoTipo JSONPresença
statementobjectCom valor predefinido
statement.issue_datestring | nullCom valor predefinido
statement.pay_datestring | nullCom valor predefinido
statement.period_startstring | nullCom valor predefinido
statement.period_endstring | nullCom valor predefinido
statement.period_typestring | nullCom valor predefinido
statement.tax_yearinteger | nullCom valor predefinido
statement.currencystring | nullCom valor predefinido
statement.countrystring | nullCom valor predefinido
employee
Caminho do campoTipo JSONPresença
employeeobjectCom valor predefinido
employee.namestring | nullCom valor predefinido
employee.pay_frequencystring | nullCom valor predefinido
employee.employment_typestring | nullCom valor predefinido
employee.employment_statusstring | nullCom valor predefinido
employee.filing_statusstring | nullCom valor predefinido
employee.tax_codestring | nullCom valor predefinido
employer
Caminho do campoTipo JSONPresença
employerobjectCom valor predefinido
employer.namestring | nullCom valor predefinido
rates
Caminho do campoTipo JSONPresença
ratesobjectCom valor predefinido
rates.base_pay_ratestring | nullCom valor predefinido
rates.base_pay_unitstring | nullCom valor predefinido
rates.annual_salarystring | nullCom valor predefinido
rates.regular_hours_per_periodstring | nullCom valor predefinido
rates.overtime_multiplierstring | nullCom valor predefinido
earnings
Caminho do campoTipo JSONPresença
earningsarray<object>Com valor predefinido
earnings[].codestring | nullCom valor predefinido
earnings[].descriptionstring | nullCom valor predefinido
earnings[].categorystring | nullCom valor predefinido
earnings[].jurisdictionstring | nullCom valor predefinido
earnings[].hoursstring | nullCom valor predefinido
earnings[].ratestring | nullCom valor predefinido
earnings[].current_amountstring | nullCom valor predefinido
earnings[].ytd_amountstring | nullCom valor predefinido
earnings[].employer_matchstring | nullCom valor predefinido
earnings[].employer_match_ytdstring | nullCom valor predefinido
earnings[].is_taxableboolean | nullCom valor predefinido
earnings[].is_imputedboolean | nullCom valor predefinido
earnings[].memostring | nullCom valor predefinido
pre_tax_deductions
Caminho do campoTipo JSONPresença
pre_tax_deductionsarray<object>Com valor predefinido
pre_tax_deductions[].codestring | nullCom valor predefinido
pre_tax_deductions[].descriptionstring | nullCom valor predefinido
pre_tax_deductions[].categorystring | nullCom valor predefinido
pre_tax_deductions[].jurisdictionstring | nullCom valor predefinido
pre_tax_deductions[].hoursstring | nullCom valor predefinido
pre_tax_deductions[].ratestring | nullCom valor predefinido
pre_tax_deductions[].current_amountstring | nullCom valor predefinido
pre_tax_deductions[].ytd_amountstring | nullCom valor predefinido
pre_tax_deductions[].employer_matchstring | nullCom valor predefinido
pre_tax_deductions[].employer_match_ytdstring | nullCom valor predefinido
pre_tax_deductions[].is_taxableboolean | nullCom valor predefinido
pre_tax_deductions[].is_imputedboolean | nullCom valor predefinido
pre_tax_deductions[].memostring | nullCom valor predefinido
taxes
Caminho do campoTipo JSONPresença
taxesarray<object>Com valor predefinido
taxes[].codestring | nullCom valor predefinido
taxes[].descriptionstring | nullCom valor predefinido
taxes[].categorystring | nullCom valor predefinido
taxes[].jurisdictionstring | nullCom valor predefinido
taxes[].hoursstring | nullCom valor predefinido
taxes[].ratestring | nullCom valor predefinido
taxes[].current_amountstring | nullCom valor predefinido
taxes[].ytd_amountstring | nullCom valor predefinido
taxes[].employer_matchstring | nullCom valor predefinido
taxes[].employer_match_ytdstring | nullCom valor predefinido
taxes[].is_taxableboolean | nullCom valor predefinido
taxes[].is_imputedboolean | nullCom valor predefinido
taxes[].memostring | nullCom valor predefinido
post_tax_deductions
Caminho do campoTipo JSONPresença
post_tax_deductionsarray<object>Com valor predefinido
post_tax_deductions[].codestring | nullCom valor predefinido
post_tax_deductions[].descriptionstring | nullCom valor predefinido
post_tax_deductions[].categorystring | nullCom valor predefinido
post_tax_deductions[].jurisdictionstring | nullCom valor predefinido
post_tax_deductions[].hoursstring | nullCom valor predefinido
post_tax_deductions[].ratestring | nullCom valor predefinido
post_tax_deductions[].current_amountstring | nullCom valor predefinido
post_tax_deductions[].ytd_amountstring | nullCom valor predefinido
post_tax_deductions[].employer_matchstring | nullCom valor predefinido
post_tax_deductions[].employer_match_ytdstring | nullCom valor predefinido
post_tax_deductions[].is_taxableboolean | nullCom valor predefinido
post_tax_deductions[].is_imputedboolean | nullCom valor predefinido
post_tax_deductions[].memostring | nullCom valor predefinido
employer_contributions
Caminho do campoTipo JSONPresença
employer_contributionsarray<object>Com valor predefinido
employer_contributions[].codestring | nullCom valor predefinido
employer_contributions[].descriptionstring | nullCom valor predefinido
employer_contributions[].categorystring | nullCom valor predefinido
employer_contributions[].jurisdictionstring | nullCom valor predefinido
employer_contributions[].hoursstring | nullCom valor predefinido
employer_contributions[].ratestring | nullCom valor predefinido
employer_contributions[].current_amountstring | nullCom valor predefinido
employer_contributions[].ytd_amountstring | nullCom valor predefinido
employer_contributions[].employer_matchstring | nullCom valor predefinido
employer_contributions[].employer_match_ytdstring | nullCom valor predefinido
employer_contributions[].is_taxableboolean | nullCom valor predefinido
employer_contributions[].is_imputedboolean | nullCom valor predefinido
employer_contributions[].memostring | nullCom valor predefinido
totals
Caminho do campoTipo JSONPresença
totalsobjectCom valor predefinido
totals.gross_pay_currentstring | nullCom valor predefinido
totals.gross_pay_ytdstring | nullCom valor predefinido
totals.taxable_gross_currentstring | nullCom valor predefinido
totals.taxable_gross_ytdstring | nullCom valor predefinido
totals.total_pre_tax_deductions_currentstring | nullCom valor predefinido
totals.total_pre_tax_deductions_ytdstring | nullCom valor predefinido
totals.total_taxes_currentstring | nullCom valor predefinido
totals.total_taxes_ytdstring | nullCom valor predefinido
totals.total_post_tax_deductions_currentstring | nullCom valor predefinido
totals.total_post_tax_deductions_ytdstring | nullCom valor predefinido
totals.total_deductions_currentstring | nullCom valor predefinido
totals.total_deductions_ytdstring | nullCom valor predefinido
totals.total_employer_contributions_currentstring | nullCom valor predefinido
totals.total_employer_contributions_ytdstring | nullCom valor predefinido
totals.net_pay_currentstring | nullCom valor predefinido
totals.net_pay_ytdstring | nullCom valor predefinido
totals.hours_worked_currentstring | nullCom valor predefinido
totals.hours_worked_ytdstring | nullCom valor predefinido
reconciliation_warnings
Caminho do campoTipo JSONPresença
reconciliation_warningsarray<string>Com valor predefinido

As tabelas associam campos de saída a caminhos JSON. || indica o primeiro valor não vazio; ?? um valor alternativo para null. Numeração, descrições combinadas e formatação são regras de exportação. Valores em falta tornam-se geralmente células vazias.

Sem escolha plano/não plano. A folha Paystub contém secções de período, trabalhador, empregador, taxas, rendimentos, deduções, impostos, contribuições e totais. CSV é uma grelha de secções; Word empilha-as.

Layout próprio

Estas são as secções do formato Paystub, lado a lado no Excel e CSV e empilhadas no Word. As descrições usam description ou code e acrescentam “imputed” quando is_imputed é true e “non-taxable” quando is_taxable é false. As colunas Rate usam formato percentual. Os totais associam Current e YTD para cada Metric. Os avisos aparecem apenas quando existem.

Totais
Campo de saídaOrigem JSON ou regra de exportação
Gross pay / Currenttotals.gross_pay_current
Gross pay / YTDtotals.gross_pay_ytd
Taxable gross / Currenttotals.taxable_gross_current
Taxable gross / YTDtotals.taxable_gross_ytd
Pre-tax deductions / Currenttotals.total_pre_tax_deductions_current
Pre-tax deductions / YTDtotals.total_pre_tax_deductions_ytd
Taxes / Currenttotals.total_taxes_current
Taxes / YTDtotals.total_taxes_ytd
Post-tax deductions / Currenttotals.total_post_tax_deductions_current
Post-tax deductions / YTDtotals.total_post_tax_deductions_ytd
Total deductions / Currenttotals.total_deductions_current
Total deductions / YTDtotals.total_deductions_ytd
Employer contributions / Currenttotals.total_employer_contributions_current
Employer contributions / YTDtotals.total_employer_contributions_ytd
Net pay / Currenttotals.net_pay_current
Net pay / YTDtotals.net_pay_ytd
Hours worked / Currenttotals.hours_worked_current
Hours worked / YTDtotals.hours_worked_ytd
Dados do extrato
Campo de saídaOrigem JSON ou regra de exportação
Doc IDdoc_id
Sourcesource_filename
Issue datestatement.issue_date
Pay datestatement.pay_date
Period startstatement.period_start
Period endstatement.period_end
Period typestatement.period_type
Tax yearstatement.tax_year
Currencystatement.currency
Countrystatement.country
Trabalhador
Campo de saídaOrigem JSON ou regra de exportação
Nameemployee.name
Pay frequencyemployee.pay_frequency
Employment typeemployee.employment_type
Employment statusemployee.employment_status
Filing statusemployee.filing_status
Tax codeemployee.tax_code
Empregador
Campo de saídaOrigem JSON ou regra de exportação
Nameemployer.name
Taxas de remuneração
Campo de saídaOrigem JSON ou regra de exportação
Base pay raterates.base_pay_rate
Base pay unitrates.base_pay_unit
Annual salaryrates.annual_salary
Regular hours/periodrates.regular_hours_per_period
Overtime multiplierrates.overtime_multiplier
Remunerações
Campo de saídaOrigem JSON ou regra de exportação
#index(earnings[]) + 1
Descriptionearnings[].description || earnings[].code
Codeearnings[].code
Hoursearnings[].hours
Rateearnings[].rate
Currentearnings[].current_amount
YTDearnings[].ytd_amount
Memoearnings[].memo
Deduções antes de impostos
Campo de saídaOrigem JSON ou regra de exportação
#index(pre_tax_deductions[]) + 1
Descriptionpre_tax_deductions[].description || pre_tax_deductions[].code
Codepre_tax_deductions[].code
Currentpre_tax_deductions[].current_amount
YTDpre_tax_deductions[].ytd_amount
Memopre_tax_deductions[].memo
Impostos
Campo de saídaOrigem JSON ou regra de exportação
#index(taxes[]) + 1
Descriptiontaxes[].description || taxes[].code
Codetaxes[].code
Jurisdictiontaxes[].jurisdiction
Ratetaxes[].rate
Currenttaxes[].current_amount
YTDtaxes[].ytd_amount
Deduções após impostos
Campo de saídaOrigem JSON ou regra de exportação
#index(post_tax_deductions[]) + 1
Descriptionpost_tax_deductions[].description || post_tax_deductions[].code
Codepost_tax_deductions[].code
Currentpost_tax_deductions[].current_amount
YTDpost_tax_deductions[].ytd_amount
Memopost_tax_deductions[].memo
Contribuições do empregador
Campo de saídaOrigem JSON ou regra de exportação
#index(employer_contributions[]) + 1
Descriptionemployer_contributions[].description || employer_contributions[].code
Codeemployer_contributions[].code
Currentemployer_contributions[].current_amount
YTDemployer_contributions[].ytd_amount
Avisos
Campo de saídaOrigem JSON ou regra de exportação
#index(reconciliation_warnings[]) + 1
Warningreconciliation_warnings[]

Xero CSV

Não

QuickBooks CSV

Não

Imagem de Tabela

Título, cabeçalhos, células e notas. headers e rows[].cells seguem as colunas de origem, sem esquema financeiro fixo. O tipo de linha distingue dados, subtotais e outras funções.

Campos JSON

Os tipos descrevem JSON serializado. Objetos e arrays precedem os seus campos; [] indica entradas repetidas. Campos predefinidos não têm de ser fornecidos pela extração. Os decimais são serializados como cadeias de texto. Os ficheiros mantêm os campos predefinidos; um valor não extraído não equivale a uma chave JSON omitida.

Documento
Caminho do campoTipo JSONPresença
titlestring | nullCom valor predefinido
captionstring | nullCom valor predefinido
source_typestring | nullCom valor predefinido
border_stylestring | nullCom valor predefinido
languagestring | nullCom valor predefinido
header_rowsinteger | nullCom valor predefinido
notesstring | nullCom valor predefinido
headers
Caminho do campoTipo JSONPresença
headersarray<array<any>>Com valor predefinido
rows
Caminho do campoTipo JSONPresença
rowsarray<object>Com valor predefinido
rows[].typestring | nullCom valor predefinido
rows[].cellsarray<any>Com valor predefinido
reconciliation_warnings
Caminho do campoTipo JSONPresença
reconciliation_warningsarray<string>Com valor predefinido

As tabelas associam campos de saída a caminhos JSON. || indica o primeiro valor não vazio; ?? um valor alternativo para null. Numeração, descrições combinadas e formatação são regras de exportação. Valores em falta tornam-se geralmente células vazias.

Sem escolha plano/não plano. A folha Table usa cabeçalhos e células extraídos. As colunas são dinâmicas; títulos, notas e avisos podem acrescentar linhas. CSV não preserva células unidas ou estilos Excel.

Layout próprio

Os nomes das colunas vêm de headers, não de uma lista fixa. As células mantêm a ordem; linhas curtas são preenchidas e null fica vazio. title e caption surgem acima da grelha, notes e avisos abaixo. O Excel une cabeçalhos adjacentes iguais. rows[].type controla o estilo Excel/Word, sem uma coluna adicional. CSV não tem estilo. Uma linha de aviso pode usar duas colunas mesmo com apenas uma coluna de dados.

Estrutura da tabela
Campo de saídaOrigem JSON ou regra de exportação
titletitle
captioncaption
headers[][]headers[][]
rows[].cells[]rows[].cells[]
Formatação das linhas (Excel / Word)rows[].type → DATA | HEADER | SECTION | SUBTOTAL | GRAND_TOTAL
Largura da grelhamax(length(headers[]), length(rows[].cells)) || 1
Notesnotes
#index(reconciliation_warnings[]) + 1
Reconciliation warningsreconciliation_warnings[]

Xero CSV

Não

QuickBooks CSV

Não

Valores em falta e revisão

Os campos anuláveis podem conter null; listas ausentes recebem []. Objetos aninhados podem ter campos predefinidos. Os exportadores mostram frequentemente valores em falta como células vazias. Datas e montantes podem ser normalizados; a reconciliação pode calcular totais em falta ou acrescentar avisos. doc_id e source_filename são metadados de exportação, não campos financeiros extraídos.

Reveja a origem e os valores exportados. Uma lista reconciliation_warnings vazia não comprova exatidão.

Esquemas e layouts de exportação | ScanToExcel