Schemi e layout di esportazione
Scopri quali campi estrae ScanToExcel e come appaiono nei download. Un campo supportato non garantisce che sia presente nel documento o compilato dall’estrazione.
In tutti i piani, i modelli di esportazione usano intestazioni e nomi dei campi in inglese. Il testo estratto e le intestazioni delle tabelle di origine restano generalmente nella lingua del documento. Cambiare la lingua del sito non traduce i file scaricati. Le chiavi JSON, le etichette predefinite dei fogli e le intestazioni dei modelli contabili restano fisse. Date, numeri, codici valuta e alcune categorie possono essere normalizzati; controlla il risultato.
Scegli l’output
- JSON
- JSON mantiene i dati annidati, inclusi elenchi di voci e transazioni. Il file contiene l’oggetto del documento, senza metadati di quota o trasferimento. L’impostazione piatta non cambia JSON.
- Piatto
- Gli export piatti usano una griglia rettangolare di righe e colonne uniformi. Ogni riga rappresenta una voce o transazione, ripetendo i dati del documento quando necessario. Ogni tabella ha una struttura fissa di colonne. Excel può contenere più fogli; CSV contiene una griglia.
- Non piatto
- Gli export Excel e CSV non piatti affiancano tabelle separate, ciascuna con uno scopo e colonne propri: dati del documento, voci, imposte, totali o avvisi. Non formano un’unica tabella uniforme. Word le dispone verticalmente. Buste paga e immagini di tabelle usano layout dedicati.
| Documento | JSON | Layout | Xero CSV | QuickBooks CSV |
|---|---|---|---|---|
| Scontrino | Sì | Piatto / Non piatto | Sì | No |
| Fattura/Bolletta | Sì | Piatto / Non piatto | Sì | No |
| Estratto Conto | Sì | Piatto / Non piatto | Sì | Sì |
| Estratto Conto Carta | Sì | Piatto / Non piatto | Sì | Sì |
| Busta Paga | Sì | Layout dedicato | No | No |
| Immagine di Tabella | Sì | Layout dedicato | No | No |
I CSV contabili sono opzioni Premium con modelli propri. Producono file scaricabili, non una connessione diretta a Xero o QuickBooks. Verifica campi e associazioni contabili prima di importare. Prezzi
Scontrino
Esercente, data, valuta, numero, quantità, prezzi, imposte, pagamento e totali. Le aliquote sono frazioni: 0.20 significa 20%.
Campi JSON
I tipi descrivono JSON serializzato. Oggetti e array precedono i loro campi; [] indica elementi ripetuti. I campi predefiniti non devono necessariamente provenire dall’estrazione. I decimali sono serializzati come stringhe. I download mantengono i campi predefiniti; un valore non estratto non equivale a una chiave JSON omessa.
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
vendor | string | null | Con valore predefinito |
date | string | null | Con valore predefinito |
currency | string | null | Con valore predefinito |
document_number | string | null | Con valore predefinito |
subtotal | string | null | Con valore predefinito |
tax | string | null | Con valore predefinito |
tax_inclusive | boolean | null | Con valore predefinito |
tip | string | null | Con valore predefinito |
payment_method | string | null | Con valore predefinito |
total | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
line_items | array<object> | Con valore predefinito |
line_items[].description | string | null | Con valore predefinito |
line_items[].quantity | string | null | Con valore predefinito |
line_items[].unit_price | string | null | Con valore predefinito |
line_items[].total | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
taxes | array<object> | Con valore predefinito |
taxes[].name | string | null | Con valore predefinito |
taxes[].rate | string | null | Con valore predefinito |
taxes[].base | string | null | Con valore predefinito |
taxes[].amount | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
reconciliation_warnings | array<string> | Con valore predefinito |
Piatto
Il layout piatto include voci e un riepilogo separato in Excel. CSV contiene solo le voci. Rettifiche di imposte e mance possono aggiungere righe: line_total deriva da tax, taxes[].amount o tip; description è generata, quantity, unit_price e line_no restano vuoti.
| Campo di output | Origine JSON o regola di export |
|---|---|
| doc_id | doc_id |
| source_filename | source_filename |
| vendor | vendor |
| date | date |
| currency | currency |
| document_number | document_number |
| line_no | index(line_items[]) + 1 |
| description | line_items[].description |
| quantity | line_items[].quantity |
| unit_price | line_items[].unit_price |
| line_total | line_items[].total |
| row_type | line | adjustment |
| Campo di output | Origine JSON o regola di export |
|---|---|
| doc_id | doc_id |
| source_filename | source_filename |
| vendor | vendor |
| date | date |
| currency | currency |
| document_number | document_number |
| subtotal | subtotal |
| tax | tax |
| tax_inclusive | tax_inclusive |
| tip | tip |
| payment_method | payment_method |
| total | total |
| tax_breakdown | join(taxes[].name, taxes[].rate, taxes[].amount) |
| warnings | join(reconciliation_warnings[]) |
Non piatto
Il layout non piatto affianca queste tabelle. Dati e totali usano righe campo/valore; voci e imposte usano colonne. Gli avvisi appaiono se presenti. unit_price non è incluso nella tabella non piatta delle voci.
| Campo di output | Origine JSON o regola di export |
|---|---|
| # | index(line_items[]) + 1 |
| Description | line_items[].description |
| Qty | line_items[].quantity |
| Line total | line_items[].total |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Doc ID | doc_id |
| Source | source_filename |
| Vendor | vendor |
| Date | date |
| Currency | currency |
| Document # | document_number |
| Payment method | payment_method |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Name | taxes[].name |
| Rate | taxes[].rate |
| Base | taxes[].base |
| Amount | taxes[].amount |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Subtotal | subtotal |
| Tax | tax |
| Tax inclusive | tax_inclusive |
| Tip | tip |
| Total | total |
| Campo di output | Origine JSON o regola di export |
|---|---|
| # | index(reconciliation_warnings[]) + 1 |
| Warning | reconciliation_warnings[] |
Xero CSV
Una riga riepilogativa per ricevuta. I campi senza origine restano vuoti, inclusi AccountCode e TaxType. Completa le associazioni necessarie prima di importare.
| Campo di output | Origine JSON o regola di export |
|---|---|
| *ContactName | vendor || "Unknown vendor" |
| EmailAddress | Vuoto |
| POAddressLine1 | Vuoto |
| POAddressLine2 | Vuoto |
| POAddressLine3 | Vuoto |
| POAddressLine4 | Vuoto |
| POCity | Vuoto |
| PORegion | Vuoto |
| POPostalCode | Vuoto |
| POCountry | Vuoto |
| *InvoiceNumber | document_number || "RCP-" + doc_id |
| Reference | "Receipt" |
| *InvoiceDate | date → DD/MM/YYYY |
| *DueDate | date → DD/MM/YYYY |
| Total | Vuoto |
| InventoryItemCode | Vuoto |
| *Description | join(line_items[].description) || vendor || "Receipt"; tip → "(incl. tip)" |
| *Quantity | 1 |
| *UnitAmount | subtotal / total / tax / tax_inclusive / tip |
| Discount | Vuoto |
| *AccountCode | Vuoto |
| *TaxType | Vuoto |
| TaxAmount | tax (0 → blank) |
| TrackingName1 | Vuoto |
| TrackingOption1 | Vuoto |
| TrackingName2 | Vuoto |
| TrackingOption2 | Vuoto |
| Currency | currency |
| BrandingTheme | Vuoto |
UnitAmount usa total, o subtotal in alternativa, se tax_inclusive è true. Altrimenti usa subtotal o total meno tax se subtotal manca. Gli importi mancanti possono diventare zero. Poi aggiunge tip. Verifica imposte e mance prima di importare.
QuickBooks CSV
No
Fattura/Bolletta
Date e riferimenti, mittente e destinatario, voci, imposte, sconti, ritenute e totali. unit è l’unità stampata; tax_rate è una frazione.
Campi JSON
I tipi descrivono JSON serializzato. Oggetti e array precedono i loro campi; [] indica elementi ripetuti. I campi predefiniti non devono necessariamente provenire dall’estrazione. I decimali sono serializzati come stringhe. I download mantengono i campi predefiniti; un valore non estratto non equivale a una chiave JSON omessa.
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
invoice_number | string | null | Con valore predefinito |
issue_date | string | null | Con valore predefinito |
due_date | string | null | Con valore predefinito |
currency | string | null | Con valore predefinito |
payment_terms | string | null | Con valore predefinito |
purchase_order | string | null | Con valore predefinito |
notes | string | null | Con valore predefinito |
subtotal | string | null | Con valore predefinito |
discount | string | null | Con valore predefinito |
tax | string | null | Con valore predefinito |
tax_inclusive | boolean | null | Con valore predefinito |
withholdings | string | null | Con valore predefinito |
total | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
sender | object | null | Con valore predefinito |
sender.name | string | null | Con valore predefinito |
sender.address | object | null | Con valore predefinito |
sender.address.line1 | string | null | Con valore predefinito |
sender.address.line2 | string | null | Con valore predefinito |
sender.address.city | string | null | Con valore predefinito |
sender.address.region | string | null | Con valore predefinito |
sender.address.postal_code | string | null | Con valore predefinito |
sender.address.country | string | null | Con valore predefinito |
sender.address.raw | string | null | Con valore predefinito |
sender.tax_id | string | null | Con valore predefinito |
sender.email | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
receiver | object | null | Con valore predefinito |
receiver.name | string | null | Con valore predefinito |
receiver.address | object | null | Con valore predefinito |
receiver.address.line1 | string | null | Con valore predefinito |
receiver.address.line2 | string | null | Con valore predefinito |
receiver.address.city | string | null | Con valore predefinito |
receiver.address.region | string | null | Con valore predefinito |
receiver.address.postal_code | string | null | Con valore predefinito |
receiver.address.country | string | null | Con valore predefinito |
receiver.address.raw | string | null | Con valore predefinito |
receiver.tax_id | string | null | Con valore predefinito |
receiver.email | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
line_items | array<object> | Con valore predefinito |
line_items[].description | string | null | Con valore predefinito |
line_items[].quantity | string | null | Con valore predefinito |
line_items[].unit | string | null | Con valore predefinito |
line_items[].unit_price | string | null | Con valore predefinito |
line_items[].total | string | null | Con valore predefinito |
line_items[].tax_rate | string | null | Con valore predefinito |
line_items[].tax_amount | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
taxes | array<object> | Con valore predefinito |
taxes[].name | string | null | Con valore predefinito |
taxes[].rate | string | null | Con valore predefinito |
taxes[].base | string | null | Con valore predefinito |
taxes[].amount | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
reconciliation_warnings | array<string> | Con valore predefinito |
Le tabelle collegano i campi di output ai percorsi JSON. || indica il primo valore non vuoto; ?? un valore alternativo per null. Numerazione, descrizioni combinate e formattazione sono regole di esportazione. I valori mancanti diventano in genere celle vuote.
Il layout piatto contiene voci con dettagli della fattura ripetuti. Quello non piatto raggruppa dati, parti, voci, imposte, totali e avvisi; Word dispone le sezioni verticalmente.
Piatto
Lines contiene una riga per voce con dati di fattura ripetuti. Le righe di rettifica usano −discount, taxes[].amount (o tax) quando tax_inclusive non è true, e −withholdings. Le descrizioni sono generate; line_no, quantity, unit e unit_price restano vuoti. Anche senza voci viene generata una riga di documento.
| Campo di output | Origine JSON o regola di export |
|---|---|
| doc_id | doc_id |
| source_filename | source_filename |
| invoice_number | invoice_number |
| issue_date | issue_date |
| due_date | due_date |
| currency | currency |
| sender | sender.name |
| receiver | receiver.name |
| line_no | index(line_items[]) + 1 |
| description | line_items[].description |
| quantity | line_items[].quantity |
| unit | line_items[].unit |
| unit_price | line_items[].unit_price |
| line_total | line_items[].total |
| tax_rate | line_items[].tax_rate |
| tax_amount | line_items[].tax_amount |
| row_type | line | adjustment |
Non piatto
Queste tabelle sono affiancate in Excel e CSV; Word le impila. La tabella delle voci Excel attualmente omette Line total. CSV e Word lo includono. Dati del documento e totali usano righe campo/valore. Gli avvisi compaiono solo se presenti.
| Campo di output | Origine JSON o regola di export |
|---|---|
| # | index(line_items[]) + 1 |
| Description | line_items[].description |
| Qty | line_items[].quantity |
| Unit | line_items[].unit |
| Unit price | line_items[].unit_price |
| Tax rate | line_items[].tax_rate |
| Tax amount | line_items[].tax_amount |
| Line total | line_items[].total |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Doc ID | doc_id |
| Source | source_filename |
| Invoice # | invoice_number |
| Issue date | issue_date |
| Due date | due_date |
| Currency | currency |
| Payment terms | payment_terms |
| PO # | purchase_order |
| Sender | sender.name |
| Sender tax ID | sender.tax_id |
| Sender address | sender.address.raw || join(sender.address.line1, line2, city, region, postal_code, country) |
| Receiver | receiver.name |
| Receiver tax ID | receiver.tax_id |
| Receiver address | receiver.address.raw || join(receiver.address.line1, line2, city, region, postal_code, country) |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Name | taxes[].name |
| Rate | taxes[].rate |
| Base | taxes[].base |
| Amount | taxes[].amount |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Subtotal | subtotal |
| Discount | discount |
| Tax | tax |
| Tax inclusive | tax_inclusive |
| Withholdings | withholdings |
| Total | total |
| Campo di output | Origine JSON o regola di export |
|---|---|
| # | index(reconciliation_warnings[]) + 1 |
| Warning | reconciliation_warnings[] |
Xero CSV
Una riga per voce con dati del destinatario ripetuti. Senza voci, una riga alternativa usa notes (o “Invoice”) per Description, 1 per Quantity, total (o subtotal) per UnitAmount e tax per TaxAmount. TaxAmount pari a zero resta vuoto. Le colonne non mappate restano vuote; non vengono aggiunte rettifiche separate per sconti o ritenute.
| Campo di output | Origine JSON o regola di export |
|---|---|
| *ContactName | receiver.name || "Unknown customer" |
| EmailAddress | receiver.email |
| POAddressLine1 | receiver.address.line1 |
| POAddressLine2 | receiver.address.line2 |
| POAddressLine3 | Vuoto |
| POAddressLine4 | Vuoto |
| POCity | receiver.address.city |
| PORegion | receiver.address.region |
| POPostalCode | receiver.address.postal_code |
| POCountry | receiver.address.country |
| *InvoiceNumber | invoice_number || "INV-" + doc_id |
| Reference | purchase_order |
| *InvoiceDate | issue_date → DD/MM/YYYY |
| *DueDate | (due_date || issue_date) → DD/MM/YYYY |
| Total | Vuoto |
| InventoryItemCode | Vuoto |
| *Description | line_items[].description |
| *Quantity | line_items[].quantity ?? 1 |
| *UnitAmount | line_items[].unit_price ?? (line_items[].total / (line_items[].quantity || 1)) |
| Discount | Vuoto |
| *AccountCode | Vuoto |
| *TaxType | Vuoto |
| TaxAmount | line_items[].tax_amount (0 → "") |
| TrackingName1 | Vuoto |
| TrackingOption1 | Vuoto |
| TrackingName2 | Vuoto |
| TrackingOption2 | Vuoto |
| Currency | currency |
| BrandingTheme | Vuoto |
QuickBooks CSV
No
Estratto Conto
Emittente, periodo e conti con identità, saldi, totali e transazioni. trnamt è negativo per uscite, positivo per entrate. dtposted è la data contabile; dtuser la valuta.
Campi JSON
I tipi descrivono JSON serializzato. Oggetti e array precedono i loro campi; [] indica elementi ripetuti. I campi predefiniti non devono necessariamente provenire dall’estrazione. I decimali sono serializzati come stringhe. I download mantengono i campi predefiniti; un valore non estratto non equivale a una chiave JSON omessa.
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
issuer | object | Con valore predefinito |
issuer.name | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
statement | object | Con valore predefinito |
statement.statement_date | string | null | Con valore predefinito |
statement.period_start | string | null | Con valore predefinito |
statement.period_end | string | null | Con valore predefinito |
statement.currency_default | string | null | Con valore predefinito |
statement.page_count | integer | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
accounts | array<object> | Con valore predefinito |
accounts[].holder | object | Con valore predefinito |
accounts[].holder.name | string | null | Con valore predefinito |
accounts[].account | object | Con valore predefinito |
accounts[].account.account_number | string | null | Con valore predefinito |
accounts[].account.account_number_masked | string | null | Con valore predefinito |
accounts[].account.iban | string | null | Con valore predefinito |
accounts[].account.bic | string | null | Con valore predefinito |
accounts[].account.sort_code | string | null | Con valore predefinito |
accounts[].account.account_type | string | null | Con valore predefinito |
accounts[].account.account_name | string | null | Con valore predefinito |
accounts[].account.currency | string | null | Con valore predefinito |
accounts[].account.card_last4 | string | null | Con valore predefinito |
accounts[].balances | object | Con valore predefinito |
accounts[].balances.opening | object | Con valore predefinito |
accounts[].balances.opening.amount | string | null | Con valore predefinito |
accounts[].balances.opening.as_of | string | null | Con valore predefinito |
accounts[].balances.closing | object | Con valore predefinito |
accounts[].balances.closing.amount | string | null | Con valore predefinito |
accounts[].balances.closing.as_of | string | null | Con valore predefinito |
accounts[].balances.available | string | null | Con valore predefinito |
accounts[].totals | object | Con valore predefinito |
accounts[].totals.credits_count | integer | null | Con valore predefinito |
accounts[].totals.credits_amount | string | null | Con valore predefinito |
accounts[].totals.debits_count | integer | null | Con valore predefinito |
accounts[].totals.debits_amount | string | null | Con valore predefinito |
accounts[].totals.fees_charged | string | null | Con valore predefinito |
accounts[].totals.interest_paid | string | null | Con valore predefinito |
accounts[].totals.interest_charged | string | null | Con valore predefinito |
accounts[].transactions | array<object> | Con valore predefinito |
accounts[].transactions[].trntype | string | null | Con valore predefinito |
accounts[].transactions[].dtposted | string | null | Con valore predefinito |
accounts[].transactions[].dtuser | string | null | Con valore predefinito |
accounts[].transactions[].trnamt | string | null | Con valore predefinito |
accounts[].transactions[].name | string | null | Con valore predefinito |
accounts[].transactions[].memo | string | null | Con valore predefinito |
accounts[].transactions[].running_balance | string | null | Con valore predefinito |
accounts[].transactions[].fitid | string | null | Con valore predefinito |
accounts[].transactions[].refnum | string | null | Con valore predefinito |
accounts[].transactions[].checknum | string | null | Con valore predefinito |
accounts[].transactions[].card_last4 | string | null | Con valore predefinito |
accounts[].transactions[].fee | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
reconciliation_warnings | array<string> | Con valore predefinito |
Le tabelle collegano i campi di output ai percorsi JSON. || indica il primo valore non vuoto; ?? un valore alternativo per null. Numerazione, descrizioni combinate e formattazione sono regole di esportazione. I valori mancanti diventano in genere celle vuote.
Il layout piatto contiene transazioni con dati ripetuti di estratto e conto. Quello non piatto raggruppa dati dell’estratto e transazioni, saldi e totali per conto. Le sezioni dipendono dal documento.
Piatto
Transactions ripete i dati del documento e del conto per ogni transazione. Se mancano transazioni o conti, l’esportazione piatta produce comunque una riga identificativa con campi di transazione vuoti.
| Campo di output | Origine JSON o regola di export |
|---|---|
| doc_id | doc_id |
| source_filename | source_filename |
| bank | issuer.name |
| account_holder | accounts[].holder.name |
| account_number | accounts[].account.account_number_masked || accounts[].account.account_number || accounts[].account.iban |
| account_type | accounts[].account.account_type |
| currency | accounts[].account.currency || statement.currency_default |
| period_start | statement.period_start |
| period_end | statement.period_end |
| txn_no | index(accounts[].transactions[]) + 1 |
| date | accounts[].transactions[].dtposted |
| value_date | accounts[].transactions[].dtuser |
| description | joinDistinct(accounts[].transactions[].name, accounts[].transactions[].memo, " - ") |
| reference | accounts[].transactions[].refnum |
| check_number | accounts[].transactions[].checknum |
| type | accounts[].transactions[].trntype |
| amount | accounts[].transactions[].trnamt |
| fee | accounts[].transactions[].fee |
| running_balance | accounts[].transactions[].running_balance |
Non piatto
Ogni conto ha tabelle proprie per transazioni e dettagli, affiancate in Excel e CSV. I dati dell’estratto accompagnano il primo conto; gli avvisi compaiono solo se presenti. Word impila le sezioni. Le righe campo/valore sono elencate sotto.
| Campo di output | Origine JSON o regola di export |
|---|---|
| # | index(accounts[].transactions[]) + 1 |
| Date | accounts[].transactions[].dtposted |
| Value date | accounts[].transactions[].dtuser |
| Description | joinDistinct(accounts[].transactions[].name, accounts[].transactions[].memo, " - ") |
| Reference | accounts[].transactions[].refnum |
| Check # | accounts[].transactions[].checknum |
| Type | accounts[].transactions[].trntype |
| Amount | accounts[].transactions[].trnamt |
| Running balance | accounts[].transactions[].running_balance |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Holder | accounts[].holder.name |
| Account name | accounts[].account.account_name |
| Account number | accounts[].account.account_number_masked || accounts[].account.account_number |
| IBAN | accounts[].account.iban |
| BIC | accounts[].account.bic |
| Sort code | accounts[].account.sort_code |
| Card last 4 | accounts[].account.card_last4 |
| Account type | accounts[].account.account_type |
| Currency | accounts[].account.currency |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Opening | accounts[].balances.opening.amount |
| Opening as of | accounts[].balances.opening.as_of |
| Closing | accounts[].balances.closing.amount |
| Closing as of | accounts[].balances.closing.as_of |
| Available | accounts[].balances.available |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Credits count | accounts[].totals.credits_count |
| Credits amount | accounts[].totals.credits_amount |
| Debits count | accounts[].totals.debits_count |
| Debits amount | accounts[].totals.debits_amount |
| Fees charged | accounts[].totals.fees_charged |
| Interest paid | accounts[].totals.interest_paid |
| Interest charged | accounts[].totals.interest_charged |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Doc ID | doc_id |
| Source | source_filename |
| Bank | issuer.name |
| Statement date | statement.statement_date |
| Period start | statement.period_start |
| Period end | statement.period_end |
| Page count | statement.page_count |
| Campo di output | Origine JSON o regola di export |
|---|---|
| # | index(reconciliation_warnings[]) + 1 |
| Warning | reconciliation_warnings[] |
Entrambe le esportazioni combinano le transazioni di tutti i conti. Xero salta importi null; QuickBooks salta null e zero. QuickBooks preferisce memo a name; una descrizione solo numerica riceve il prefisso trntype, name o “Txn”. Gli importi delle carte cambiano segno. Non è presente una colonna distinta per identificare il conto.
Xero CSV
| Campo di output | Origine JSON o regola di export |
|---|---|
| *Date | accounts[].transactions[].dtposted → DD/MM/YYYY |
| *Amount | accounts[].transactions[].trnamt |
| Payee | accounts[].transactions[].name |
| Description | joinDistinct(accounts[].transactions[].name, accounts[].transactions[].memo, " - ") |
| Reference | accounts[].transactions[].refnum |
| Cheque Number | accounts[].transactions[].checknum |
| Account code* | Vuoto |
| Tax Rate (Display Name)* | Vuoto |
| Tracking1 | Vuoto |
| Tracking2 | Vuoto |
| Transaction Type | accounts[].transactions[].trntype |
| Analysis code | Vuoto |
QuickBooks CSV
| Campo di output | Origine JSON o regola di export |
|---|---|
| Date | accounts[].transactions[].dtposted → DD/MM/YYYY |
| Description | accounts[].transactions[].memo || accounts[].transactions[].name || accounts[].transactions[].trntype || "Transaction" |
| Amount | accounts[].transactions[].trnamt |
Estratto Conto Carta
Emittente, periodo, conti, saldi, limiti, riepiloghi e transazioni. trnamt è positivo per addebiti, negativo per pagamenti e rimborsi, diversamente dagli acquisti bancari.
Campi JSON
I tipi descrivono JSON serializzato. Oggetti e array precedono i loro campi; [] indica elementi ripetuti. I campi predefiniti non devono necessariamente provenire dall’estrazione. I decimali sono serializzati come stringhe. I download mantengono i campi predefiniti; un valore non estratto non equivale a una chiave JSON omessa.
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
issuer | object | Con valore predefinito |
issuer.name | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
statement | object | Con valore predefinito |
statement.statement_date | string | null | Con valore predefinito |
statement.period_start | string | null | Con valore predefinito |
statement.period_end | string | null | Con valore predefinito |
statement.currency_default | string | null | Con valore predefinito |
statement.page_count | integer | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
accounts | array<object> | Con valore predefinito |
accounts[].holder | object | Con valore predefinito |
accounts[].holder.name | string | null | Con valore predefinito |
accounts[].account | object | Con valore predefinito |
accounts[].account.account_number | string | null | Con valore predefinito |
accounts[].account.account_number_masked | string | null | Con valore predefinito |
accounts[].account.card_last4 | string | null | Con valore predefinito |
accounts[].account.bin | string | null | Con valore predefinito |
accounts[].account.card_network | string | null | Con valore predefinito |
accounts[].account.card_brand | string | null | Con valore predefinito |
accounts[].account.card_product | string | null | Con valore predefinito |
accounts[].account.card_type | string | null | Con valore predefinito |
accounts[].account.currency | string | null | Con valore predefinito |
accounts[].balances | object | Con valore predefinito |
accounts[].balances.previous_balance | object | Con valore predefinito |
accounts[].balances.previous_balance.amount | string | null | Con valore predefinito |
accounts[].balances.previous_balance.as_of | string | null | Con valore predefinito |
accounts[].balances.new_balance | object | Con valore predefinito |
accounts[].balances.new_balance.amount | string | null | Con valore predefinito |
accounts[].balances.new_balance.as_of | string | null | Con valore predefinito |
accounts[].balances.statement_balance | string | null | Con valore predefinito |
accounts[].balances.minimum_payment_due | string | null | Con valore predefinito |
accounts[].balances.payment_due_date | string | null | Con valore predefinito |
accounts[].balances.past_due_amount | string | null | Con valore predefinito |
accounts[].credit_limits | object | Con valore predefinito |
accounts[].credit_limits.credit_limit | string | null | Con valore predefinito |
accounts[].credit_limits.available_credit | string | null | Con valore predefinito |
accounts[].credit_limits.cash_advance_limit | string | null | Con valore predefinito |
accounts[].credit_limits.available_cash | string | null | Con valore predefinito |
accounts[].credit_limits.over_limit_amount | string | null | Con valore predefinito |
accounts[].summary | object | Con valore predefinito |
accounts[].summary.previous_balance | string | null | Con valore predefinito |
accounts[].summary.payments | string | null | Con valore predefinito |
accounts[].summary.credits_returns | string | null | Con valore predefinito |
accounts[].summary.purchases | string | null | Con valore predefinito |
accounts[].summary.cash_advances | string | null | Con valore predefinito |
accounts[].summary.balance_transfers | string | null | Con valore predefinito |
accounts[].summary.fees_charged | string | null | Con valore predefinito |
accounts[].summary.interest_charged | string | null | Con valore predefinito |
accounts[].summary.adjustments | string | null | Con valore predefinito |
accounts[].summary.new_balance | string | null | Con valore predefinito |
accounts[].transactions | array<object> | Con valore predefinito |
accounts[].transactions[].trntype | string | null | Con valore predefinito |
accounts[].transactions[].dtposted | string | null | Con valore predefinito |
accounts[].transactions[].dtuser | string | null | Con valore predefinito |
accounts[].transactions[].trnamt | string | null | Con valore predefinito |
accounts[].transactions[].name | string | null | Con valore predefinito |
accounts[].transactions[].memo | string | null | Con valore predefinito |
accounts[].transactions[].fitid | string | null | Con valore predefinito |
accounts[].transactions[].refnum | string | null | Con valore predefinito |
accounts[].transactions[].card_last4 | string | null | Con valore predefinito |
accounts[].transactions[].cardholder_name | string | null | Con valore predefinito |
accounts[].transactions[].is_foreign | boolean | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
reconciliation_warnings | array<string> | Con valore predefinito |
Le tabelle collegano i campi di output ai percorsi JSON. || indica il primo valore non vuoto; ?? un valore alternativo per null. Numerazione, descrizioni combinate e formattazione sono regole di esportazione. I valori mancanti diventano in genere celle vuote.
Il layout piatto contiene transazioni con campi ripetuti di estratto e conto. Quello non piatto include sezioni per transazioni, saldi, limiti e riepiloghi per conto. Più conti cambiano il numero di sezioni.
Piatto
Transactions ripete i dati del documento e del conto per ogni transazione. Se mancano transazioni o conti, l’esportazione piatta produce comunque una riga identificativa con campi di transazione vuoti.
| Campo di output | Origine JSON o regola di export |
|---|---|
| doc_id | doc_id |
| source_filename | source_filename |
| issuer | issuer.name |
| cardholder | accounts[].transactions[].cardholder_name || accounts[].holder.name |
| card_last4 | accounts[].transactions[].card_last4 || accounts[].account.card_last4 |
| card_network | accounts[].account.card_network |
| card_brand | accounts[].account.card_brand |
| currency | accounts[].account.currency || statement.currency_default |
| period_start | statement.period_start |
| period_end | statement.period_end |
| txn_no | index(accounts[].transactions[]) + 1 |
| date | accounts[].transactions[].dtposted |
| posted_date | accounts[].transactions[].dtuser |
| description | joinDistinct(accounts[].transactions[].name, accounts[].transactions[].memo, " - ") |
| reference | accounts[].transactions[].refnum |
| type | accounts[].transactions[].trntype |
| amount | accounts[].transactions[].trnamt |
| is_foreign | accounts[].transactions[].is_foreign → Yes / No / "" |
Non piatto
Ogni conto ha tabelle proprie per transazioni e dettagli, affiancate in Excel e CSV. I dati dell’estratto accompagnano il primo conto; gli avvisi compaiono solo se presenti. Word impila le sezioni. Le righe campo/valore sono elencate sotto.
| Campo di output | Origine JSON o regola di export |
|---|---|
| # | index(accounts[].transactions[]) + 1 |
| Date | accounts[].transactions[].dtposted |
| Posted | accounts[].transactions[].dtuser |
| Description | joinDistinct(accounts[].transactions[].name, accounts[].transactions[].memo, " - ") |
| Reference | accounts[].transactions[].refnum |
| Type | accounts[].transactions[].trntype |
| Card last 4 | accounts[].transactions[].card_last4 || accounts[].account.card_last4 |
| Amount | accounts[].transactions[].trnamt |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Holder | accounts[].holder.name |
| Card last 4 | accounts[].account.card_last4 |
| Card network | accounts[].account.card_network |
| Card brand | accounts[].account.card_brand |
| Card product | accounts[].account.card_product |
| Card type | accounts[].account.card_type |
| Account number | accounts[].account.account_number_masked || accounts[].account.account_number |
| Currency | accounts[].account.currency |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Previous balance | accounts[].balances.previous_balance.amount |
| Previous balance as of | accounts[].balances.previous_balance.as_of |
| New balance | accounts[].balances.new_balance.amount |
| New balance as of | accounts[].balances.new_balance.as_of |
| Statement balance | accounts[].balances.statement_balance |
| Minimum payment | accounts[].balances.minimum_payment_due |
| Payment due date | accounts[].balances.payment_due_date |
| Past due | accounts[].balances.past_due_amount |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Credit limit | accounts[].credit_limits.credit_limit |
| Available credit | accounts[].credit_limits.available_credit |
| Cash advance limit | accounts[].credit_limits.cash_advance_limit |
| Available cash | accounts[].credit_limits.available_cash |
| Over limit | accounts[].credit_limits.over_limit_amount |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Previous balance | accounts[].summary.previous_balance |
| Payments | accounts[].summary.payments |
| Credits / returns | accounts[].summary.credits_returns |
| Purchases | accounts[].summary.purchases |
| Cash advances | accounts[].summary.cash_advances |
| Balance transfers | accounts[].summary.balance_transfers |
| Fees charged | accounts[].summary.fees_charged |
| Interest charged | accounts[].summary.interest_charged |
| Adjustments | accounts[].summary.adjustments |
| New balance | accounts[].summary.new_balance |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Doc ID | doc_id |
| Source | source_filename |
| Issuer | issuer.name |
| Statement date | statement.statement_date |
| Period start | statement.period_start |
| Period end | statement.period_end |
| Page count | statement.page_count |
| Campo di output | Origine JSON o regola di export |
|---|---|
| # | index(reconciliation_warnings[]) + 1 |
| Warning | reconciliation_warnings[] |
Entrambe le esportazioni combinano le transazioni di tutti i conti. Xero salta importi null; QuickBooks salta null e zero. QuickBooks preferisce memo a name; una descrizione solo numerica riceve il prefisso trntype, name o “Txn”. Gli importi delle carte cambiano segno. Non è presente una colonna distinta per identificare il conto.
Xero CSV
| Campo di output | Origine JSON o regola di export |
|---|---|
| *Date | accounts[].transactions[].dtposted → DD/MM/YYYY |
| *Amount | −accounts[].transactions[].trnamt |
| Payee | accounts[].transactions[].name |
| Description | joinDistinct(accounts[].transactions[].name, accounts[].transactions[].memo, " - ") |
| Reference | accounts[].transactions[].refnum |
| Cheque Number | Vuoto |
| Account code* | Vuoto |
| Tax Rate (Display Name)* | Vuoto |
| Tracking1 | Vuoto |
| Tracking2 | Vuoto |
| Transaction Type | accounts[].transactions[].trntype |
| Analysis code | Vuoto |
QuickBooks CSV
| Campo di output | Origine JSON o regola di export |
|---|---|
| Date | accounts[].transactions[].dtposted → DD/MM/YYYY |
| Description | accounts[].transactions[].memo || accounts[].transactions[].name || accounts[].transactions[].trntype || "Transaction" |
| Amount | −accounts[].transactions[].trnamt |
Busta Paga
Periodo, dipendente, datore, tariffe, retribuzioni, trattenute, imposte, contributi e totali. current_amount riguarda il periodo; ytd_amount il cumulato annuo.
Campi JSON
I tipi descrivono JSON serializzato. Oggetti e array precedono i loro campi; [] indica elementi ripetuti. I campi predefiniti non devono necessariamente provenire dall’estrazione. I decimali sono serializzati come stringhe. I download mantengono i campi predefiniti; un valore non estratto non equivale a una chiave JSON omessa.
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
statement | object | Con valore predefinito |
statement.issue_date | string | null | Con valore predefinito |
statement.pay_date | string | null | Con valore predefinito |
statement.period_start | string | null | Con valore predefinito |
statement.period_end | string | null | Con valore predefinito |
statement.period_type | string | null | Con valore predefinito |
statement.tax_year | integer | null | Con valore predefinito |
statement.currency | string | null | Con valore predefinito |
statement.country | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
employee | object | Con valore predefinito |
employee.name | string | null | Con valore predefinito |
employee.pay_frequency | string | null | Con valore predefinito |
employee.employment_type | string | null | Con valore predefinito |
employee.employment_status | string | null | Con valore predefinito |
employee.filing_status | string | null | Con valore predefinito |
employee.tax_code | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
employer | object | Con valore predefinito |
employer.name | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
rates | object | Con valore predefinito |
rates.base_pay_rate | string | null | Con valore predefinito |
rates.base_pay_unit | string | null | Con valore predefinito |
rates.annual_salary | string | null | Con valore predefinito |
rates.regular_hours_per_period | string | null | Con valore predefinito |
rates.overtime_multiplier | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
earnings | array<object> | Con valore predefinito |
earnings[].code | string | null | Con valore predefinito |
earnings[].description | string | null | Con valore predefinito |
earnings[].category | string | null | Con valore predefinito |
earnings[].jurisdiction | string | null | Con valore predefinito |
earnings[].hours | string | null | Con valore predefinito |
earnings[].rate | string | null | Con valore predefinito |
earnings[].current_amount | string | null | Con valore predefinito |
earnings[].ytd_amount | string | null | Con valore predefinito |
earnings[].employer_match | string | null | Con valore predefinito |
earnings[].employer_match_ytd | string | null | Con valore predefinito |
earnings[].is_taxable | boolean | null | Con valore predefinito |
earnings[].is_imputed | boolean | null | Con valore predefinito |
earnings[].memo | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
pre_tax_deductions | array<object> | Con valore predefinito |
pre_tax_deductions[].code | string | null | Con valore predefinito |
pre_tax_deductions[].description | string | null | Con valore predefinito |
pre_tax_deductions[].category | string | null | Con valore predefinito |
pre_tax_deductions[].jurisdiction | string | null | Con valore predefinito |
pre_tax_deductions[].hours | string | null | Con valore predefinito |
pre_tax_deductions[].rate | string | null | Con valore predefinito |
pre_tax_deductions[].current_amount | string | null | Con valore predefinito |
pre_tax_deductions[].ytd_amount | string | null | Con valore predefinito |
pre_tax_deductions[].employer_match | string | null | Con valore predefinito |
pre_tax_deductions[].employer_match_ytd | string | null | Con valore predefinito |
pre_tax_deductions[].is_taxable | boolean | null | Con valore predefinito |
pre_tax_deductions[].is_imputed | boolean | null | Con valore predefinito |
pre_tax_deductions[].memo | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
taxes | array<object> | Con valore predefinito |
taxes[].code | string | null | Con valore predefinito |
taxes[].description | string | null | Con valore predefinito |
taxes[].category | string | null | Con valore predefinito |
taxes[].jurisdiction | string | null | Con valore predefinito |
taxes[].hours | string | null | Con valore predefinito |
taxes[].rate | string | null | Con valore predefinito |
taxes[].current_amount | string | null | Con valore predefinito |
taxes[].ytd_amount | string | null | Con valore predefinito |
taxes[].employer_match | string | null | Con valore predefinito |
taxes[].employer_match_ytd | string | null | Con valore predefinito |
taxes[].is_taxable | boolean | null | Con valore predefinito |
taxes[].is_imputed | boolean | null | Con valore predefinito |
taxes[].memo | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
post_tax_deductions | array<object> | Con valore predefinito |
post_tax_deductions[].code | string | null | Con valore predefinito |
post_tax_deductions[].description | string | null | Con valore predefinito |
post_tax_deductions[].category | string | null | Con valore predefinito |
post_tax_deductions[].jurisdiction | string | null | Con valore predefinito |
post_tax_deductions[].hours | string | null | Con valore predefinito |
post_tax_deductions[].rate | string | null | Con valore predefinito |
post_tax_deductions[].current_amount | string | null | Con valore predefinito |
post_tax_deductions[].ytd_amount | string | null | Con valore predefinito |
post_tax_deductions[].employer_match | string | null | Con valore predefinito |
post_tax_deductions[].employer_match_ytd | string | null | Con valore predefinito |
post_tax_deductions[].is_taxable | boolean | null | Con valore predefinito |
post_tax_deductions[].is_imputed | boolean | null | Con valore predefinito |
post_tax_deductions[].memo | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
employer_contributions | array<object> | Con valore predefinito |
employer_contributions[].code | string | null | Con valore predefinito |
employer_contributions[].description | string | null | Con valore predefinito |
employer_contributions[].category | string | null | Con valore predefinito |
employer_contributions[].jurisdiction | string | null | Con valore predefinito |
employer_contributions[].hours | string | null | Con valore predefinito |
employer_contributions[].rate | string | null | Con valore predefinito |
employer_contributions[].current_amount | string | null | Con valore predefinito |
employer_contributions[].ytd_amount | string | null | Con valore predefinito |
employer_contributions[].employer_match | string | null | Con valore predefinito |
employer_contributions[].employer_match_ytd | string | null | Con valore predefinito |
employer_contributions[].is_taxable | boolean | null | Con valore predefinito |
employer_contributions[].is_imputed | boolean | null | Con valore predefinito |
employer_contributions[].memo | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
totals | object | Con valore predefinito |
totals.gross_pay_current | string | null | Con valore predefinito |
totals.gross_pay_ytd | string | null | Con valore predefinito |
totals.taxable_gross_current | string | null | Con valore predefinito |
totals.taxable_gross_ytd | string | null | Con valore predefinito |
totals.total_pre_tax_deductions_current | string | null | Con valore predefinito |
totals.total_pre_tax_deductions_ytd | string | null | Con valore predefinito |
totals.total_taxes_current | string | null | Con valore predefinito |
totals.total_taxes_ytd | string | null | Con valore predefinito |
totals.total_post_tax_deductions_current | string | null | Con valore predefinito |
totals.total_post_tax_deductions_ytd | string | null | Con valore predefinito |
totals.total_deductions_current | string | null | Con valore predefinito |
totals.total_deductions_ytd | string | null | Con valore predefinito |
totals.total_employer_contributions_current | string | null | Con valore predefinito |
totals.total_employer_contributions_ytd | string | null | Con valore predefinito |
totals.net_pay_current | string | null | Con valore predefinito |
totals.net_pay_ytd | string | null | Con valore predefinito |
totals.hours_worked_current | string | null | Con valore predefinito |
totals.hours_worked_ytd | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
reconciliation_warnings | array<string> | Con valore predefinito |
Le tabelle collegano i campi di output ai percorsi JSON. || indica il primo valore non vuoto; ?? un valore alternativo per null. Numerazione, descrizioni combinate e formattazione sono regole di esportazione. I valori mancanti diventano in genere celle vuote.
Nessuna scelta piatto/non piatto. Il foglio Paystub contiene sezioni per periodo, dipendente, datore, tariffe, retribuzioni, trattenute, imposte, contributi e totali. CSV usa sezioni in una griglia; Word le impila.
Layout dedicato
Queste sono le sezioni del layout Paystub, affiancate in Excel e CSV e impilate in Word. Le descrizioni usano description o code e aggiungono “imputed” se is_imputed è true e “non-taxable” se is_taxable è false. Le colonne Rate usano il formato percentuale. I totali affiancano Current e YTD per ogni Metric. Gli avvisi compaiono solo se presenti.
| Campo di output | Origine JSON o regola di export |
|---|---|
| Gross pay / Current | totals.gross_pay_current |
| Gross pay / YTD | totals.gross_pay_ytd |
| Taxable gross / Current | totals.taxable_gross_current |
| Taxable gross / YTD | totals.taxable_gross_ytd |
| Pre-tax deductions / Current | totals.total_pre_tax_deductions_current |
| Pre-tax deductions / YTD | totals.total_pre_tax_deductions_ytd |
| Taxes / Current | totals.total_taxes_current |
| Taxes / YTD | totals.total_taxes_ytd |
| Post-tax deductions / Current | totals.total_post_tax_deductions_current |
| Post-tax deductions / YTD | totals.total_post_tax_deductions_ytd |
| Total deductions / Current | totals.total_deductions_current |
| Total deductions / YTD | totals.total_deductions_ytd |
| Employer contributions / Current | totals.total_employer_contributions_current |
| Employer contributions / YTD | totals.total_employer_contributions_ytd |
| Net pay / Current | totals.net_pay_current |
| Net pay / YTD | totals.net_pay_ytd |
| Hours worked / Current | totals.hours_worked_current |
| Hours worked / YTD | totals.hours_worked_ytd |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Doc ID | doc_id |
| Source | source_filename |
| Issue date | statement.issue_date |
| Pay date | statement.pay_date |
| Period start | statement.period_start |
| Period end | statement.period_end |
| Period type | statement.period_type |
| Tax year | statement.tax_year |
| Currency | statement.currency |
| Country | statement.country |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Name | employee.name |
| Pay frequency | employee.pay_frequency |
| Employment type | employee.employment_type |
| Employment status | employee.employment_status |
| Filing status | employee.filing_status |
| Tax code | employee.tax_code |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Name | employer.name |
| Campo di output | Origine JSON o regola di export |
|---|---|
| Base pay rate | rates.base_pay_rate |
| Base pay unit | rates.base_pay_unit |
| Annual salary | rates.annual_salary |
| Regular hours/period | rates.regular_hours_per_period |
| Overtime multiplier | rates.overtime_multiplier |
| Campo di output | Origine JSON o regola di export |
|---|---|
| # | index(earnings[]) + 1 |
| Description | earnings[].description || earnings[].code |
| Code | earnings[].code |
| Hours | earnings[].hours |
| Rate | earnings[].rate |
| Current | earnings[].current_amount |
| YTD | earnings[].ytd_amount |
| Memo | earnings[].memo |
| Campo di output | Origine JSON o regola di export |
|---|---|
| # | index(pre_tax_deductions[]) + 1 |
| Description | pre_tax_deductions[].description || pre_tax_deductions[].code |
| Code | pre_tax_deductions[].code |
| Current | pre_tax_deductions[].current_amount |
| YTD | pre_tax_deductions[].ytd_amount |
| Memo | pre_tax_deductions[].memo |
| Campo di output | Origine JSON o regola di export |
|---|---|
| # | index(taxes[]) + 1 |
| Description | taxes[].description || taxes[].code |
| Code | taxes[].code |
| Jurisdiction | taxes[].jurisdiction |
| Rate | taxes[].rate |
| Current | taxes[].current_amount |
| YTD | taxes[].ytd_amount |
| Campo di output | Origine JSON o regola di export |
|---|---|
| # | index(post_tax_deductions[]) + 1 |
| Description | post_tax_deductions[].description || post_tax_deductions[].code |
| Code | post_tax_deductions[].code |
| Current | post_tax_deductions[].current_amount |
| YTD | post_tax_deductions[].ytd_amount |
| Memo | post_tax_deductions[].memo |
| Campo di output | Origine JSON o regola di export |
|---|---|
| # | index(employer_contributions[]) + 1 |
| Description | employer_contributions[].description || employer_contributions[].code |
| Code | employer_contributions[].code |
| Current | employer_contributions[].current_amount |
| YTD | employer_contributions[].ytd_amount |
| Campo di output | Origine JSON o regola di export |
|---|---|
| # | index(reconciliation_warnings[]) + 1 |
| Warning | reconciliation_warnings[] |
Xero CSV
No
QuickBooks CSV
No
Immagine di Tabella
Titolo, intestazioni, celle e note. headers e rows[].cells seguono le colonne originali, senza uno schema finanziario fisso. Il tipo di riga distingue dati, subtotali e altri ruoli.
Campi JSON
I tipi descrivono JSON serializzato. Oggetti e array precedono i loro campi; [] indica elementi ripetuti. I campi predefiniti non devono necessariamente provenire dall’estrazione. I decimali sono serializzati come stringhe. I download mantengono i campi predefiniti; un valore non estratto non equivale a una chiave JSON omessa.
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
title | string | null | Con valore predefinito |
caption | string | null | Con valore predefinito |
source_type | string | null | Con valore predefinito |
border_style | string | null | Con valore predefinito |
language | string | null | Con valore predefinito |
header_rows | integer | null | Con valore predefinito |
notes | string | null | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
headers | array<array<any>> | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
rows | array<object> | Con valore predefinito |
rows[].type | string | null | Con valore predefinito |
rows[].cells | array<any> | Con valore predefinito |
| Percorso del campo | Tipo JSON | Presenza |
|---|---|---|
reconciliation_warnings | array<string> | Con valore predefinito |
Le tabelle collegano i campi di output ai percorsi JSON. || indica il primo valore non vuoto; ?? un valore alternativo per null. Numerazione, descrizioni combinate e formattazione sono regole di esportazione. I valori mancanti diventano in genere celle vuote.
Nessuna scelta piatto/non piatto. Il foglio Table usa intestazioni e celle estratte. Le colonne sono dinamiche; titoli, note e avvisi possono aggiungere righe. CSV non conserva unioni di celle o stili Excel.
Layout dedicato
I nomi delle colonne provengono da headers, non da un elenco fisso. Le celle mantengono l’ordine; le righe corte sono completate e null diventa vuoto. title e caption precedono la griglia, notes e avvisi la seguono. Excel unisce intestazioni adiacenti uguali. rows[].type controlla lo stile Excel/Word, senza una colonna aggiuntiva. CSV non ha stile. Una riga di avviso può usare due colonne anche con una sola colonna di dati.
| Campo di output | Origine JSON o regola di export |
|---|---|
| title | title |
| caption | caption |
| headers[][] | headers[][] |
| rows[].cells[] | rows[].cells[] |
| Formattazione delle righe (Excel / Word) | rows[].type → DATA | HEADER | SECTION | SUBTOTAL | GRAND_TOTAL |
| Larghezza della griglia | max(length(headers[]), length(rows[].cells)) || 1 |
| Notes | notes |
| # | index(reconciliation_warnings[]) + 1 |
| Reconciliation warnings | reconciliation_warnings[] |
Xero CSV
No
QuickBooks CSV
No
Valori mancanti e verifica
I campi nullable possono contenere null; gli elenchi mancanti diventano []. Gli oggetti annidati possono avere campi predefiniti. Gli esportatori mostrano spesso i valori mancanti come celle vuote. Date e importi possono essere normalizzati; la riconciliazione può calcolare totali mancanti o aggiungere avvisi. doc_id e source_filename sono metadati di esportazione, non campi finanziari estratti.
Verifica l’originale e i valori esportati. Un elenco reconciliation_warnings vuoto non dimostra accuratezza.