Schémas et mises en page des exports

Découvrez les champs extraits par ScanToExcel et leur présentation dans les téléchargements. Un champ pris en charge ne garantit ni sa présence dans le document ni son extraction.

Dans toutes les offres, les modèles d’export utilisent des en-têtes et des noms de champs en anglais. Le texte extrait et les en-têtes des tableaux sources restent généralement dans la langue du document. Changer la langue du site ne traduit pas les fichiers téléchargés. Les clés JSON, les libellés de feuilles prédéfinis et les en-têtes des modèles comptables restent fixes. Les dates, les nombres, les codes de devise et certaines catégories peuvent être normalisés ; vérifiez le résultat.

Choisir la sortie

JSON
JSON conserve les données imbriquées, dont les listes de lignes et de transactions. Le fichier contient l’objet du document, sans métadonnées de quota ou de transfert. Le réglage à plat ne modifie pas JSON.
À plat
Les exports à plat utilisent une grille rectangulaire avec des colonnes uniformes. Chaque ligne représente un élément ou une transaction, avec répétition des données du document si nécessaire. Chaque tableau a sa propre structure fixe de colonnes. Excel peut contenir plusieurs feuilles ; CSV contient une grille.
Non plat
Les exports Excel et CSV non plats placent des tableaux distincts côte à côte, chacun avec son rôle et ses colonnes : document, lignes, taxes, totaux ou avertissements. Ils ne forment pas un tableau uniforme unique. Word les empile verticalement. Les bulletins de paie et les images de tableaux utilisent des mises en page dédiées.
Sorties disponibles
DocumentJSONMise en pageXero CSVQuickBooks CSV
ReçuOuiÀ plat / Non platOuiNon
FactureOuiÀ plat / Non platOuiNon
Relevé bancaireOuiÀ plat / Non platOuiOui
Relevé carte de créditOuiÀ plat / Non platOuiOui
Fiche de paieOuiMise en page dédiéeNonNon
Image de tableauOuiMise en page dédiéeNonNon

Les CSV comptables sont des options Premium avec leurs propres modèles. Ils produisent des fichiers, sans connexion directe à Xero ou QuickBooks. Vérifiez les champs et les correspondances comptables avant l’import. Tarifs

Reçu

Commerçant, date, devise, numéro, quantités, prix, taxes, paiement et totaux. Les taux fiscaux sont des fractions : 0.20 signifie 20 %.

Champs JSON

Les types décrivent le JSON sérialisé. Les objets et tableaux précèdent leurs champs ; [] indique des entrées répétées. Les champs avec valeur par défaut ne doivent pas nécessairement être fournis par l’extraction. Les décimaux sont sérialisés en chaînes. Les téléchargements conservent les champs par défaut ; une valeur non extraite ne signifie pas une clé JSON omise.

Document
Chemin du champType JSONPrésence
vendorstring | nullValeur par défaut
datestring | nullValeur par défaut
currencystring | nullValeur par défaut
document_numberstring | nullValeur par défaut
subtotalstring | nullValeur par défaut
taxstring | nullValeur par défaut
tax_inclusiveboolean | nullValeur par défaut
tipstring | nullValeur par défaut
payment_methodstring | nullValeur par défaut
totalstring | nullValeur par défaut
line_items
Chemin du champType JSONPrésence
line_itemsarray<object>Valeur par défaut
line_items[].descriptionstring | nullValeur par défaut
line_items[].quantitystring | nullValeur par défaut
line_items[].unit_pricestring | nullValeur par défaut
line_items[].totalstring | nullValeur par défaut
taxes
Chemin du champType JSONPrésence
taxesarray<object>Valeur par défaut
taxes[].namestring | nullValeur par défaut
taxes[].ratestring | nullValeur par défaut
taxes[].basestring | nullValeur par défaut
taxes[].amountstring | nullValeur par défaut
reconciliation_warnings
Chemin du champType JSONPrésence
reconciliation_warningsarray<string>Valeur par défaut

À plat

Le format à plat contient les lignes et un résumé séparé dans Excel. CSV contient seulement les lignes. Les ajustements de taxe et pourboire peuvent ajouter des lignes : line_total vient de tax, taxes[].amount ou tip ; description est générée, quantity, unit_price et line_no restent vides.

Lines (Excel / CSV)
Champ de sortieSource JSON ou règle d’export
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)
Champ de sortieSource JSON ou règle d’export
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[])

Non plat

Le format non plat juxtapose ces tableaux. Les données et totaux utilisent des lignes champ/valeur ; les éléments et taxes utilisent des colonnes. Les avertissements apparaissent si présents. unit_price est absent du tableau non plat des lignes.

Lignes
Champ de sortieSource JSON ou règle d’export
#index(line_items[]) + 1
Descriptionline_items[].description
Qtyline_items[].quantity
Line totalline_items[].total
Données du document
Champ de sortieSource JSON ou règle d’export
Doc IDdoc_id
Sourcesource_filename
Vendorvendor
Datedate
Currencycurrency
Document #document_number
Payment methodpayment_method
Taxes
Champ de sortieSource JSON ou règle d’export
Nametaxes[].name
Ratetaxes[].rate
Basetaxes[].base
Amounttaxes[].amount
Totaux
Champ de sortieSource JSON ou règle d’export
Subtotalsubtotal
Taxtax
Tax inclusivetax_inclusive
Tiptip
Totaltotal
Avertissements
Champ de sortieSource JSON ou règle d’export
#index(reconciliation_warnings[]) + 1
Warningreconciliation_warnings[]

Xero CSV

Une ligne récapitulative par reçu. Les champs sans source restent vides, dont AccountCode et TaxType. Complétez les correspondances requises avant l’import.

Xero CSV
Champ de sortieSource JSON ou règle d’export
*ContactNamevendor || "Unknown vendor"
EmailAddressVide
POAddressLine1Vide
POAddressLine2Vide
POAddressLine3Vide
POAddressLine4Vide
POCityVide
PORegionVide
POPostalCodeVide
POCountryVide
*InvoiceNumberdocument_number || "RCP-" + doc_id
Reference"Receipt"
*InvoiceDatedate → DD/MM/YYYY
*DueDatedate → DD/MM/YYYY
TotalVide
InventoryItemCodeVide
*Descriptionjoin(line_items[].description) || vendor || "Receipt"; tip → "(incl. tip)"
*Quantity1
*UnitAmountsubtotal / total / tax / tax_inclusive / tip
DiscountVide
*AccountCodeVide
*TaxTypeVide
TaxAmounttax (0 → blank)
TrackingName1Vide
TrackingOption1Vide
TrackingName2Vide
TrackingOption2Vide
Currencycurrency
BrandingThemeVide

UnitAmount utilise total, ou subtotal à défaut, si tax_inclusive est true. Sinon il utilise subtotal ou total moins tax si subtotal manque. Les montants absents peuvent devenir zéro. L’export ajoute ensuite tip. Vérifiez taxes et pourboires avant l’import.

QuickBooks CSV

Non

Facture

Dates et références, émetteur et destinataire, lignes, taxes, remises, retenues et totaux. unit est l’unité imprimée ; tax_rate est une fraction.

Champs JSON

Les types décrivent le JSON sérialisé. Les objets et tableaux précèdent leurs champs ; [] indique des entrées répétées. Les champs avec valeur par défaut ne doivent pas nécessairement être fournis par l’extraction. Les décimaux sont sérialisés en chaînes. Les téléchargements conservent les champs par défaut ; une valeur non extraite ne signifie pas une clé JSON omise.

Document
Chemin du champType JSONPrésence
invoice_numberstring | nullValeur par défaut
issue_datestring | nullValeur par défaut
due_datestring | nullValeur par défaut
currencystring | nullValeur par défaut
payment_termsstring | nullValeur par défaut
purchase_orderstring | nullValeur par défaut
notesstring | nullValeur par défaut
subtotalstring | nullValeur par défaut
discountstring | nullValeur par défaut
taxstring | nullValeur par défaut
tax_inclusiveboolean | nullValeur par défaut
withholdingsstring | nullValeur par défaut
totalstring | nullValeur par défaut
sender
Chemin du champType JSONPrésence
senderobject | nullValeur par défaut
sender.namestring | nullValeur par défaut
sender.addressobject | nullValeur par défaut
sender.address.line1string | nullValeur par défaut
sender.address.line2string | nullValeur par défaut
sender.address.citystring | nullValeur par défaut
sender.address.regionstring | nullValeur par défaut
sender.address.postal_codestring | nullValeur par défaut
sender.address.countrystring | nullValeur par défaut
sender.address.rawstring | nullValeur par défaut
sender.tax_idstring | nullValeur par défaut
sender.emailstring | nullValeur par défaut
receiver
Chemin du champType JSONPrésence
receiverobject | nullValeur par défaut
receiver.namestring | nullValeur par défaut
receiver.addressobject | nullValeur par défaut
receiver.address.line1string | nullValeur par défaut
receiver.address.line2string | nullValeur par défaut
receiver.address.citystring | nullValeur par défaut
receiver.address.regionstring | nullValeur par défaut
receiver.address.postal_codestring | nullValeur par défaut
receiver.address.countrystring | nullValeur par défaut
receiver.address.rawstring | nullValeur par défaut
receiver.tax_idstring | nullValeur par défaut
receiver.emailstring | nullValeur par défaut
line_items
Chemin du champType JSONPrésence
line_itemsarray<object>Valeur par défaut
line_items[].descriptionstring | nullValeur par défaut
line_items[].quantitystring | nullValeur par défaut
line_items[].unitstring | nullValeur par défaut
line_items[].unit_pricestring | nullValeur par défaut
line_items[].totalstring | nullValeur par défaut
line_items[].tax_ratestring | nullValeur par défaut
line_items[].tax_amountstring | nullValeur par défaut
taxes
Chemin du champType JSONPrésence
taxesarray<object>Valeur par défaut
taxes[].namestring | nullValeur par défaut
taxes[].ratestring | nullValeur par défaut
taxes[].basestring | nullValeur par défaut
taxes[].amountstring | nullValeur par défaut
reconciliation_warnings
Chemin du champType JSONPrésence
reconciliation_warningsarray<string>Valeur par défaut

Les tableaux relient les champs de sortie aux chemins JSON. || désigne la première valeur non vide ; ?? une valeur de remplacement pour null. Numérotation, descriptions combinées et mise en forme sont des règles d’export. Les valeurs absentes deviennent généralement des cellules vides.

Le format à plat contient les lignes avec les données de facture répétées. Le format non plat regroupe facture, parties, lignes, taxes, totaux et avertissements ; Word dispose les sections verticalement.

À plat

Lines contient une ligne par article avec les données de facture répétées. Les lignes d’ajustement utilisent −discount, taxes[].amount (ou tax) si tax_inclusive n’est pas true, et −withholdings. Leurs descriptions sont générées ; line_no, quantity, unit et unit_price restent vides. Une facture sans articles produit aussi une ligne de document.

Lines (Excel / CSV / Word)
Champ de sortieSource JSON ou règle d’export
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

Non plat

Ces tableaux sont côte à côte dans Excel et CSV ; Word les empile. Le tableau des articles Excel omet actuellement Line total. CSV et Word l’incluent. Les détails du document et les totaux utilisent des lignes champ/valeur. Les avertissements apparaissent seulement s’ils existent.

Lignes
Champ de sortieSource JSON ou règle d’export
#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
Données du document
Champ de sortieSource JSON ou règle d’export
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)
Taxes
Champ de sortieSource JSON ou règle d’export
Nametaxes[].name
Ratetaxes[].rate
Basetaxes[].base
Amounttaxes[].amount
Totaux
Champ de sortieSource JSON ou règle d’export
Subtotalsubtotal
Discountdiscount
Taxtax
Tax inclusivetax_inclusive
Withholdingswithholdings
Totaltotal
Avertissements
Champ de sortieSource JSON ou règle d’export
#index(reconciliation_warnings[]) + 1
Warningreconciliation_warnings[]

Xero CSV

Une ligne par article avec les coordonnées du destinataire répétées. Sans articles, une ligne de remplacement utilise notes (ou “Invoice”) pour Description, 1 pour Quantity, total (ou subtotal) pour UnitAmount et tax pour TaxAmount. TaxAmount égal à zéro reste vide. Les colonnes sans correspondance restent vides ; aucun ajustement distinct de remise ou de retenue n’est ajouté.

Xero CSV
Champ de sortieSource JSON ou règle d’export
*ContactNamereceiver.name || "Unknown customer"
EmailAddressreceiver.email
POAddressLine1receiver.address.line1
POAddressLine2receiver.address.line2
POAddressLine3Vide
POAddressLine4Vide
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
TotalVide
InventoryItemCodeVide
*Descriptionline_items[].description
*Quantityline_items[].quantity ?? 1
*UnitAmountline_items[].unit_price ?? (line_items[].total / (line_items[].quantity || 1))
DiscountVide
*AccountCodeVide
*TaxTypeVide
TaxAmountline_items[].tax_amount (0 → "")
TrackingName1Vide
TrackingOption1Vide
TrackingName2Vide
TrackingOption2Vide
Currencycurrency
BrandingThemeVide

QuickBooks CSV

Non

Relevé bancaire

Émetteur, période et comptes avec identité, soldes, totaux et transactions. trnamt est négatif pour les retraits, positif pour les dépôts. dtposted est la date comptable ; dtuser, la date de valeur.

Champs JSON

Les types décrivent le JSON sérialisé. Les objets et tableaux précèdent leurs champs ; [] indique des entrées répétées. Les champs avec valeur par défaut ne doivent pas nécessairement être fournis par l’extraction. Les décimaux sont sérialisés en chaînes. Les téléchargements conservent les champs par défaut ; une valeur non extraite ne signifie pas une clé JSON omise.

issuer
Chemin du champType JSONPrésence
issuerobjectValeur par défaut
issuer.namestring | nullValeur par défaut
statement
Chemin du champType JSONPrésence
statementobjectValeur par défaut
statement.statement_datestring | nullValeur par défaut
statement.period_startstring | nullValeur par défaut
statement.period_endstring | nullValeur par défaut
statement.currency_defaultstring | nullValeur par défaut
statement.page_countinteger | nullValeur par défaut
accounts
Chemin du champType JSONPrésence
accountsarray<object>Valeur par défaut
accounts[].holderobjectValeur par défaut
accounts[].holder.namestring | nullValeur par défaut
accounts[].accountobjectValeur par défaut
accounts[].account.account_numberstring | nullValeur par défaut
accounts[].account.account_number_maskedstring | nullValeur par défaut
accounts[].account.ibanstring | nullValeur par défaut
accounts[].account.bicstring | nullValeur par défaut
accounts[].account.sort_codestring | nullValeur par défaut
accounts[].account.account_typestring | nullValeur par défaut
accounts[].account.account_namestring | nullValeur par défaut
accounts[].account.currencystring | nullValeur par défaut
accounts[].account.card_last4string | nullValeur par défaut
accounts[].balancesobjectValeur par défaut
accounts[].balances.openingobjectValeur par défaut
accounts[].balances.opening.amountstring | nullValeur par défaut
accounts[].balances.opening.as_ofstring | nullValeur par défaut
accounts[].balances.closingobjectValeur par défaut
accounts[].balances.closing.amountstring | nullValeur par défaut
accounts[].balances.closing.as_ofstring | nullValeur par défaut
accounts[].balances.availablestring | nullValeur par défaut
accounts[].totalsobjectValeur par défaut
accounts[].totals.credits_countinteger | nullValeur par défaut
accounts[].totals.credits_amountstring | nullValeur par défaut
accounts[].totals.debits_countinteger | nullValeur par défaut
accounts[].totals.debits_amountstring | nullValeur par défaut
accounts[].totals.fees_chargedstring | nullValeur par défaut
accounts[].totals.interest_paidstring | nullValeur par défaut
accounts[].totals.interest_chargedstring | nullValeur par défaut
accounts[].transactionsarray<object>Valeur par défaut
accounts[].transactions[].trntypestring | nullValeur par défaut
accounts[].transactions[].dtpostedstring | nullValeur par défaut
accounts[].transactions[].dtuserstring | nullValeur par défaut
accounts[].transactions[].trnamtstring | nullValeur par défaut
accounts[].transactions[].namestring | nullValeur par défaut
accounts[].transactions[].memostring | nullValeur par défaut
accounts[].transactions[].running_balancestring | nullValeur par défaut
accounts[].transactions[].fitidstring | nullValeur par défaut
accounts[].transactions[].refnumstring | nullValeur par défaut
accounts[].transactions[].checknumstring | nullValeur par défaut
accounts[].transactions[].card_last4string | nullValeur par défaut
accounts[].transactions[].feestring | nullValeur par défaut
reconciliation_warnings
Chemin du champType JSONPrésence
reconciliation_warningsarray<string>Valeur par défaut

Les tableaux relient les champs de sortie aux chemins JSON. || désigne la première valeur non vide ; ?? une valeur de remplacement pour null. Numérotation, descriptions combinées et mise en forme sont des règles d’export. Les valeurs absentes deviennent généralement des cellules vides.

Le format à plat contient les transactions avec les données de relevé et de compte répétées. Le format non plat regroupe le relevé et les transactions, soldes et totaux de chaque compte. Les sections dépendent du document.

À plat

Transactions répète les données du document et du compte pour chaque transaction. Sans transactions ou comptes, l’export plat produit tout de même une ligne d’identification aux champs de transaction vides.

Transactions (Excel / CSV / Word)
Champ de sortieSource JSON ou règle d’export
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

Non plat

Chaque compte a ses tableaux de transactions et de détails, côte à côte dans Excel et CSV. Les détails du relevé accompagnent le premier compte ; les avertissements apparaissent seulement s’ils existent. Word empile les sections. Les lignes champ/valeur sont détaillées ci-dessous.

Transactions
Champ de sortieSource JSON ou règle d’export
#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
Détails du compte ou de la carte
Champ de sortieSource JSON ou règle d’export
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
Soldes
Champ de sortieSource JSON ou règle d’export
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
Totaux
Champ de sortieSource JSON ou règle d’export
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
Détails du relevé
Champ de sortieSource JSON ou règle d’export
Doc IDdoc_id
Sourcesource_filename
Bankissuer.name
Statement datestatement.statement_date
Period startstatement.period_start
Period endstatement.period_end
Page countstatement.page_count
Avertissements
Champ de sortieSource JSON ou règle d’export
#index(reconciliation_warnings[]) + 1
Warningreconciliation_warnings[]

Les deux exports regroupent les transactions de tous les comptes. Xero ignore les montants null ; QuickBooks ignore null et zéro. QuickBooks privilégie memo à name ; une description purement numérique reçoit le préfixe trntype, name ou “Txn”. Les montants des cartes changent de signe. Aucune colonne distincte n’identifie le compte.

Xero CSV

Xero CSV
Champ de sortieSource JSON ou règle d’export
*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*Vide
Tax Rate (Display Name)*Vide
Tracking1Vide
Tracking2Vide
Transaction Typeaccounts[].transactions[].trntype
Analysis codeVide

QuickBooks CSV

QuickBooks CSV
Champ de sortieSource JSON ou règle d’export
Dateaccounts[].transactions[].dtposted → DD/MM/YYYY
Descriptionaccounts[].transactions[].memo || accounts[].transactions[].name || accounts[].transactions[].trntype || "Transaction"
Amountaccounts[].transactions[].trnamt

Relevé carte de crédit

Émetteur, période, comptes, soldes, limites, résumés et transactions. trnamt est positif pour les débits, négatif pour les paiements et remboursements, contrairement aux achats bancaires.

Champs JSON

Les types décrivent le JSON sérialisé. Les objets et tableaux précèdent leurs champs ; [] indique des entrées répétées. Les champs avec valeur par défaut ne doivent pas nécessairement être fournis par l’extraction. Les décimaux sont sérialisés en chaînes. Les téléchargements conservent les champs par défaut ; une valeur non extraite ne signifie pas une clé JSON omise.

issuer
Chemin du champType JSONPrésence
issuerobjectValeur par défaut
issuer.namestring | nullValeur par défaut
statement
Chemin du champType JSONPrésence
statementobjectValeur par défaut
statement.statement_datestring | nullValeur par défaut
statement.period_startstring | nullValeur par défaut
statement.period_endstring | nullValeur par défaut
statement.currency_defaultstring | nullValeur par défaut
statement.page_countinteger | nullValeur par défaut
accounts
Chemin du champType JSONPrésence
accountsarray<object>Valeur par défaut
accounts[].holderobjectValeur par défaut
accounts[].holder.namestring | nullValeur par défaut
accounts[].accountobjectValeur par défaut
accounts[].account.account_numberstring | nullValeur par défaut
accounts[].account.account_number_maskedstring | nullValeur par défaut
accounts[].account.card_last4string | nullValeur par défaut
accounts[].account.binstring | nullValeur par défaut
accounts[].account.card_networkstring | nullValeur par défaut
accounts[].account.card_brandstring | nullValeur par défaut
accounts[].account.card_productstring | nullValeur par défaut
accounts[].account.card_typestring | nullValeur par défaut
accounts[].account.currencystring | nullValeur par défaut
accounts[].balancesobjectValeur par défaut
accounts[].balances.previous_balanceobjectValeur par défaut
accounts[].balances.previous_balance.amountstring | nullValeur par défaut
accounts[].balances.previous_balance.as_ofstring | nullValeur par défaut
accounts[].balances.new_balanceobjectValeur par défaut
accounts[].balances.new_balance.amountstring | nullValeur par défaut
accounts[].balances.new_balance.as_ofstring | nullValeur par défaut
accounts[].balances.statement_balancestring | nullValeur par défaut
accounts[].balances.minimum_payment_duestring | nullValeur par défaut
accounts[].balances.payment_due_datestring | nullValeur par défaut
accounts[].balances.past_due_amountstring | nullValeur par défaut
accounts[].credit_limitsobjectValeur par défaut
accounts[].credit_limits.credit_limitstring | nullValeur par défaut
accounts[].credit_limits.available_creditstring | nullValeur par défaut
accounts[].credit_limits.cash_advance_limitstring | nullValeur par défaut
accounts[].credit_limits.available_cashstring | nullValeur par défaut
accounts[].credit_limits.over_limit_amountstring | nullValeur par défaut
accounts[].summaryobjectValeur par défaut
accounts[].summary.previous_balancestring | nullValeur par défaut
accounts[].summary.paymentsstring | nullValeur par défaut
accounts[].summary.credits_returnsstring | nullValeur par défaut
accounts[].summary.purchasesstring | nullValeur par défaut
accounts[].summary.cash_advancesstring | nullValeur par défaut
accounts[].summary.balance_transfersstring | nullValeur par défaut
accounts[].summary.fees_chargedstring | nullValeur par défaut
accounts[].summary.interest_chargedstring | nullValeur par défaut
accounts[].summary.adjustmentsstring | nullValeur par défaut
accounts[].summary.new_balancestring | nullValeur par défaut
accounts[].transactionsarray<object>Valeur par défaut
accounts[].transactions[].trntypestring | nullValeur par défaut
accounts[].transactions[].dtpostedstring | nullValeur par défaut
accounts[].transactions[].dtuserstring | nullValeur par défaut
accounts[].transactions[].trnamtstring | nullValeur par défaut
accounts[].transactions[].namestring | nullValeur par défaut
accounts[].transactions[].memostring | nullValeur par défaut
accounts[].transactions[].fitidstring | nullValeur par défaut
accounts[].transactions[].refnumstring | nullValeur par défaut
accounts[].transactions[].card_last4string | nullValeur par défaut
accounts[].transactions[].cardholder_namestring | nullValeur par défaut
accounts[].transactions[].is_foreignboolean | nullValeur par défaut
reconciliation_warnings
Chemin du champType JSONPrésence
reconciliation_warningsarray<string>Valeur par défaut

Les tableaux relient les champs de sortie aux chemins JSON. || désigne la première valeur non vide ; ?? une valeur de remplacement pour null. Numérotation, descriptions combinées et mise en forme sont des règles d’export. Les valeurs absentes deviennent généralement des cellules vides.

Le format à plat contient les transactions avec les champs de relevé et de compte répétés. Le format non plat contient des sections par compte pour transactions, soldes, limites et résumés. Plusieurs comptes modifient le nombre de sections.

À plat

Transactions répète les données du document et du compte pour chaque transaction. Sans transactions ou comptes, l’export plat produit tout de même une ligne d’identification aux champs de transaction vides.

Transactions (Excel / CSV / Word)
Champ de sortieSource JSON ou règle d’export
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 / ""

Non plat

Chaque compte a ses tableaux de transactions et de détails, côte à côte dans Excel et CSV. Les détails du relevé accompagnent le premier compte ; les avertissements apparaissent seulement s’ils existent. Word empile les sections. Les lignes champ/valeur sont détaillées ci-dessous.

Transactions
Champ de sortieSource JSON ou règle d’export
#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
Détails du compte ou de la carte
Champ de sortieSource JSON ou règle d’export
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
Soldes
Champ de sortieSource JSON ou règle d’export
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édit
Champ de sortieSource JSON ou règle d’export
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
Résumé des opérations
Champ de sortieSource JSON ou règle d’export
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
Détails du relevé
Champ de sortieSource JSON ou règle d’export
Doc IDdoc_id
Sourcesource_filename
Issuerissuer.name
Statement datestatement.statement_date
Period startstatement.period_start
Period endstatement.period_end
Page countstatement.page_count
Avertissements
Champ de sortieSource JSON ou règle d’export
#index(reconciliation_warnings[]) + 1
Warningreconciliation_warnings[]

Les deux exports regroupent les transactions de tous les comptes. Xero ignore les montants null ; QuickBooks ignore null et zéro. QuickBooks privilégie memo à name ; une description purement numérique reçoit le préfixe trntype, name ou “Txn”. Les montants des cartes changent de signe. Aucune colonne distincte n’identifie le compte.

Xero CSV

Xero CSV
Champ de sortieSource JSON ou règle d’export
*Dateaccounts[].transactions[].dtposted → DD/MM/YYYY
*Amount−accounts[].transactions[].trnamt
Payeeaccounts[].transactions[].name
DescriptionjoinDistinct(accounts[].transactions[].name, accounts[].transactions[].memo, " - ")
Referenceaccounts[].transactions[].refnum
Cheque NumberVide
Account code*Vide
Tax Rate (Display Name)*Vide
Tracking1Vide
Tracking2Vide
Transaction Typeaccounts[].transactions[].trntype
Analysis codeVide

QuickBooks CSV

QuickBooks CSV
Champ de sortieSource JSON ou règle d’export
Dateaccounts[].transactions[].dtposted → DD/MM/YYYY
Descriptionaccounts[].transactions[].memo || accounts[].transactions[].name || accounts[].transactions[].trntype || "Transaction"
Amount−accounts[].transactions[].trnamt

Fiche de paie

Période, salarié, employeur, taux, revenus, retenues, taxes, cotisations et totaux. current_amount concerne la période ; ytd_amount, le cumul annuel.

Champs JSON

Les types décrivent le JSON sérialisé. Les objets et tableaux précèdent leurs champs ; [] indique des entrées répétées. Les champs avec valeur par défaut ne doivent pas nécessairement être fournis par l’extraction. Les décimaux sont sérialisés en chaînes. Les téléchargements conservent les champs par défaut ; une valeur non extraite ne signifie pas une clé JSON omise.

statement
Chemin du champType JSONPrésence
statementobjectValeur par défaut
statement.issue_datestring | nullValeur par défaut
statement.pay_datestring | nullValeur par défaut
statement.period_startstring | nullValeur par défaut
statement.period_endstring | nullValeur par défaut
statement.period_typestring | nullValeur par défaut
statement.tax_yearinteger | nullValeur par défaut
statement.currencystring | nullValeur par défaut
statement.countrystring | nullValeur par défaut
employee
Chemin du champType JSONPrésence
employeeobjectValeur par défaut
employee.namestring | nullValeur par défaut
employee.pay_frequencystring | nullValeur par défaut
employee.employment_typestring | nullValeur par défaut
employee.employment_statusstring | nullValeur par défaut
employee.filing_statusstring | nullValeur par défaut
employee.tax_codestring | nullValeur par défaut
employer
Chemin du champType JSONPrésence
employerobjectValeur par défaut
employer.namestring | nullValeur par défaut
rates
Chemin du champType JSONPrésence
ratesobjectValeur par défaut
rates.base_pay_ratestring | nullValeur par défaut
rates.base_pay_unitstring | nullValeur par défaut
rates.annual_salarystring | nullValeur par défaut
rates.regular_hours_per_periodstring | nullValeur par défaut
rates.overtime_multiplierstring | nullValeur par défaut
earnings
Chemin du champType JSONPrésence
earningsarray<object>Valeur par défaut
earnings[].codestring | nullValeur par défaut
earnings[].descriptionstring | nullValeur par défaut
earnings[].categorystring | nullValeur par défaut
earnings[].jurisdictionstring | nullValeur par défaut
earnings[].hoursstring | nullValeur par défaut
earnings[].ratestring | nullValeur par défaut
earnings[].current_amountstring | nullValeur par défaut
earnings[].ytd_amountstring | nullValeur par défaut
earnings[].employer_matchstring | nullValeur par défaut
earnings[].employer_match_ytdstring | nullValeur par défaut
earnings[].is_taxableboolean | nullValeur par défaut
earnings[].is_imputedboolean | nullValeur par défaut
earnings[].memostring | nullValeur par défaut
pre_tax_deductions
Chemin du champType JSONPrésence
pre_tax_deductionsarray<object>Valeur par défaut
pre_tax_deductions[].codestring | nullValeur par défaut
pre_tax_deductions[].descriptionstring | nullValeur par défaut
pre_tax_deductions[].categorystring | nullValeur par défaut
pre_tax_deductions[].jurisdictionstring | nullValeur par défaut
pre_tax_deductions[].hoursstring | nullValeur par défaut
pre_tax_deductions[].ratestring | nullValeur par défaut
pre_tax_deductions[].current_amountstring | nullValeur par défaut
pre_tax_deductions[].ytd_amountstring | nullValeur par défaut
pre_tax_deductions[].employer_matchstring | nullValeur par défaut
pre_tax_deductions[].employer_match_ytdstring | nullValeur par défaut
pre_tax_deductions[].is_taxableboolean | nullValeur par défaut
pre_tax_deductions[].is_imputedboolean | nullValeur par défaut
pre_tax_deductions[].memostring | nullValeur par défaut
taxes
Chemin du champType JSONPrésence
taxesarray<object>Valeur par défaut
taxes[].codestring | nullValeur par défaut
taxes[].descriptionstring | nullValeur par défaut
taxes[].categorystring | nullValeur par défaut
taxes[].jurisdictionstring | nullValeur par défaut
taxes[].hoursstring | nullValeur par défaut
taxes[].ratestring | nullValeur par défaut
taxes[].current_amountstring | nullValeur par défaut
taxes[].ytd_amountstring | nullValeur par défaut
taxes[].employer_matchstring | nullValeur par défaut
taxes[].employer_match_ytdstring | nullValeur par défaut
taxes[].is_taxableboolean | nullValeur par défaut
taxes[].is_imputedboolean | nullValeur par défaut
taxes[].memostring | nullValeur par défaut
post_tax_deductions
Chemin du champType JSONPrésence
post_tax_deductionsarray<object>Valeur par défaut
post_tax_deductions[].codestring | nullValeur par défaut
post_tax_deductions[].descriptionstring | nullValeur par défaut
post_tax_deductions[].categorystring | nullValeur par défaut
post_tax_deductions[].jurisdictionstring | nullValeur par défaut
post_tax_deductions[].hoursstring | nullValeur par défaut
post_tax_deductions[].ratestring | nullValeur par défaut
post_tax_deductions[].current_amountstring | nullValeur par défaut
post_tax_deductions[].ytd_amountstring | nullValeur par défaut
post_tax_deductions[].employer_matchstring | nullValeur par défaut
post_tax_deductions[].employer_match_ytdstring | nullValeur par défaut
post_tax_deductions[].is_taxableboolean | nullValeur par défaut
post_tax_deductions[].is_imputedboolean | nullValeur par défaut
post_tax_deductions[].memostring | nullValeur par défaut
employer_contributions
Chemin du champType JSONPrésence
employer_contributionsarray<object>Valeur par défaut
employer_contributions[].codestring | nullValeur par défaut
employer_contributions[].descriptionstring | nullValeur par défaut
employer_contributions[].categorystring | nullValeur par défaut
employer_contributions[].jurisdictionstring | nullValeur par défaut
employer_contributions[].hoursstring | nullValeur par défaut
employer_contributions[].ratestring | nullValeur par défaut
employer_contributions[].current_amountstring | nullValeur par défaut
employer_contributions[].ytd_amountstring | nullValeur par défaut
employer_contributions[].employer_matchstring | nullValeur par défaut
employer_contributions[].employer_match_ytdstring | nullValeur par défaut
employer_contributions[].is_taxableboolean | nullValeur par défaut
employer_contributions[].is_imputedboolean | nullValeur par défaut
employer_contributions[].memostring | nullValeur par défaut
totals
Chemin du champType JSONPrésence
totalsobjectValeur par défaut
totals.gross_pay_currentstring | nullValeur par défaut
totals.gross_pay_ytdstring | nullValeur par défaut
totals.taxable_gross_currentstring | nullValeur par défaut
totals.taxable_gross_ytdstring | nullValeur par défaut
totals.total_pre_tax_deductions_currentstring | nullValeur par défaut
totals.total_pre_tax_deductions_ytdstring | nullValeur par défaut
totals.total_taxes_currentstring | nullValeur par défaut
totals.total_taxes_ytdstring | nullValeur par défaut
totals.total_post_tax_deductions_currentstring | nullValeur par défaut
totals.total_post_tax_deductions_ytdstring | nullValeur par défaut
totals.total_deductions_currentstring | nullValeur par défaut
totals.total_deductions_ytdstring | nullValeur par défaut
totals.total_employer_contributions_currentstring | nullValeur par défaut
totals.total_employer_contributions_ytdstring | nullValeur par défaut
totals.net_pay_currentstring | nullValeur par défaut
totals.net_pay_ytdstring | nullValeur par défaut
totals.hours_worked_currentstring | nullValeur par défaut
totals.hours_worked_ytdstring | nullValeur par défaut
reconciliation_warnings
Chemin du champType JSONPrésence
reconciliation_warningsarray<string>Valeur par défaut

Les tableaux relient les champs de sortie aux chemins JSON. || désigne la première valeur non vide ; ?? une valeur de remplacement pour null. Numérotation, descriptions combinées et mise en forme sont des règles d’export. Les valeurs absentes deviennent généralement des cellules vides.

Pas de choix à plat/non plat. La feuille Paystub comporte des sections pour période, salarié, employeur, taux, revenus, retenues, taxes, cotisations et totaux. CSV est une grille de sections ; Word les empile.

Mise en page dédiée

Voici les sections du format Paystub, côte à côte dans Excel et CSV et empilées dans Word. Les descriptions utilisent description ou code, avec “imputed” si is_imputed vaut true et “non-taxable” si is_taxable vaut false. Les colonnes Rate utilisent un format de pourcentage. Les totaux associent Current et YTD pour chaque Metric. Les avertissements apparaissent seulement s’ils existent.

Totaux
Champ de sortieSource JSON ou règle d’export
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
Détails du relevé
Champ de sortieSource JSON ou règle d’export
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
Salarié
Champ de sortieSource JSON ou règle d’export
Nameemployee.name
Pay frequencyemployee.pay_frequency
Employment typeemployee.employment_type
Employment statusemployee.employment_status
Filing statusemployee.filing_status
Tax codeemployee.tax_code
Employeur
Champ de sortieSource JSON ou règle d’export
Nameemployer.name
Taux de rémunération
Champ de sortieSource JSON ou règle d’export
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
Rémunération
Champ de sortieSource JSON ou règle d’export
#index(earnings[]) + 1
Descriptionearnings[].description || earnings[].code
Codeearnings[].code
Hoursearnings[].hours
Rateearnings[].rate
Currentearnings[].current_amount
YTDearnings[].ytd_amount
Memoearnings[].memo
Retenues avant impôt
Champ de sortieSource JSON ou règle d’export
#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
Taxes
Champ de sortieSource JSON ou règle d’export
#index(taxes[]) + 1
Descriptiontaxes[].description || taxes[].code
Codetaxes[].code
Jurisdictiontaxes[].jurisdiction
Ratetaxes[].rate
Currenttaxes[].current_amount
YTDtaxes[].ytd_amount
Retenues après impôt
Champ de sortieSource JSON ou règle d’export
#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
Cotisations patronales
Champ de sortieSource JSON ou règle d’export
#index(employer_contributions[]) + 1
Descriptionemployer_contributions[].description || employer_contributions[].code
Codeemployer_contributions[].code
Currentemployer_contributions[].current_amount
YTDemployer_contributions[].ytd_amount
Avertissements
Champ de sortieSource JSON ou règle d’export
#index(reconciliation_warnings[]) + 1
Warningreconciliation_warnings[]

Xero CSV

Non

QuickBooks CSV

Non

Image de tableau

Titre, en-têtes, cellules et notes. headers et rows[].cells suivent les colonnes sources, sans schéma financier fixe. Le type de ligne distingue données, sous-totaux et autres rôles.

Champs JSON

Les types décrivent le JSON sérialisé. Les objets et tableaux précèdent leurs champs ; [] indique des entrées répétées. Les champs avec valeur par défaut ne doivent pas nécessairement être fournis par l’extraction. Les décimaux sont sérialisés en chaînes. Les téléchargements conservent les champs par défaut ; une valeur non extraite ne signifie pas une clé JSON omise.

Document
Chemin du champType JSONPrésence
titlestring | nullValeur par défaut
captionstring | nullValeur par défaut
source_typestring | nullValeur par défaut
border_stylestring | nullValeur par défaut
languagestring | nullValeur par défaut
header_rowsinteger | nullValeur par défaut
notesstring | nullValeur par défaut
headers
Chemin du champType JSONPrésence
headersarray<array<any>>Valeur par défaut
rows
Chemin du champType JSONPrésence
rowsarray<object>Valeur par défaut
rows[].typestring | nullValeur par défaut
rows[].cellsarray<any>Valeur par défaut
reconciliation_warnings
Chemin du champType JSONPrésence
reconciliation_warningsarray<string>Valeur par défaut

Les tableaux relient les champs de sortie aux chemins JSON. || désigne la première valeur non vide ; ?? une valeur de remplacement pour null. Numérotation, descriptions combinées et mise en forme sont des règles d’export. Les valeurs absentes deviennent généralement des cellules vides.

Pas de choix à plat/non plat. La feuille Table utilise les en-têtes et cellules extraits. Les colonnes sont dynamiques ; titres, notes et avertissements peuvent ajouter des lignes. CSV ne conserve pas les fusions de cellules ni les styles Excel.

Mise en page dédiée

Les noms de colonnes viennent de headers, sans liste fixe. Les cellules gardent leur ordre ; les lignes courtes sont complétées et null devient vide. title et caption précèdent la grille, notes et avertissements la suivent. Excel fusionne les en-têtes adjacents identiques. rows[].type pilote le style Excel/Word, sans colonne supplémentaire. CSV n’a pas de style. Une ligne d’avertissement peut occuper deux colonnes même avec une seule colonne de données.

Structure du tableau
Champ de sortieSource JSON ou règle d’export
titletitle
captioncaption
headers[][]headers[][]
rows[].cells[]rows[].cells[]
Mise en forme des lignes (Excel / Word)rows[].type → DATA | HEADER | SECTION | SUBTOTAL | GRAND_TOTAL
Largeur de la grillemax(length(headers[]), length(rows[].cells)) || 1
Notesnotes
#index(reconciliation_warnings[]) + 1
Reconciliation warningsreconciliation_warnings[]

Xero CSV

Non

QuickBooks CSV

Non

Valeurs manquantes et vérification

Les champs pouvant être nuls acceptent null ; les listes absentes prennent []. Les objets imbriqués peuvent avoir leurs propres champs par défaut. Les exports affichent souvent les valeurs absentes comme des cellules vides. Dates et montants peuvent être normalisés ; le rapprochement peut calculer des totaux absents ou ajouter des avertissements. doc_id et source_filename sont des métadonnées d’export, pas des champs financiers extraits.

Vérifiez la source et les valeurs exportées. Une liste reconciliation_warnings vide ne prouve pas l’exactitude.

Schémas et mises en page des exports | ScanToExcel