Ocost liefert jeden gelesenen Beleg als ocost.document.v1. Fragen Sie ihn mit GET /public/v1/files/{file_id}/document oder GET /public/v1/documents/{document_id} ab. Die Felder folgen der EN 16931, der Norm hinter XRechnung, ZUGFeRD und Peppol UBL. Jedes Feld nennt seinen Business Term (BT-…) oder seine Gruppe (BG-…), und lässt sich so auf UBL oder CII abbilden.
Prüfen Sie gegen das JSON Schema oder erzeugen Sie Typen daraus. Felder und Werte unten listen alles, was es enthält.
Ein Beispiel
Eine Eingangsrechnung mit zwei Positionen zu 19 % und 2 % Skonto innerhalb von 14 Tagen:
{
"schema": "ocost.document.v1",
"id": "01a1b08c-7aa1-7b52-9d4e-2f1f1c0c4f11",
"file_id": "01a1b08c-6e3a-7562-8f4a-7924722667b1",
"pages": [1],
"kind": "invoice",
"kind_detail": "invoice",
"direction": "incoming",
"type_code": "380",
"number": "RE-2026-1187",
"issue_date": "2026-11-03",
"due_date": "2026-12-03",
"delivery_date": "2026-10-30",
"invoicing_period_start": null,
"invoicing_period_end": null,
"valid_until": null,
"currency": "EUR",
"buyer_reference": null,
"order_reference": "PO-2316",
"order_references": ["PO-2316"],
"preceding_invoice": null,
"seller": {
"name": "Musterbüro Lieferant GmbH",
"vat_id": "DE123456789",
"tax_registration_id": null,
"legal_registration_id": "HRB 12345",
"address": { "street": "Beispielweg 4", "postal_code": "50667", "city": "Köln", "country": "DE" },
"contact": { "email": "rechnung@lieferant.example", "phone": null },
"website": null
},
"buyer": {
"name": "Beispiel Handel GmbH",
"vat_id": "DE987654321",
"tax_registration_id": null,
"legal_registration_id": null,
"address": { "street": "Hauptstraße 1", "postal_code": "40213", "city": "Düsseldorf", "country": "DE" },
"contact": null,
"website": null
},
"payee": null,
"deliver_to": null,
"other_parties": [],
"payment": {
"means_code": "58",
"means": "transfer",
"iban": "DE02120300000000202051",
"bic": null,
"terms": "14 Tage 2 % Skonto, 30 Tage netto",
"net_days": 30,
"paid_on": null
},
"early_payment_discounts": [
{ "days": 14, "percent": "2", "base_amount": null, "due_date": "2026-11-17" }
],
"totals": { "net": "1068.00", "tax": "202.92", "gross": "1270.92", "payable": null, "prices_include_vat": false },
"vat_breakdown": [
{ "category": "S", "rate": "19", "taxable_amount": "1068.00", "tax_amount": "202.92", "exemption_reason": null }
],
"lines": [
{
"id": "1", "name": "Bürostuhl ErgoPlus schwarz", "seller_item_id": "ES-200", "standard_item_id": null,
"quantity": "4", "unit": "H87", "price": "189.00", "base_quantity": null, "net_amount": "756.00",
"discount_percent": null, "vat_category": "S", "vat_rate": "19",
"ordered_quantity": null, "backordered_quantity": null, "batch": null, "pzn": null,
"attributes": { "colour": "schwarz" }
},
{
"id": "2", "name": "Montage", "seller_item_id": null, "standard_item_id": null,
"quantity": "4", "unit": "HUR", "price": "78.00", "base_quantity": null, "net_amount": "312.00",
"discount_percent": null, "vat_category": "S", "vat_rate": "19",
"ordered_quantity": null, "backordered_quantity": null, "batch": null, "pzn": null,
"attributes": {}
}
],
"deductions": [],
"card": null,
"worked_out": [],
"sources": {
"number": { "page": 1, "quote": "RE-2026-1187", "confidence": "read", "why": null },
"totals.gross": { "page": 1, "quote": "1.270,92 €", "confidence": "checked", "why": null },
"seller.vat_id": { "page": 1, "quote": "DE123456789", "confidence": "checked", "why": null }
},
"checks": [
{ "name": "vat", "passed": true, "sums": true, "fields": ["totals.net", "totals.tax"], "at": "19" },
{ "name": "gross", "passed": true, "sums": true, "fields": ["totals.net", "totals.tax", "totals.gross"], "at": null }
],
"tax_check": { "case": "standard", "missing": [] },
"attention": [],
"possible_duplicate_of": null,
"read_with": "reader"
}
Art und Richtung
Verzweigen Sie nach kind. Es fasst Ocosts viele Belegarten zu wenigen zusammen, etwa invoice, credit_note, delivery_note und contract. kind_detail nennt die genaue Art, zur Information. type_code gibt den UNCL-1001-Code der Rechnung, etwa 380 für eine Rechnung oder 381 für eine Gutschrift.
direction sagt, ob der Beleg incoming von einem Lieferanten kommt, outgoing von Ihrem Unternehmen, oder unsure ist. Ocost ermittelt es aus USt-IdNr., Steuernummer und Namen unter Einstellungen › Unternehmen. Halten Sie diese also aktuell.
Wie Werte geschrieben sind
| Wert | Geschrieben als |
|---|
| Beträge und Mengen | Dezimalzahlen als Zeichenketten, wie gedruckt, etwa "1270.92". Nie als Zahlen, nutzen Sie also einen Dezimaltyp. |
| Sätze | Prozent als Zeichenketten, etwa "19" oder "5.5". |
| Daten, Währungen, Länder | ISO 8601 (2026-11-03), ISO 4217 (EUR), ISO 3166-1 alpha-2 (DE). |
| Einheiten | UNECE Recommendation 20 (H87 Stück, HUR Stunde) oder 21 (XCT Karton). |
| Falsch gelesene Codes | null. Eine Währung, ein Land, eine Einheit, eine Steuerkategorie, IBAN oder BIC, die kein gültiger Code ist, wird nie wie gedruckt weitergegeben. |
| Fehlende Werte | null, wenn nicht gedruckt oder wenn Ocost nicht sicher war. Ocost rät nie. Über MCP fehlt ein solches Feld stattdessen. |
Wie sicher Ocost ist
sources sagt für jeden Wert, nach seinem Pfad, wo er gelesen wurde: seine page und sein quote. Seine confidence ist eine von dreien:
| Confidence | Bedeutung |
|---|
checked | Eine Prüfung hat ihn bestätigt, oder er stammt aus einer E-Rechnung. |
read | Nichts spricht dagegen. |
doubt | Eine Prüfung schlug fehl, und why nennt sie. Oder seine Wörter fanden sich nicht auf seiner Seite. |
checks listet jede Prüfung, die Ocost im Code ausführte, mit passed. Die Prüfungen mit sums: true rechnen die Beträge nach. Füllen Sie eine Rechnung ohne Blick einer Person nur, wenn jede davon bestanden hat.
attention listet, was sich eine Person vor dem Buchen ansehen sollte, etwa ein mögliches Duplikat. tax_check enthält die Prüfung einer Eingangsrechnung nach § 14 UStG.
from decimal import Decimal
document = session.get(f"{API}/files/{file_id}/document", timeout=15).json()
sums_hold = all(c["passed"] for c in document["checks"] if c["sums"])
gross = Decimal(document["totals"]["gross"]) if document["totals"]["gross"] else None
doubts = [path for path, s in document["sources"].items() if s["confidence"] == "doubt"]
const document = await fetch(`${API}/documents/${documentId}`, { headers: auth }).then((r) => r.json());
const sumsHold = document.checks.filter((c) => c.sums).every((c) => c.passed);
// Beträge sind Zeichenketten: als solche behalten oder mit einer Dezimal-Bibliothek rechnen.
console.log(document.number, document.totals.gross, sumsHold);
Versionen
Die Form ist stabil. Innerhalb von v1 kann Ocost einer Liste Werte hinzufügen, benennt aber nie ein Feld oder einen Wert um und entfernt keines. Behandeln Sie ein unbekanntes kind als other, und scheitern Sie nie an einem unbekannten Wert. Eine inkompatible Änderung kommt als ocost.document.v2 unter /public/v2, und v1 bleibt 12 weitere Monate.
Felder
Jedes Feld, aus Ocosts Code geschrieben. Das JSON Schema enthält dasselbe. Die Beschreibungen stehen dort wie hier auf Englisch.
Document
| Feld | Typ | Bedeutung |
|---|
schema | ocost.document.v1 | Always this |
id | uuid | The document |
file_id | uuid | The file it is in |
pages | Liste aus integer | Its pages in the file, from 1 |
kind | Aufzählung, Werte | What a document is, grouped so an integrator branches on few; the exact kind is kind_detail. |
kind_detail | Aufzählung, Werte | The exact kind, one of Ocost's document types, for information |
direction | Aufzählung, Werte | Whether the business received or issued it. |
type_code | string (380) oder null | BT-3, UNCL 1001 |
number | string oder null | BT-1 |
issue_date | date oder null | BT-2 |
due_date | date oder null | BT-9 |
delivery_date | date oder null | BT-72 |
invoicing_period_start | date oder null | BT-73 |
invoicing_period_end | date oder null | BT-74 |
valid_until | date oder null | A quote's |
currency | string (EUR) oder null | BT-5, ISO 4217 |
buyer_reference | string oder null | BT-10 |
order_reference | string oder null | BT-13 |
order_references | Liste aus string | Every order it names |
preceding_invoice | string oder null | BT-25 |
seller | Party oder null | BG-4 |
buyer | Party oder null | BG-7 |
payee | Party oder null | BG-10: when not the seller |
deliver_to | Address oder null | BG-15 |
other_parties | Liste aus OtherParty | Every other party named |
payment | Payment | BG-16. |
early_payment_discounts | Liste aus EarlyPaymentDiscount | Skonto: XRechnung's #SKONTO# in BT-20. |
totals | Totals | BG-22. |
vat_breakdown | Liste aus VatGroup | BG-23. |
lines | Liste aus Line | BG-25. |
deductions | Liste aus Deduction | A final invoice's: an earlier invoice it takes off. |
card | Card oder null | What a document without fields of its own says: a title, a summary and its facts (deadlines first). |
worked_out | Liste aus WorkedOut | An amount Ocost worked out because the one read can't be it. |
sources | Zuordnung zu Source | Per value, by its path |
checks | Liste aus Check | A check Ocost ran in code, and whether it passed. |
tax_check | TaxCheck oder null | An incoming invoice's § 14 UStG check (Germany's rules). |
attention | Liste aus Aufzählung, Werte | What a person should look at before booking it. |
possible_duplicate_of | uuid oder null | An earlier document of the same kind, number and seller |
read_with | Aufzählung, Werte | How Ocost read it |
Party
| Feld | Typ | Bedeutung |
|---|
name | string oder null | BT-27 (seller), BT-44 (buyer) |
vat_id | string oder null | BT-31, BT-48 |
tax_registration_id | string oder null | BT-32: the tax number (Steuernummer) |
legal_registration_id | string oder null | BT-30, BT-47: the register entry (HRB …) |
address | Address oder null | BG-5, BG-8 |
contact | Contact oder null | BG-6, BG-9 |
website | string oder null | As printed: a host, with or without its scheme |
Address
| Feld | Typ | Bedeutung |
|---|
street | string oder null | BT-35 (seller), BT-50 (buyer) |
postal_code | string oder null | BT-38, BT-53 |
city | string oder null | BT-37, BT-52 |
country | string (DE) oder null | BT-40, BT-55: ISO 3166-1 alpha-2 |
OtherParty
| Feld | Typ | Bedeutung |
|---|
name | string oder null | BT-27 (seller), BT-44 (buyer) |
vat_id | string oder null | BT-31, BT-48 |
tax_registration_id | string oder null | BT-32: the tax number (Steuernummer) |
legal_registration_id | string oder null | BT-30, BT-47: the register entry (HRB …) |
address | Address oder null | BG-5, BG-8 |
contact | Contact oder null | BG-6, BG-9 |
website | string oder null | As printed: a host, with or without its scheme |
role | Aufzählung, Werte | What it is to the document |
printed_role | string oder null | The words printed for its role |
Payment
| Feld | Typ | Bedeutung |
|---|
means_code | Aufzählung, Werte oder null | BT-81, UNCL 4461; null when it doesn't say or it was paid already |
means | Aufzählung, Werte oder null | The same, as a word |
iban | string (DE02120300000000202051) oder null | BT-84, without spaces |
bic | string (BYLADEM1001) oder null | BT-86 |
terms | string oder null | BT-20, as printed |
net_days | integer oder null | The days the terms give to pay in full from the issue date |
paid_on | date oder null | The day it says it was paid or charged, where printed |
EarlyPaymentDiscount
| Feld | Typ | Bedeutung |
|---|
days | integer | |
percent | Dezimalzahl | 2 for 2 % |
base_amount | Dezimalzahl oder null | What it is taken off, where printed; null: the amount due |
due_date | date oder null | The last day for it: the issue date plus days |
Totals
| Feld | Typ | Bedeutung |
|---|
net | Dezimalzahl oder null | BT-109 |
tax | Dezimalzahl oder null | BT-110 |
gross | Dezimalzahl oder null | BT-112 |
payable | Dezimalzahl oder null | BT-115: what is left to pay; null when it is the gross |
prices_include_vat | boolean | Its lines' prices and amounts include VAT (a receipt) |
VatGroup
| Feld | Typ | Bedeutung |
|---|
category | Aufzählung, Werte oder null | BT-118 |
rate | Dezimalzahl oder null | BT-119, percent: 19 |
taxable_amount | Dezimalzahl | BT-116 |
tax_amount | Dezimalzahl | BT-117 |
exemption_reason | string oder null | BT-120 |
Line
| Feld | Typ | Bedeutung |
|---|
id | string | BT-126: its position |
name | string | BT-153 |
seller_item_id | string oder null | BT-155: the article number |
standard_item_id | string oder null | BT-157: the GTIN (scheme 0160) |
quantity | Dezimalzahl oder null | BT-129 |
unit | string (C62) oder null | BT-130: UNECE Rec 20 (C62, HUR, KGM) or Rec 21 (XCT); null when none is printed or it is no code |
price | Dezimalzahl oder null | BT-146: the net price |
base_quantity | Dezimalzahl oder null | BT-149: how many units price is for; null: one |
net_amount | Dezimalzahl oder null | BT-131 |
discount_percent | Dezimalzahl oder null | The line's discount: 5 |
vat_category | Aufzählung, Werte oder null | BT-151 |
vat_rate | Dezimalzahl oder null | BT-152, percent |
ordered_quantity | Dezimalzahl oder null | A delivery note's |
backordered_quantity | Dezimalzahl oder null | Still to come |
batch | string oder null | Its batch (Charge), as printed |
pzn | string oder null | A medicine's PZN |
attributes | Zuordnung zu string | What it is, as printed: colour, size, material, brand, … |
Deduction
| Feld | Typ | Bedeutung |
|---|
number | string oder null | |
issue_date | date oder null | |
net | Dezimalzahl oder null | |
tax | Dezimalzahl oder null | |
gross | Dezimalzahl oder null | |
Card
| Feld | Typ | Bedeutung |
|---|
title | string oder null | |
summary | string oder null | |
facts | Liste aus Fact | |
WorkedOut
| Feld | Typ | Bedeutung |
|---|
field | Aufzählung, Werte | Its path in this document |
printed | Dezimalzahl oder null | What was read |
rule | Aufzählung, Werte | How Ocost worked an amount out. |
Source
| Feld | Typ | Bedeutung |
|---|
page | integer oder null | Where it was read, from 1 |
quote | string oder null | The words it was read from |
confidence | Aufzählung, Werte | How sure Ocost is of a value, from its checks: never a model's grade. |
why | string oder null | For a doubt: the failed check's name |
Check
| Feld | Typ | Bedeutung |
|---|
name | Aufzählung, Werte | What it checked; sums says whether it is one of the sums |
passed | boolean | |
sums | boolean | One of the sums (total, vat, vat_net, vat_tax, gross, payable, signs, skonto, deduction, deductions, quantity): fill a bill only when all pass |
fields | Liste aus string (totals.gross) | The paths it is about, as sources names them |
at | string oder null | The rate or the line it is about |
TaxCheck
| Feld | Typ | Bedeutung |
|---|
case | Aufzählung, Werte | Which German rules an incoming invoice is held to. |
missing | Liste aus TaxItem | |
Contact
| Feld | Typ | Bedeutung |
|---|
email | string oder null | BT-43, BT-58: an address as printed |
phone | string oder null | BT-42, BT-57: as printed |
Fact
| Feld | Typ | Bedeutung |
|---|
label | string | What it is, in the document's words |
kind | Aufzählung, Werte | What a fact on a document's card is. |
date | date oder null | |
amount | Dezimalzahl oder null | |
currency | string (EUR) oder null | ISO 4217, of amount |
number | Dezimalzahl oder null | |
text | string oder null | |
page | integer oder null | |
TaxItem
| Feld | Typ | Bedeutung |
|---|
item | Aufzählung, Werte | What an invoice lacks, or has wrong, for its case. |
law | string | The paragraph that asks for it |
at_stake | boolean | Missing, it costs the input VAT deduction |
Werte
Jede Werteliste, aus Ocosts Code geschrieben. Das JSON Schema und die API-Referenz enthalten dasselbe, die Bedeutungen auf Englisch. Eine spätere Ocost-Version kann in v1 Werte ergänzen. Behandeln Sie ein unbekanntes kind als other und lassen Sie jeden anderen unbekannten Wert beiseite. In v1 wird kein Wert umbenannt oder entfernt.
kind
What a document is, grouped so an integrator branches on few; the exact kind is kind_detail.
| Wert | Bedeutung |
|---|
invoice | An invoice to pay: partial, final, advance, collective, recurring, self-billed (type_code says which) |
credit_note | A credit note |
invoice_correction | A corrected invoice |
receipt | A receipt: paid already |
pro_forma | A pro forma invoice: not to pay |
delivery_note | A delivery note |
order | An order: a purchase, service, work or project order |
order_confirmation | An order's or a reservation's confirmation |
quote | A quote (offer) |
contract | A contract: agreements, leases, insurance policies, mandates |
statement | A factor's statement |
payment_reminder | A payment reminder |
other | Anything else: kind_detail and card say what |
kind_detail
The exact kind, one of Ocost's document types, for information: branch on kind, which groups them (the guide's reference lists which).
Jedes kind_detail, nach dem kind, das es ist:
| kind | kind_detail |
|---|
invoice | collective_invoice, invoice, recurring_rental_invoice, fee_invoice, advance_payment_invoice, credit_invoice, final_invoice, partial_invoice |
credit_note | credit_note |
invoice_correction | invoice_correction |
receipt | receipt, payment_voucher |
pro_forma | pro_forma_invoice |
delivery_note | delivery_note |
order | order, order_form, project_order, service_order, work_order, purchase_order |
order_confirmation | order_confirmation, reservation_confirmation |
quote | offer |
contract | agreement, contract, insurance_policy, mandate, lease_contract |
statement | statement |
payment_reminder | payment_reminder |
other | acceptance_protocol, bonus_payment_notification, certificate, certificate_of_destruction, cost_statement, court_order, reimbursement, customer_statistics, decision, final_report, lump_sum_overview, test_report, laboratory_report, logistics_appendix, maintenance_log, maintenance_report, request_for_medical_consultation, notification, payroll, pay_slip, prescription, work_record, recommendation, report, inquiry, requirement, separator_sheet, service_report, service_documentation, declaration, time_sheet, work_report, settlement_amount, electronic_summary, administrative_fee, copy_of_invoice, bailiff, membership_fee, enforcement_case, information, cost_calculation, fee_notice, invoice_audit, annex, direct_debit_advice, process_history, internal_project_information, bank_transaction_report, request_for_quotation, rejection, form |
direction
Whether the business received or issued it.
| Wert | Bedeutung |
|---|
incoming | To the business: a supplier's |
outgoing | The business issued it |
unsure | Its parties don't say |
other_parties[].role
What another party is to the document; printed_role is its words.
| Wert | Bedeutung |
|---|
seller | The seller |
buyer | The buyer |
invoicee | Who it is addressed to, when not the buyer (Rechnungsempfänger) |
service_recipient | Who receives the service, when not the buyer (Leistungsempfänger) |
payer | Who pays, when not the buyer |
payee | Who is paid, when not the seller |
ship_to | Where the goods go (Warenempfänger) |
carrier | Who carries the goods |
factor | Who bought the receivable |
debtor | Whose receivable it is (a factor's debtor) |
guarantor | Who guarantees it (Bürge) |
landlord | The landlord |
tenant | The tenant |
subtenant | The subtenant |
contractor | The contractor |
subcontractor | The subcontractor |
principal | Who commissions the work (Auftraggeber, Bauherr) |
agent | Who acts for a party: a property manager, a broker |
insurer | The insurer |
policyholder | The policyholder |
other | Any other role: printed_role says which |
payment.means_code
BT-81: how it is paid, UNCL 4461.
| Wert | Bedeutung |
|---|
58 | SEPA credit transfer |
59 | SEPA direct debit |
48 | Bank card |
payment.means
How it is paid, as a word.
| Wert | Bedeutung |
|---|
transfer | A credit transfer (means_code 58) |
direct_debit | A direct debit (59) |
card | A card (48) |
already_paid | It says it is paid already (no code) |
vat_breakdown[].category, lines[].vat_category
BT-118, BT-151: the VAT category, UNCL 5305 as EN 16931 uses it.
| Wert | Bedeutung |
|---|
S | Standard rate |
Z | Zero rated goods |
E | Exempt from VAT |
AE | Reverse charge: the buyer owes the VAT |
K | Intra-community supply, VAT exempt |
G | Export outside the EU, free of VAT |
O | Outside the scope of VAT |
L | Canary Islands' IGIC |
M | Ceuta and Melilla's IPSI |
B | Transferred VAT (Italy's split payment) |
card.facts[].kind
What a fact on a document's card is.
| Wert | Bedeutung |
|---|
deadline | A date something is due by; its label says what |
valid_from | The day it is valid from |
valid_until | The day it is valid until |
reference | A number naming something else |
amount | An amount |
party | Someone besides its issuer and recipient |
date | Any other date: an inspection, an acceptance |
other | Anything else |
worked_out[].field
The amount worked out, by its path.
| Wert | Bedeutung |
|---|
totals.net | BT-109 |
totals.tax | BT-110 |
totals.gross | BT-112 |
worked_out[].rule
How Ocost worked an amount out.
| Wert | Bedeutung |
|---|
groups | The VAT groups' sum |
net_tax | Net plus VAT |
skonto | The gross read was the amount less Skonto |
payable | The gross read was what is left to pay |
outside | The net with an amount outside the VAT groups: a deposit, a tip |
sources.*.confidence
How sure Ocost is of a value, from its checks: never a model's grade.
| Wert | Bedeutung |
|---|
checked | A check confirmed it, or it came from an e-invoice |
read | Nothing speaks against it |
doubt | A check failed (why names it), or its words weren't on its page |
checks[].name
A check Ocost ran in code on what it read.
| Wert | Summe | Bedeutung |
|---|
total | ja | A total was read |
vat | ja | A VAT group's VAT is its net × rate (at the rate) |
vat_net | ja | The VAT groups' nets add up to the net |
vat_tax | ja | The VAT groups' VAT adds up to the VAT |
gross | ja | Net plus VAT is the gross (the net, with no VAT printed) |
payable | ja | What is left to pay is between nothing and the gross |
signs | ja | No total is negative |
deduction | ja | A deducted invoice's net plus VAT is its gross (at which) |
deductions | ja | The gross less the deductions is what is left to pay |
quantity | ja | A delivered quantity is positive, or the line is backordered (at the line) |
skonto | ja | A Skonto is plausible: up to 10 %, within a year |
line | | A line's quantity × price, less its discount, is its net (at the line) |
lines_net | | The lines add up to the net (the gross, priced with VAT) |
lines_currency | | The lines are in another currency than the totals (at it) |
vat_lines | | A VAT group's net is its lines' (at the rate) |
iban | | The IBAN's check digits hold |
vat_id | | A German VAT ID's check digit holds |
issued_on | | The issue date is neither years ago nor ahead |
due_on | | The due date isn't before the issue date |
service | | The service period starts before it ends |
valid_until | | A quote holds until after its issue date |
delivery_on | | The delivery date is near the issue date |
stated | | The amounts stated in a second currency add up |
stated_rate | | The amounts in both currencies agree at the rate printed, else the ECB's (at the rate) |
payment_sum | | A contract's payment: net plus VAT is its gross (at which) |
payment_vat | | A contract's payment: its VAT is its net × rate |
payment_sign | | A contract's payment: its amounts are positive |
step | | A stepped rent's step falls in the term, in order |
first_payment | | A contract's first payment falls in its term |
deposit | | A contract's deposit is positive |
tax_check.case
Which German rules an incoming invoice is held to.
| Wert | Bedeutung |
|---|
standard | § 14 Abs. 4 UStG: an invoice with VAT |
small | § 33 UStDV: a small amount, up to 250 € |
reverse_charge | § 13b, § 14a Abs. 5 UStG: the business owes the VAT |
intra_eu | § 14a Abs. 3 UStG: an intra-community supply |
exempt | § 14 Abs. 4 Satz 1 Nr. 8 UStG: an exempt supply |
tax_check.missing[].item
What an invoice lacks, or has wrong, for its case.
| Wert | Bedeutung |
|---|
supplier_name | The supplier's full name |
supplier_address | The supplier's full address |
supplier_tax_id | The supplier's tax number or VAT ID |
recipient_name | The recipient's full name |
recipient_address | The recipient's full address |
recipient_not_us | It is addressed to someone else than the business |
recipient_address_not_ours | It is addressed to an address that isn't the business's |
issued_on | The issue date |
number | The invoice number |
description | The quantity and kind of the goods or services |
service_date | The day of the supply or service |
net | The net per rate |
tax_rate | The VAT rate |
tax_amount | The VAT |
exemption_note | The note on why it is exempt |
reverse_charge_note | The note that the recipient owes the VAT (Steuerschuldnerschaft des Leistungsempfängers) |
intra_eu_note | The note that it is an intra-community supply |
supplier_vat_id | The supplier's VAT ID |
recipient_vat_id | The recipient's VAT ID |
vat_charged | German VAT charged where the business owes it itself (§ 13b): not deductible, and paying it pays VAT twice |
attention[]
What a person should look at before booking it.
| Wert | Bedeutung |
|---|
sums | A check with sums: true failed |
outgoing | The business issued it |
possible_duplicate | An earlier document has its kind, number and seller (possible_duplicate_of) |
self_billed | A self-billed invoice (Gutschrift): the buyer issued it |
read_with
How Ocost read it: never a model's or provider's name.
| Wert | Bedeutung |
|---|
e_invoice | From its XML, exactly |
reader | From its pages |
type_code
UNCL 1001, ein bis drei Ziffern. Eine E-Rechnung kann einen Code tragen, der hier fehlt. Wo der Beleg keinen druckt, schreibt Ocost den seiner Art:
| Wert | Bedeutung |
|---|
380 | Commercial invoice |
381 | Credit note |
384 | Corrected invoice |
389 | Self-billed invoice |
326 | Partial invoice |
386 | Prepayment invoice |
325 | Pro forma invoice |
875 | Partial construction invoice |
876 | Partial final construction invoice |
877 | Final construction invoice |
383 | Debit note |
393 | Factored invoice |
751 | Invoice information for accounting purposes |
81 | Credit note related to goods or services |
83 | Credit note related to financial adjustments |
261 | Self-billed credit note |
262 | Consolidated credit note, goods and services |
396 | Factored credit note |
532 | Forwarder's credit note |
sources
Die Pfade, die sources, checks[].fields und worked_out[].field nennen, n ab 0. Eine spätere Ocost-Version kann Pfade ergänzen:
number, issue_date, due_date, delivery_date, valid_until, currency, order_reference, seller.name, buyer.name, seller.vat_id, buyer.vat_id, seller.contact.email, buyer.contact.email, seller.contact.phone, buyer.contact.phone, seller.website, buyer.website, seller.legal_registration_id, buyer.legal_registration_id, totals.net, totals.tax, totals.gross, totals.payable, payment.iban, payment.means_code, payment.paid_on, lines, other_parties[n].name, deductions[n].gross