changedInput schema / $defs / InvoiceStatus / description
Previous value: -"- SCHEDULED: Scheduled invoice to be issued automatically on a future date\n- DRAFT: Draft invoice not sent yet (modifiable)\n- ISSUED: Finalized invoice with definitive number but not sent\n- SENT: Invoice sent to customer\n- PAID: Invoice paid\n- OVERDUE: Overdue invoice (not paid after due date)\n- RECTIFIED: Partially corrected invoice (one or more PARTIAL corrective invoices)\n- VOIDED: Cancelled invoice. Reached either through a direct void request or\n through a TOTAL corrective invoice; `void_cause` tells the two apart.\n- CONVERTED: Proforma converted into an invoice (terminal; the proforma survives\n as the record of the accepted quote, linked to the created invoice)\n- ACTIVE: Active proforma. The single working state of a proforma (non-fiscal\n document): born numbered (PRO-...) and editable, never reaching the fiscal\n statuses. It transitions to CONVERTED when turned into an invoice, or to VOIDED\n when the offer is rejected/withdrawn (POST /v1/invoices/{invoice_id}/void).\n- EXPIRED: Proforma whose offer validity (`valid_until`) has passed. Derived on read\n and never stored; the proforma stays convertible and editable.\n"New value: +"- SCHEDULED: Scheduled invoice to be issued automatically on a future date\n- DRAFT: Draft invoice not sent yet (modifiable)\n- ISSUED: Finalized invoice with definitive number but not sent\n- SENT: Invoice sent to customer\n- PAID: Invoice paid\n- OVERDUE: Reserved. No operation sets this status and it is not computed from `due_date`;\n an unpaid invoice past its due date keeps its status (`ISSUED` or `SENT`). Compare\n `due_date` with today to find overdue invoices.\n- RECTIFIED: Partially corrected invoice (one or more PARTIAL corrective invoices)\n- VOIDED: Cancelled invoice. Reached either through a direct void request or\n through a TOTAL corrective invoice; `void_cause` tells the two apart.\n- CONVERTED: Proforma converted into an invoice (terminal; the proforma survives\n as the record of the accepted quote, linked to the created invoice)\n- ACTIVE: Active proforma. The single working state of a proforma (non-fiscal\n document): born numbered (PRO-...) and editable, never reaching the fiscal\n statuses. It transitions to CONVERTED when turned into an invoice, or to VOIDED\n when the offer is rejected/withdrawn (POST /v1/invoices/{invoice_id}/void).\n- EXPIRED: Proforma whose offer validity (`valid_until`) has passed. Derived on read\n and never stored; the proforma stays convertible and editable.\n"
changedInput schema / $defs / InvoiceType / description
Previous value: -"- STANDARD: Standard invoice\n- CORRECTIVE: Corrects or cancels a previous invoice\n- SIMPLIFIED: Simplified invoice without all recipient requirements (up to 3,000€ VAT included)\n- PROFORMA: Commercial document (formal quote) with no fiscal validity.\n Never enters VeriFactu (no QR, no AEAT submission) and `verifactu_enabled`\n is always forced to `false`. Requires full recipient data, like STANDARD.\n Cannot be corrective nor reference a rectified invoice.\n"New value: +"- STANDARD: Standard invoice\n- CORRECTIVE: Corrects or cancels a previous invoice\n- SIMPLIFIED: Simplified invoice (ticket), for a recipient that is not identified. BeeL.\n requires a STANDARD invoice when the recipient is identified, at any amount: a\n SIMPLIFIED invoice whose recipient carries an `nif` or `alternative_id` is rejected\n with `SIMPLIFIED_INVOICE_FORBIDS_IDENTIFIED_RECIPIENT`. The only amount BeeL\n enforces is a cap of 3,000€ VAT included (`SIMPLIFIED_INVOICE_EXCEEDS_LEGAL_LIMIT`). The\n general limit of RD 1619/2012 is 400€ (art. 4.1.a); up to 3,000€ applies only to the\n activities listed in art. 4.2. BeeL does not check which activity the issuer carries\n out.\n- PROFORMA: Commercial document (formal quote) with no fiscal validity.\n Never enters VeriFactu (no QR, no AEAT submission): `verifactu.enabled` is\n always `false`, whatever the company's regime. Requires full recipient data,\n like STANDARD.\n Cannot be corrective nor reference a rectified invoice.\n"
addedInput schema / $defs / PaymentMethod
Added value: +{
+ "description": "Payment method shown on invoices and recurring invoices.\n\n- `NONE`: no payment information is shown.\n- `BANK_TRANSFER`: bank transfer to the IBAN of the payment details; the only method\n that requires an IBAN.\n- `CARD`: card payment.\n- `CASH`: cash payment.\n- `CHECK`: payment by cheque.\n- `DIRECT_DEBIT`: direct debit from the customer's bank account.\n- `BIZUM`: payment through Bizum.\n- `OTHER`: any other method.\n",
+ "enum": [
+ "NONE",
+ "BANK_TRANSFER",
+ "CARD",
+ "CASH",
+ "CHECK",
+ "DIRECT_DEBIT",
+ "BIZUM",
+ "OTHER"
+ ],
+ "type": "string"
+}
changedInput schema / $defs / VeriFactuSubmissionStatus / description
Previous value: -"Submission status of an invoice's VeriFactu record to AEAT.\n\nSingle vocabulary for the whole axis: the same values are published in\n`verifactu.submission_status` of an invoice and accepted by the `verifactu_status`\nfilter of `GET /v1/invoices`, so a value read from an invoice can be fed straight\nback into the filter.\n\n* `PENDING` — queued, AEAT has not answered yet.\n* `ACCEPTED` — accepted by AEAT (with or without non-blocking warnings).\n* `VOIDED` — a cancellation record was accepted by AEAT.\n* `REJECTED` — rejected by AEAT, or the submission was rejected by the provider\n before reaching AEAT (see `error_code` / `error_message`).\n* `NOT_SUBMITTED` — the invoice is issued with VeriFactu enabled but has no live\n record: the submission fell through (lost event, exhausted retries) and AEAT\n does not know the invoice exists. Transient right after issuing (the async\n submission may still be in flight); if it persists, the registration needs to\n be re-driven.\n\nDrafts and scheduled invoices have no submission to describe yet and omit the\nfield. Invoices with `verifactu.enabled = false` are outside this axis and are\nselected with the `verifactu_enabled` filter.\n"New value: +"Submission status of an invoice's VeriFactu record to AEAT.\n\nSingle vocabulary for the whole axis: the same values are published in\n`verifactu.submission_status` of an invoice and accepted by the `verifactu_status`\nfilter of `GET /v1/invoices`, so a value read from an invoice can be fed straight\nback into the filter.\n\n* `PENDING` — queued, AEAT has not answered yet. A temporary AEAT server error also\n stays `PENDING`: BeeL. retries it automatically, and it only becomes `REJECTED` if the\n retries run out.\n* `ACCEPTED` — accepted by AEAT (with or without non-blocking warnings).\n* `VOIDED` — a cancellation record was accepted by AEAT.\n* `REJECTED` — rejected by AEAT, or the submission was rejected by the provider\n before reaching AEAT (see `error_code` / `error_message`).\n* `NOT_SUBMITTED` — the invoice is issued with VeriFactu enabled but has no live\n record: the submission fell through (lost event, exhausted retries) and AEAT\n does not know the invoice exists. Transient right after issuing (the async\n submission may still be in flight); if it persists, the registration needs to\n be re-driven.\n\nDrafts and scheduled invoices have no submission to describe yet and omit the\nfield. Invoices with `verifactu.enabled = false` are outside this axis and are\nselected with the `verifactu_enabled` filter.\n"
addedInput schema / properties / payment_method
Added value: +{
+ "description": "Filter by payment method. Accepts a comma-separated list to match any of several\nmethods, for example `payment_method=DIRECT_DEBIT,CARD`. A single value is also valid.\n`NONE` also matches invoices that have no payment method stored. Combine it with\n`date_from`/`date_to` to list, for example, the direct debits of a month. An empty\nvalue (`payment_method=`) is the same as omitting the parameter.\n",
+ "items": {
+ "$ref": "#/$defs/PaymentMethod"
+ },
+ "type": "array"
+}
changedInput schema / properties / sort_by / description
Previous value: -"Field to sort by (e.g., issue_date, invoice_number, invoice_total)"New value: +"Field to sort by: `issue_date` (default), `operation_date`, `due_date`,\n`invoice_number`, `series_code`, `status`, `invoice_total`, `taxable_base`,\n`total_vat`, `total_equivalence_surcharge`, `total_discounts`, `recipient_name`,\n`recipient_nif`, `created_at` or `updated_at`. Any other value is rejected with `400`\n`VALIDATION_ERROR`, whose `details` name `sort_by` and the accepted values.\n"
changedInput schema / properties / status / description
Previous value: -"Filter by invoice status. Accepts a comma-separated list to match any of several\nstatuses, for example `status=DRAFT,ISSUED`. A single value is also valid.\n"New value: +"Filter by invoice status. Accepts a comma-separated list to match any of several\nstatuses, for example `status=DRAFT,ISSUED`. A single value is also valid. An empty\nvalue (`status=`) is the same as omitting the parameter.\n"
removedInput schema / properties / status / minItems
Removed value: -1