Schematy i układy eksportu
Sprawdź, jakie pola wyodrębnia ScanToExcel i jak wyglądają w pobranych plikach. Obsługiwane pole nie gwarantuje jego obecności w dokumencie ani uzupełnienia przez ekstrakcję.
We wszystkich planach szablony eksportu używają angielskich nagłówków i nazw pól. Wyodrębniony tekst oraz nagłówki tabel źródłowych zazwyczaj pozostają w języku dokumentu. Zmiana języka strony nie tłumaczy pobieranych plików. Klucze JSON, predefiniowane etykiety arkuszy i nagłówki szablonów księgowych pozostają niezmienione. Daty, liczby, kody walut i niektóre kategorie mogą zostać ujednolicone; sprawdź wynik.
Wybierz wynik
- JSON
- JSON zachowuje zagnieżdżone dane, w tym listy pozycji i transakcji. Plik zawiera obiekt dokumentu bez metadanych limitu i transferu. Ustawienie płaskie nie zmienia JSON.
- Płaski
- Eksport płaski używa prostokątnej siatki wierszy i stałych kolumn. Każdy wiersz to pozycja lub transakcja, z powtórzonymi danymi dokumentu w razie potrzeby. Każda tabela ma własną stałą strukturę kolumn. Excel może zawierać kilka arkuszy; CSV zawiera jedną siatkę.
- Niepłaski
- Eksport niepłaski Excel i CSV ustawia osobne tabele obok siebie, każdą z własnym celem i kolumnami: dane dokumentu, pozycje, podatki, sumy lub ostrzeżenia. Nie tworzą jednej jednolitej tabeli danych. Word układa je pionowo. Odcinki wypłaty i obrazy tabel mają własne układy.
| Dokument | JSON | Układ | Xero CSV | QuickBooks CSV |
|---|---|---|---|---|
| Paragon | Tak | Płaski / Niepłaski | Tak | Nie |
| Faktura/Rachunek | Tak | Płaski / Niepłaski | Tak | Nie |
| Wyciąg bankowy | Tak | Płaski / Niepłaski | Tak | Tak |
| Wyciąg z karty kredytowej | Tak | Płaski / Niepłaski | Tak | Tak |
| Pasek płacowy/Odcinek wypłaty | Tak | Własny układ | Nie | Nie |
| Obraz tabeli | Tak | Własny układ | Nie | Nie |
Księgowe CSV to opcje Premium z własnymi szablonami. Tworzą pliki, nie bezpośrednie połączenie z Xero lub QuickBooks. Przed importem sprawdź pola i przypisania kont. Cennik
Paragon
Sprzedawca, data, waluta, numer, ilości, ceny, podatki, metoda płatności i sumy. Stawki podatku to ułamki: 0.20 oznacza 20%.
Pola JSON
Typy opisują serializowany JSON. Obiekty i tablice poprzedzają swoje pola; [] oznacza powtarzające się wpisy. Pola domyślne nie muszą pochodzić z ekstrakcji. Wartości dziesiętne są serializowane jako ciągi znaków. Pobierane pliki zachowują pola domyślne; brak wyodrębnionej wartości nie oznacza pominięcia klucza JSON.
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
vendor | string | null | Wartość domyślna |
date | string | null | Wartość domyślna |
currency | string | null | Wartość domyślna |
document_number | string | null | Wartość domyślna |
subtotal | string | null | Wartość domyślna |
tax | string | null | Wartość domyślna |
tax_inclusive | boolean | null | Wartość domyślna |
tip | string | null | Wartość domyślna |
payment_method | string | null | Wartość domyślna |
total | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
line_items | array<object> | Wartość domyślna |
line_items[].description | string | null | Wartość domyślna |
line_items[].quantity | string | null | Wartość domyślna |
line_items[].unit_price | string | null | Wartość domyślna |
line_items[].total | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
taxes | array<object> | Wartość domyślna |
taxes[].name | string | null | Wartość domyślna |
taxes[].rate | string | null | Wartość domyślna |
taxes[].base | string | null | Wartość domyślna |
taxes[].amount | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
reconciliation_warnings | array<string> | Wartość domyślna |
Płaski
Układ płaski zawiera pozycje i osobne podsumowanie w Excel. CSV zawiera tylko pozycje. Korekty podatku i napiwku mogą dodawać wiersze: line_total pochodzi z tax, taxes[].amount lub tip; description jest generowane, a quantity, unit_price i line_no są puste.
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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[]) |
Niepłaski
Układ niepłaski ustawia te tabele obok siebie. Dane i sumy używają wierszy pole/wartość; pozycje i podatki używają kolumn. Ostrzeżenia pojawiają się, gdy istnieją. unit_price nie występuje w niepłaskiej tabeli pozycji.
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| # | index(line_items[]) + 1 |
| Description | line_items[].description |
| Qty | line_items[].quantity |
| Line total | line_items[].total |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| Doc ID | doc_id |
| Source | source_filename |
| Vendor | vendor |
| Date | date |
| Currency | currency |
| Document # | document_number |
| Payment method | payment_method |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| Name | taxes[].name |
| Rate | taxes[].rate |
| Base | taxes[].base |
| Amount | taxes[].amount |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| Subtotal | subtotal |
| Tax | tax |
| Tax inclusive | tax_inclusive |
| Tip | tip |
| Total | total |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| # | index(reconciliation_warnings[]) + 1 |
| Warning | reconciliation_warnings[] |
Xero CSV
Jeden podsumowany wiersz na paragon. Pola bez źródła są puste, w tym AccountCode i TaxType. Uzupełnij wymagane przypisania przed importem.
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| *ContactName | vendor || "Unknown vendor" |
| EmailAddress | Puste |
| POAddressLine1 | Puste |
| POAddressLine2 | Puste |
| POAddressLine3 | Puste |
| POAddressLine4 | Puste |
| POCity | Puste |
| PORegion | Puste |
| POPostalCode | Puste |
| POCountry | Puste |
| *InvoiceNumber | document_number || "RCP-" + doc_id |
| Reference | "Receipt" |
| *InvoiceDate | date → DD/MM/YYYY |
| *DueDate | date → DD/MM/YYYY |
| Total | Puste |
| InventoryItemCode | Puste |
| *Description | join(line_items[].description) || vendor || "Receipt"; tip → "(incl. tip)" |
| *Quantity | 1 |
| *UnitAmount | subtotal / total / tax / tax_inclusive / tip |
| Discount | Puste |
| *AccountCode | Puste |
| *TaxType | Puste |
| TaxAmount | tax (0 → blank) |
| TrackingName1 | Puste |
| TrackingOption1 | Puste |
| TrackingName2 | Puste |
| TrackingOption2 | Puste |
| Currency | currency |
| BrandingTheme | Puste |
UnitAmount używa total, a zastępczo subtotal, gdy tax_inclusive jest true. W innym przypadku subtotal lub total minus tax, gdy brak subtotal. Brakujące kwoty mogą przyjmować zero. Następnie dodawany jest tip. Sprawdź podatki i napiwki przed importem.
QuickBooks CSV
Nie
Faktura/Rachunek
Daty i numery, nadawca i odbiorca, pozycje, podatki, rabaty, potrącenia i sumy. unit to wydrukowana jednostka; tax_rate to ułamek.
Pola JSON
Typy opisują serializowany JSON. Obiekty i tablice poprzedzają swoje pola; [] oznacza powtarzające się wpisy. Pola domyślne nie muszą pochodzić z ekstrakcji. Wartości dziesiętne są serializowane jako ciągi znaków. Pobierane pliki zachowują pola domyślne; brak wyodrębnionej wartości nie oznacza pominięcia klucza JSON.
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
invoice_number | string | null | Wartość domyślna |
issue_date | string | null | Wartość domyślna |
due_date | string | null | Wartość domyślna |
currency | string | null | Wartość domyślna |
payment_terms | string | null | Wartość domyślna |
purchase_order | string | null | Wartość domyślna |
notes | string | null | Wartość domyślna |
subtotal | string | null | Wartość domyślna |
discount | string | null | Wartość domyślna |
tax | string | null | Wartość domyślna |
tax_inclusive | boolean | null | Wartość domyślna |
withholdings | string | null | Wartość domyślna |
total | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
sender | object | null | Wartość domyślna |
sender.name | string | null | Wartość domyślna |
sender.address | object | null | Wartość domyślna |
sender.address.line1 | string | null | Wartość domyślna |
sender.address.line2 | string | null | Wartość domyślna |
sender.address.city | string | null | Wartość domyślna |
sender.address.region | string | null | Wartość domyślna |
sender.address.postal_code | string | null | Wartość domyślna |
sender.address.country | string | null | Wartość domyślna |
sender.address.raw | string | null | Wartość domyślna |
sender.tax_id | string | null | Wartość domyślna |
sender.email | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
receiver | object | null | Wartość domyślna |
receiver.name | string | null | Wartość domyślna |
receiver.address | object | null | Wartość domyślna |
receiver.address.line1 | string | null | Wartość domyślna |
receiver.address.line2 | string | null | Wartość domyślna |
receiver.address.city | string | null | Wartość domyślna |
receiver.address.region | string | null | Wartość domyślna |
receiver.address.postal_code | string | null | Wartość domyślna |
receiver.address.country | string | null | Wartość domyślna |
receiver.address.raw | string | null | Wartość domyślna |
receiver.tax_id | string | null | Wartość domyślna |
receiver.email | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
line_items | array<object> | Wartość domyślna |
line_items[].description | string | null | Wartość domyślna |
line_items[].quantity | string | null | Wartość domyślna |
line_items[].unit | string | null | Wartość domyślna |
line_items[].unit_price | string | null | Wartość domyślna |
line_items[].total | string | null | Wartość domyślna |
line_items[].tax_rate | string | null | Wartość domyślna |
line_items[].tax_amount | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
taxes | array<object> | Wartość domyślna |
taxes[].name | string | null | Wartość domyślna |
taxes[].rate | string | null | Wartość domyślna |
taxes[].base | string | null | Wartość domyślna |
taxes[].amount | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
reconciliation_warnings | array<string> | Wartość domyślna |
Tabele przypisują pola wyjściowe do ścieżek JSON. || oznacza pierwszą niepustą wartość; ?? wartość zastępczą dla null. Numeracja, łączone opisy i formatowanie to reguły eksportu. Brakujące wartości zwykle stają się pustymi komórkami.
Układ płaski zawiera pozycje z powtórzonymi danymi faktury. Niepłaski grupuje dane, strony, pozycje, podatki, sumy i ostrzeżenia; Word układa sekcje pionowo.
Płaski
Lines zawiera wiersz na pozycję z powtarzanymi danymi faktury. Wiersze korekt używają −discount, taxes[].amount (lub tax), gdy tax_inclusive nie jest true, oraz −withholdings. Ich opisy są generowane; line_no, quantity, unit i unit_price pozostają puste. Faktura bez pozycji również tworzy wiersz dokumentu.
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 |
Niepłaski
Te tabele są obok siebie w Excel i CSV; Word układa je pionowo. Obecna tabela pozycji Excel pomija Line total. CSV i Word je zawierają. Dane dokumentu i sumy używają wierszy pole/wartość. Ostrzeżenia pojawiają się tylko wtedy, gdy istnieją.
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| # | 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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) |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| Name | taxes[].name |
| Rate | taxes[].rate |
| Base | taxes[].base |
| Amount | taxes[].amount |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| Subtotal | subtotal |
| Discount | discount |
| Tax | tax |
| Tax inclusive | tax_inclusive |
| Withholdings | withholdings |
| Total | total |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| # | index(reconciliation_warnings[]) + 1 |
| Warning | reconciliation_warnings[] |
Xero CSV
Jeden wiersz na pozycję z powtarzanymi danymi odbiorcy. Bez pozycji wiersz zastępczy używa notes (lub “Invoice”) jako Description, 1 jako Quantity, total (lub subtotal) jako UnitAmount i tax jako TaxAmount. TaxAmount równy zero pozostaje pusty. Nieprzypisane kolumny są puste; nie dodaje się osobnych korekt rabatów ani potrąceń.
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| *ContactName | receiver.name || "Unknown customer" |
| EmailAddress | receiver.email |
| POAddressLine1 | receiver.address.line1 |
| POAddressLine2 | receiver.address.line2 |
| POAddressLine3 | Puste |
| POAddressLine4 | Puste |
| 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 | Puste |
| InventoryItemCode | Puste |
| *Description | line_items[].description |
| *Quantity | line_items[].quantity ?? 1 |
| *UnitAmount | line_items[].unit_price ?? (line_items[].total / (line_items[].quantity || 1)) |
| Discount | Puste |
| *AccountCode | Puste |
| *TaxType | Puste |
| TaxAmount | line_items[].tax_amount (0 → "") |
| TrackingName1 | Puste |
| TrackingOption1 | Puste |
| TrackingName2 | Puste |
| TrackingOption2 | Puste |
| Currency | currency |
| BrandingTheme | Puste |
QuickBooks CSV
Nie
Wyciąg bankowy
Wystawca, okres i konta z danymi, saldami, sumami i transakcjami. trnamt jest ujemne dla wypłat, dodatnie dla wpłat. dtposted to data księgowania, dtuser data waluty.
Pola JSON
Typy opisują serializowany JSON. Obiekty i tablice poprzedzają swoje pola; [] oznacza powtarzające się wpisy. Pola domyślne nie muszą pochodzić z ekstrakcji. Wartości dziesiętne są serializowane jako ciągi znaków. Pobierane pliki zachowują pola domyślne; brak wyodrębnionej wartości nie oznacza pominięcia klucza JSON.
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
issuer | object | Wartość domyślna |
issuer.name | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
statement | object | Wartość domyślna |
statement.statement_date | string | null | Wartość domyślna |
statement.period_start | string | null | Wartość domyślna |
statement.period_end | string | null | Wartość domyślna |
statement.currency_default | string | null | Wartość domyślna |
statement.page_count | integer | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
accounts | array<object> | Wartość domyślna |
accounts[].holder | object | Wartość domyślna |
accounts[].holder.name | string | null | Wartość domyślna |
accounts[].account | object | Wartość domyślna |
accounts[].account.account_number | string | null | Wartość domyślna |
accounts[].account.account_number_masked | string | null | Wartość domyślna |
accounts[].account.iban | string | null | Wartość domyślna |
accounts[].account.bic | string | null | Wartość domyślna |
accounts[].account.sort_code | string | null | Wartość domyślna |
accounts[].account.account_type | string | null | Wartość domyślna |
accounts[].account.account_name | string | null | Wartość domyślna |
accounts[].account.currency | string | null | Wartość domyślna |
accounts[].account.card_last4 | string | null | Wartość domyślna |
accounts[].balances | object | Wartość domyślna |
accounts[].balances.opening | object | Wartość domyślna |
accounts[].balances.opening.amount | string | null | Wartość domyślna |
accounts[].balances.opening.as_of | string | null | Wartość domyślna |
accounts[].balances.closing | object | Wartość domyślna |
accounts[].balances.closing.amount | string | null | Wartość domyślna |
accounts[].balances.closing.as_of | string | null | Wartość domyślna |
accounts[].balances.available | string | null | Wartość domyślna |
accounts[].totals | object | Wartość domyślna |
accounts[].totals.credits_count | integer | null | Wartość domyślna |
accounts[].totals.credits_amount | string | null | Wartość domyślna |
accounts[].totals.debits_count | integer | null | Wartość domyślna |
accounts[].totals.debits_amount | string | null | Wartość domyślna |
accounts[].totals.fees_charged | string | null | Wartość domyślna |
accounts[].totals.interest_paid | string | null | Wartość domyślna |
accounts[].totals.interest_charged | string | null | Wartość domyślna |
accounts[].transactions | array<object> | Wartość domyślna |
accounts[].transactions[].trntype | string | null | Wartość domyślna |
accounts[].transactions[].dtposted | string | null | Wartość domyślna |
accounts[].transactions[].dtuser | string | null | Wartość domyślna |
accounts[].transactions[].trnamt | string | null | Wartość domyślna |
accounts[].transactions[].name | string | null | Wartość domyślna |
accounts[].transactions[].memo | string | null | Wartość domyślna |
accounts[].transactions[].running_balance | string | null | Wartość domyślna |
accounts[].transactions[].fitid | string | null | Wartość domyślna |
accounts[].transactions[].refnum | string | null | Wartość domyślna |
accounts[].transactions[].checknum | string | null | Wartość domyślna |
accounts[].transactions[].card_last4 | string | null | Wartość domyślna |
accounts[].transactions[].fee | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
reconciliation_warnings | array<string> | Wartość domyślna |
Tabele przypisują pola wyjściowe do ścieżek JSON. || oznacza pierwszą niepustą wartość; ?? wartość zastępczą dla null. Numeracja, łączone opisy i formatowanie to reguły eksportu. Brakujące wartości zwykle stają się pustymi komórkami.
Układ płaski zawiera transakcje z powtórzonymi danymi wyciągu i konta. Niepłaski grupuje dane wyciągu oraz transakcje, salda i sumy każdego konta. Sekcje zależą od dokumentu.
Płaski
Transactions powtarza dane dokumentu i rachunku dla każdej transakcji. Gdy brakuje transakcji lub rachunków, eksport płaski nadal tworzy wiersz identyfikacyjny z pustymi polami transakcji.
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 |
Niepłaski
Każdy rachunek ma własne tabele transakcji i szczegółów, obok siebie w Excel i CSV. Dane wyciągu towarzyszą pierwszemu rachunkowi; ostrzeżenia pojawiają się tylko wtedy, gdy istnieją. Word układa sekcje pionowo. Wiersze pole/wartość opisano poniżej.
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| # | 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| # | index(reconciliation_warnings[]) + 1 |
| Warning | reconciliation_warnings[] |
Oba eksporty łączą transakcje ze wszystkich rachunków. Xero pomija kwoty null; QuickBooks pomija null i zero. QuickBooks wybiera memo przed name; opis wyłącznie liczbowy otrzymuje prefiks trntype, name lub “Txn”. Kwoty kart mają odwrócony znak. Pliki nie zawierają osobnej kolumny identyfikującej rachunek.
Xero CSV
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| *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* | Puste |
| Tax Rate (Display Name)* | Puste |
| Tracking1 | Puste |
| Tracking2 | Puste |
| Transaction Type | accounts[].transactions[].trntype |
| Analysis code | Puste |
QuickBooks CSV
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| Date | accounts[].transactions[].dtposted → DD/MM/YYYY |
| Description | accounts[].transactions[].memo || accounts[].transactions[].name || accounts[].transactions[].trntype || "Transaction" |
| Amount | accounts[].transactions[].trnamt |
Wyciąg z karty kredytowej
Wystawca, okres, konta, salda, limity, podsumowania i transakcje. trnamt jest dodatnie dla obciążeń, ujemne dla płatności i zwrotów, odwrotnie niż przy zakupach bankowych.
Pola JSON
Typy opisują serializowany JSON. Obiekty i tablice poprzedzają swoje pola; [] oznacza powtarzające się wpisy. Pola domyślne nie muszą pochodzić z ekstrakcji. Wartości dziesiętne są serializowane jako ciągi znaków. Pobierane pliki zachowują pola domyślne; brak wyodrębnionej wartości nie oznacza pominięcia klucza JSON.
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
issuer | object | Wartość domyślna |
issuer.name | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
statement | object | Wartość domyślna |
statement.statement_date | string | null | Wartość domyślna |
statement.period_start | string | null | Wartość domyślna |
statement.period_end | string | null | Wartość domyślna |
statement.currency_default | string | null | Wartość domyślna |
statement.page_count | integer | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
accounts | array<object> | Wartość domyślna |
accounts[].holder | object | Wartość domyślna |
accounts[].holder.name | string | null | Wartość domyślna |
accounts[].account | object | Wartość domyślna |
accounts[].account.account_number | string | null | Wartość domyślna |
accounts[].account.account_number_masked | string | null | Wartość domyślna |
accounts[].account.card_last4 | string | null | Wartość domyślna |
accounts[].account.bin | string | null | Wartość domyślna |
accounts[].account.card_network | string | null | Wartość domyślna |
accounts[].account.card_brand | string | null | Wartość domyślna |
accounts[].account.card_product | string | null | Wartość domyślna |
accounts[].account.card_type | string | null | Wartość domyślna |
accounts[].account.currency | string | null | Wartość domyślna |
accounts[].balances | object | Wartość domyślna |
accounts[].balances.previous_balance | object | Wartość domyślna |
accounts[].balances.previous_balance.amount | string | null | Wartość domyślna |
accounts[].balances.previous_balance.as_of | string | null | Wartość domyślna |
accounts[].balances.new_balance | object | Wartość domyślna |
accounts[].balances.new_balance.amount | string | null | Wartość domyślna |
accounts[].balances.new_balance.as_of | string | null | Wartość domyślna |
accounts[].balances.statement_balance | string | null | Wartość domyślna |
accounts[].balances.minimum_payment_due | string | null | Wartość domyślna |
accounts[].balances.payment_due_date | string | null | Wartość domyślna |
accounts[].balances.past_due_amount | string | null | Wartość domyślna |
accounts[].credit_limits | object | Wartość domyślna |
accounts[].credit_limits.credit_limit | string | null | Wartość domyślna |
accounts[].credit_limits.available_credit | string | null | Wartość domyślna |
accounts[].credit_limits.cash_advance_limit | string | null | Wartość domyślna |
accounts[].credit_limits.available_cash | string | null | Wartość domyślna |
accounts[].credit_limits.over_limit_amount | string | null | Wartość domyślna |
accounts[].summary | object | Wartość domyślna |
accounts[].summary.previous_balance | string | null | Wartość domyślna |
accounts[].summary.payments | string | null | Wartość domyślna |
accounts[].summary.credits_returns | string | null | Wartość domyślna |
accounts[].summary.purchases | string | null | Wartość domyślna |
accounts[].summary.cash_advances | string | null | Wartość domyślna |
accounts[].summary.balance_transfers | string | null | Wartość domyślna |
accounts[].summary.fees_charged | string | null | Wartość domyślna |
accounts[].summary.interest_charged | string | null | Wartość domyślna |
accounts[].summary.adjustments | string | null | Wartość domyślna |
accounts[].summary.new_balance | string | null | Wartość domyślna |
accounts[].transactions | array<object> | Wartość domyślna |
accounts[].transactions[].trntype | string | null | Wartość domyślna |
accounts[].transactions[].dtposted | string | null | Wartość domyślna |
accounts[].transactions[].dtuser | string | null | Wartość domyślna |
accounts[].transactions[].trnamt | string | null | Wartość domyślna |
accounts[].transactions[].name | string | null | Wartość domyślna |
accounts[].transactions[].memo | string | null | Wartość domyślna |
accounts[].transactions[].fitid | string | null | Wartość domyślna |
accounts[].transactions[].refnum | string | null | Wartość domyślna |
accounts[].transactions[].card_last4 | string | null | Wartość domyślna |
accounts[].transactions[].cardholder_name | string | null | Wartość domyślna |
accounts[].transactions[].is_foreign | boolean | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
reconciliation_warnings | array<string> | Wartość domyślna |
Tabele przypisują pola wyjściowe do ścieżek JSON. || oznacza pierwszą niepustą wartość; ?? wartość zastępczą dla null. Numeracja, łączone opisy i formatowanie to reguły eksportu. Brakujące wartości zwykle stają się pustymi komórkami.
Układ płaski zawiera transakcje z powtórzonymi polami wyciągu i konta. Niepłaski zawiera sekcje kont z transakcjami, saldami, limitami i podsumowaniami. Więcej kont zmienia liczbę sekcji.
Płaski
Transactions powtarza dane dokumentu i rachunku dla każdej transakcji. Gdy brakuje transakcji lub rachunków, eksport płaski nadal tworzy wiersz identyfikacyjny z pustymi polami transakcji.
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 / "" |
Niepłaski
Każdy rachunek ma własne tabele transakcji i szczegółów, obok siebie w Excel i CSV. Dane wyciągu towarzyszą pierwszemu rachunkowi; ostrzeżenia pojawiają się tylko wtedy, gdy istnieją. Word układa sekcje pionowo. Wiersze pole/wartość opisano poniżej.
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| # | 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| # | index(reconciliation_warnings[]) + 1 |
| Warning | reconciliation_warnings[] |
Oba eksporty łączą transakcje ze wszystkich rachunków. Xero pomija kwoty null; QuickBooks pomija null i zero. QuickBooks wybiera memo przed name; opis wyłącznie liczbowy otrzymuje prefiks trntype, name lub “Txn”. Kwoty kart mają odwrócony znak. Pliki nie zawierają osobnej kolumny identyfikującej rachunek.
Xero CSV
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| *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 | Puste |
| Account code* | Puste |
| Tax Rate (Display Name)* | Puste |
| Tracking1 | Puste |
| Tracking2 | Puste |
| Transaction Type | accounts[].transactions[].trntype |
| Analysis code | Puste |
QuickBooks CSV
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| Date | accounts[].transactions[].dtposted → DD/MM/YYYY |
| Description | accounts[].transactions[].memo || accounts[].transactions[].name || accounts[].transactions[].trntype || "Transaction" |
| Amount | −accounts[].transactions[].trnamt |
Pasek płacowy/Odcinek wypłaty
Okres, pracownik, pracodawca, stawki, zarobki, potrącenia, podatki, składki i sumy. current_amount dotyczy okresu, ytd_amount sumy od początku roku.
Pola JSON
Typy opisują serializowany JSON. Obiekty i tablice poprzedzają swoje pola; [] oznacza powtarzające się wpisy. Pola domyślne nie muszą pochodzić z ekstrakcji. Wartości dziesiętne są serializowane jako ciągi znaków. Pobierane pliki zachowują pola domyślne; brak wyodrębnionej wartości nie oznacza pominięcia klucza JSON.
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
statement | object | Wartość domyślna |
statement.issue_date | string | null | Wartość domyślna |
statement.pay_date | string | null | Wartość domyślna |
statement.period_start | string | null | Wartość domyślna |
statement.period_end | string | null | Wartość domyślna |
statement.period_type | string | null | Wartość domyślna |
statement.tax_year | integer | null | Wartość domyślna |
statement.currency | string | null | Wartość domyślna |
statement.country | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
employee | object | Wartość domyślna |
employee.name | string | null | Wartość domyślna |
employee.pay_frequency | string | null | Wartość domyślna |
employee.employment_type | string | null | Wartość domyślna |
employee.employment_status | string | null | Wartość domyślna |
employee.filing_status | string | null | Wartość domyślna |
employee.tax_code | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
employer | object | Wartość domyślna |
employer.name | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
rates | object | Wartość domyślna |
rates.base_pay_rate | string | null | Wartość domyślna |
rates.base_pay_unit | string | null | Wartość domyślna |
rates.annual_salary | string | null | Wartość domyślna |
rates.regular_hours_per_period | string | null | Wartość domyślna |
rates.overtime_multiplier | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
earnings | array<object> | Wartość domyślna |
earnings[].code | string | null | Wartość domyślna |
earnings[].description | string | null | Wartość domyślna |
earnings[].category | string | null | Wartość domyślna |
earnings[].jurisdiction | string | null | Wartość domyślna |
earnings[].hours | string | null | Wartość domyślna |
earnings[].rate | string | null | Wartość domyślna |
earnings[].current_amount | string | null | Wartość domyślna |
earnings[].ytd_amount | string | null | Wartość domyślna |
earnings[].employer_match | string | null | Wartość domyślna |
earnings[].employer_match_ytd | string | null | Wartość domyślna |
earnings[].is_taxable | boolean | null | Wartość domyślna |
earnings[].is_imputed | boolean | null | Wartość domyślna |
earnings[].memo | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
pre_tax_deductions | array<object> | Wartość domyślna |
pre_tax_deductions[].code | string | null | Wartość domyślna |
pre_tax_deductions[].description | string | null | Wartość domyślna |
pre_tax_deductions[].category | string | null | Wartość domyślna |
pre_tax_deductions[].jurisdiction | string | null | Wartość domyślna |
pre_tax_deductions[].hours | string | null | Wartość domyślna |
pre_tax_deductions[].rate | string | null | Wartość domyślna |
pre_tax_deductions[].current_amount | string | null | Wartość domyślna |
pre_tax_deductions[].ytd_amount | string | null | Wartość domyślna |
pre_tax_deductions[].employer_match | string | null | Wartość domyślna |
pre_tax_deductions[].employer_match_ytd | string | null | Wartość domyślna |
pre_tax_deductions[].is_taxable | boolean | null | Wartość domyślna |
pre_tax_deductions[].is_imputed | boolean | null | Wartość domyślna |
pre_tax_deductions[].memo | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
taxes | array<object> | Wartość domyślna |
taxes[].code | string | null | Wartość domyślna |
taxes[].description | string | null | Wartość domyślna |
taxes[].category | string | null | Wartość domyślna |
taxes[].jurisdiction | string | null | Wartość domyślna |
taxes[].hours | string | null | Wartość domyślna |
taxes[].rate | string | null | Wartość domyślna |
taxes[].current_amount | string | null | Wartość domyślna |
taxes[].ytd_amount | string | null | Wartość domyślna |
taxes[].employer_match | string | null | Wartość domyślna |
taxes[].employer_match_ytd | string | null | Wartość domyślna |
taxes[].is_taxable | boolean | null | Wartość domyślna |
taxes[].is_imputed | boolean | null | Wartość domyślna |
taxes[].memo | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
post_tax_deductions | array<object> | Wartość domyślna |
post_tax_deductions[].code | string | null | Wartość domyślna |
post_tax_deductions[].description | string | null | Wartość domyślna |
post_tax_deductions[].category | string | null | Wartość domyślna |
post_tax_deductions[].jurisdiction | string | null | Wartość domyślna |
post_tax_deductions[].hours | string | null | Wartość domyślna |
post_tax_deductions[].rate | string | null | Wartość domyślna |
post_tax_deductions[].current_amount | string | null | Wartość domyślna |
post_tax_deductions[].ytd_amount | string | null | Wartość domyślna |
post_tax_deductions[].employer_match | string | null | Wartość domyślna |
post_tax_deductions[].employer_match_ytd | string | null | Wartość domyślna |
post_tax_deductions[].is_taxable | boolean | null | Wartość domyślna |
post_tax_deductions[].is_imputed | boolean | null | Wartość domyślna |
post_tax_deductions[].memo | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
employer_contributions | array<object> | Wartość domyślna |
employer_contributions[].code | string | null | Wartość domyślna |
employer_contributions[].description | string | null | Wartość domyślna |
employer_contributions[].category | string | null | Wartość domyślna |
employer_contributions[].jurisdiction | string | null | Wartość domyślna |
employer_contributions[].hours | string | null | Wartość domyślna |
employer_contributions[].rate | string | null | Wartość domyślna |
employer_contributions[].current_amount | string | null | Wartość domyślna |
employer_contributions[].ytd_amount | string | null | Wartość domyślna |
employer_contributions[].employer_match | string | null | Wartość domyślna |
employer_contributions[].employer_match_ytd | string | null | Wartość domyślna |
employer_contributions[].is_taxable | boolean | null | Wartość domyślna |
employer_contributions[].is_imputed | boolean | null | Wartość domyślna |
employer_contributions[].memo | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
totals | object | Wartość domyślna |
totals.gross_pay_current | string | null | Wartość domyślna |
totals.gross_pay_ytd | string | null | Wartość domyślna |
totals.taxable_gross_current | string | null | Wartość domyślna |
totals.taxable_gross_ytd | string | null | Wartość domyślna |
totals.total_pre_tax_deductions_current | string | null | Wartość domyślna |
totals.total_pre_tax_deductions_ytd | string | null | Wartość domyślna |
totals.total_taxes_current | string | null | Wartość domyślna |
totals.total_taxes_ytd | string | null | Wartość domyślna |
totals.total_post_tax_deductions_current | string | null | Wartość domyślna |
totals.total_post_tax_deductions_ytd | string | null | Wartość domyślna |
totals.total_deductions_current | string | null | Wartość domyślna |
totals.total_deductions_ytd | string | null | Wartość domyślna |
totals.total_employer_contributions_current | string | null | Wartość domyślna |
totals.total_employer_contributions_ytd | string | null | Wartość domyślna |
totals.net_pay_current | string | null | Wartość domyślna |
totals.net_pay_ytd | string | null | Wartość domyślna |
totals.hours_worked_current | string | null | Wartość domyślna |
totals.hours_worked_ytd | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
reconciliation_warnings | array<string> | Wartość domyślna |
Tabele przypisują pola wyjściowe do ścieżek JSON. || oznacza pierwszą niepustą wartość; ?? wartość zastępczą dla null. Numeracja, łączone opisy i formatowanie to reguły eksportu. Brakujące wartości zwykle stają się pustymi komórkami.
Brak wyboru płaski/niepłaski. Arkusz Paystub ma sekcje okresu, pracownika, pracodawcy, stawek, zarobków, potrąceń, podatków, składek i sum. CSV to siatka sekcji; Word układa je pionowo.
Własny układ
To sekcje układu Paystub, obok siebie w Excel i CSV oraz pionowo w Word. Opisy używają description lub code, dodając “imputed”, gdy is_imputed jest true, oraz “non-taxable”, gdy is_taxable jest false. Kolumny Rate stosują format procentowy. Sumy łączą Current i YTD dla każdego Metric. Ostrzeżenia pojawiają się tylko wtedy, gdy istnieją.
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| Name | employer.name |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| # | 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| # | 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| # | 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| # | 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| # | 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 |
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| # | index(reconciliation_warnings[]) + 1 |
| Warning | reconciliation_warnings[] |
Xero CSV
Nie
QuickBooks CSV
Nie
Obraz tabeli
Tytuł, nagłówki, komórki i notatki. headers i rows[].cells odpowiadają kolumnom źródła, bez stałego schematu finansowego. Typ wiersza rozróżnia dane, sumy częściowe i inne role.
Pola JSON
Typy opisują serializowany JSON. Obiekty i tablice poprzedzają swoje pola; [] oznacza powtarzające się wpisy. Pola domyślne nie muszą pochodzić z ekstrakcji. Wartości dziesiętne są serializowane jako ciągi znaków. Pobierane pliki zachowują pola domyślne; brak wyodrębnionej wartości nie oznacza pominięcia klucza JSON.
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
title | string | null | Wartość domyślna |
caption | string | null | Wartość domyślna |
source_type | string | null | Wartość domyślna |
border_style | string | null | Wartość domyślna |
language | string | null | Wartość domyślna |
header_rows | integer | null | Wartość domyślna |
notes | string | null | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
headers | array<array<any>> | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
rows | array<object> | Wartość domyślna |
rows[].type | string | null | Wartość domyślna |
rows[].cells | array<any> | Wartość domyślna |
| Ścieżka pola | Typ JSON | Obecność |
|---|---|---|
reconciliation_warnings | array<string> | Wartość domyślna |
Tabele przypisują pola wyjściowe do ścieżek JSON. || oznacza pierwszą niepustą wartość; ?? wartość zastępczą dla null. Numeracja, łączone opisy i formatowanie to reguły eksportu. Brakujące wartości zwykle stają się pustymi komórkami.
Brak wyboru płaski/niepłaski. Arkusz Table używa wyodrębnionych nagłówków i komórek. Kolumny są dynamiczne; tytuły, notatki i ostrzeżenia mogą dodawać wiersze. CSV nie zachowuje scalania komórek ani stylów Excel.
Własny układ
Nazwy kolumn pochodzą z headers, a nie ze stałej listy. Komórki zachowują kolejność; krótsze wiersze są uzupełniane, a null staje się pustą komórką. title i caption są nad siatką, notes i ostrzeżenia pod nią. Excel scala jednakowe sąsiednie nagłówki. rows[].type steruje stylem Excel/Word, bez dodatkowej kolumny. CSV nie ma stylów. Wiersz ostrzeżenia może zajmować dwie kolumny nawet przy jednej kolumnie danych.
| Pole wynikowe | Źródło JSON lub reguła eksportu |
|---|---|
| title | title |
| caption | caption |
| headers[][] | headers[][] |
| rows[].cells[] | rows[].cells[] |
| Formatowanie wierszy (Excel / Word) | rows[].type → DATA | HEADER | SECTION | SUBTOTAL | GRAND_TOTAL |
| Szerokość siatki | max(length(headers[]), length(rows[].cells)) || 1 |
| Notes | notes |
| # | index(reconciliation_warnings[]) + 1 |
| Reconciliation warnings | reconciliation_warnings[] |
Xero CSV
Nie
QuickBooks CSV
Nie
Brakujące wartości i weryfikacja
Pola nullable mogą zawierać null; brakujące listy przyjmują []. Obiekty zagnieżdżone mogą mieć pola domyślne. Eksportery często pokazują brakujące wartości jako puste komórki. Daty i kwoty mogą być normalizowane; uzgadnianie może obliczać brakujące sumy lub dodawać ostrzeżenia. doc_id i source_filename to metadane eksportu, nie wyodrębnione pola finansowe.
Sprawdź źródło i wyeksportowane wartości. Pusta lista reconciliation_warnings nie dowodzi dokładności.