# Belege einer Buchungsvorlage lesen (https://developer.bimetrics.de/reference/templates-and-recurring-bookings/list-document-series-documents)

`GET https://app.bimetrics.de/api/document/collection/series/{id}/document/`

operationId: `listDocumentSeriesDocuments` · Berechtigung (Scope): `read` · Bereich: Vorlagen und Dauerbuchungen

Listet die Belege, die aus dieser Buchungsvorlage entstanden sind.

Benötigt einen Schlüssel mit der Berechtigung `read`.

### Authentifizierung

`Authorization: Bearer bm_…` (alternativ `X-API-KEY: bm_…`, nie beide zugleich).

### Parameter

| Name | Ort | Pflicht | Typ | Beschreibung |
| --- | --- | --- | --- | --- |
| `id` | path | ja | string (uuid) | ID des Objekts in dieser Firma (UUID). |

### Beispiel

```sh
curl --fail-with-body "https://app.bimetrics.de/api/document/collection/series/{id}/document/" \
  -H "Authorization: Bearer $BIMETRICS_API_KEY"
```

### Antworten

| Status | Beschreibung | Inhalt |
| --- | --- | --- |
| 200 | Erfolg. | `application/json`: Array<Document> |
| 400 | Ungültige Anfrage, z. B. ein Parameter mit ungültigem Wert wie eine ID, die keine UUID ist; korrigieren statt wiederholen. Mehr unter [Fehler](https://developer.bimetrics.de/errors). | `application/json`: Error |
| 401 | Kein gültiger Schlüssel: fehlt (`Unauthorized`), ist unbekannt, abgelaufen oder widerrufen oder wurde nicht in genau einem Header gesendet (`InvalidAPIKey`). Schlüssel prüfen, nicht wiederholen. Auch eine ID, die zu einer anderen Firma gehört, ergibt `401 Unauthorized`. | `application/json`: Error |
| 403 | Dem Schlüssel fehlt die Berechtigung für diese Route (`APIKeyPermissionDenied`), oder die Firma hat keinen API-Zugang (mehr), etwa nach Ende der Testphase oder des Abos (`APIUnavailable`). | `application/json`: Error |
| 404 | Nicht gefunden (`NotFound`). | `application/json`: Error |
| 413 | Die Anfrage ist zu groß (`APIRequestTooLarge`), siehe `x-bimetrics-limits`. | `application/json`: Error |
| 429 | Zu viele Anfragen; nach `Retry-After` Sekunden erneut senden. Mehr unter [Fehler](https://developer.bimetrics.de/errors). (Header: Retry-After) | `application/json`: Error |
| 500 | Serverfehler; die Anfrage später wiederholen. Mehr unter [Fehler](https://developer.bimetrics.de/errors). | `application/json`: Error |

#### Felder der Antwort 200

Array aus `Document`.

| Feld | Typ | Beschreibung |
| --- | --- | --- |
| `bookings` | Array<AccountBooking>, kann null sein | Buchungen des Belegs. |
| `cashDiscount` | CashDiscountSnapshot | Skonto einer in bimetrics erstellten Ausgangsrechnung; fehlt ohne Skonto. |
| `companyId` | string (uuid) | ID der Firma. |
| `contentSource` | string | Herkunft der Belegdaten: `auto` erkannt, `manual` erfasst, `collection` aus Dauerbuchung oder Buchungsvorlage. |
| `costCenterId` | string (uuid) | Kostenstelle oder Verteilung als ID; fehlt ohne. |
| `createdAt` | string (date-time) | Anlage in bimetrics. |
| `deletedAt` | string (date-time), kann null sein | Gilt als gelöscht seit diesem Zeitpunkt; `null`, solange nicht gelöscht. Auch ein Beleg, den bimetrics beim Löschen behält, etwa wegen festgeschriebener Buchungen, gilt ab dann als gelöscht. Gelöschte Belege liefert nur `filterDocuments` mit `includeDeleted`. |
| `deliveryDate` | NaiveDate | Liefer- bzw. Leistungsdatum. |
| `documentContract` | DocumentContract | Die Dauerbuchung, aus der der Beleg entstand; sonst `null`. |
| `documentContractId` | string (uuid), kann null sein | ID der Dauerbuchung, aus der der Beleg entstand; sonst `null`. |
| `documentCurrency` | string | Belegwährung nach ISO 4217, wenn der Beleg nicht in Euro ist, z. B. `USD`; fehlt bei Euro. Gebucht wird mit den Beträgen der Positionen als Euro. Solange `euroAmountSource` fehlt, ist das der Betrag vom Beleg, und die App zeigt „Euro-Betrag fehlt“. Korrigieren mit `documentCurrency` in `PATCH /api/document/{id}`. |
| `documentSeries` | DocumentSeries | Die Buchungsvorlage, aus der der Beleg entstand; sonst `null`. |
| `documentSeriesId` | string (uuid), kann null sein | ID der Buchungsvorlage, aus der der Beleg entstand; sonst `null`. |
| `dueDate` | NaiveDate | Fälligkeitsdatum. |
| `euroAmountSource` | string: `payment`, `person` | Woher der Euro-Betrag eines Belegs in Fremdwährung stammt: `payment` aus der zugeordneten Bankzahlung übernommen, `person` von einer Person eingetragen oder bestätigt (`euroTotalAmount` oder `euroAmountsConfirmed` in `PATCH /api/document/{id}`). Fehlt, solange der Euro-Betrag fehlt. |
| `id` | string (uuid) | ID des Belegs. |
| `importOrigin` | string, kann null sein | Eingangsweg: `upload`, `email`, `generated` (in bimetrics erstellt) oder `collection` (aus Dauerbuchung oder Buchungsvorlage). |
| `invoiceCorrections` | Array<Document> | Quellgebundene Rechnungskorrekturen des Originalbelegs. |
| `invoiceDate` | NaiveDate | Rechnungsdatum. |
| `invoiceNumber` | string | Rechnungsnummer. |
| `invoicePositions` | Array<DocumentInvoicePosition>, kann null sein | Positionen; `null`, solange nichts erkannt ist. |
| `invoiceRole` | string: `down_payment`, `final` | Rolle einer ausgestellten Rechnung im Auftrag: `down_payment` (Abschlag) oder `final` (Schlussrechnung); fehlt bei allen anderen Belegen. |
| `issuedInvoice` | DocumentIssuedInvoice | Vom Server ermittelter Ausstellungsstatus; fehlt bei gewöhnlichen importierten Belegen. Ausgestellte Rechnungen und Stornorechnungen können nicht verändert oder gelöscht werden. |
| `issuer` | DocumentIssuer | Aussteller. |
| `kind` | string: `invoice`, `receipt` | Belegart: `invoice` Ausgangsrechnung, `receipt` Eingangsbeleg. |
| `kindReview` | boolean | „Belegtyp prüfen“: Die Erkennung konnte nicht sicher entscheiden, ob Ausgangsrechnung oder Eingangsbeleg; `kind` ist nur die Vermutung. Bis jemand den Belegtyp wählt (`kind` in `PATCH /api/document/{id}`, auch mit demselben Wert, oder `POST /api/document/bulk/kind`), wird der Beleg nicht gebucht, nicht exportiert und nicht zugeordnet. Fehlt sonst. |
| `match` | Match | Zuordnung zu Umsätzen und anderen Belegen; `null` ohne Zuordnung. |
| `originalTotalAmount` | integer | Bruttosumme in der Belegwährung in Hundertsteln, auch bei Währungen ohne Nachkommastellen. Festgehalten, als die Währung erkannt oder gesetzt wurde. Fehlt bei Euro. |
| `paymentTerms` | string | Zahlungsbedingungen als Text. |
| `performancePeriodFrom` | NaiveDate | Beginn des Leistungszeitraums. |
| `performancePeriodTo` | NaiveDate | Ende des Leistungszeitraums. |
| `possibleDuplicateOfId` | string (uuid) | „Möglicher Doppelbeleg“: ID eines älteren Belegs derselben Firma, der wahrscheinlich dasselbe Papier ist, nur ein zweites Mal hochgeladen (anderer Scan, andere Datei). Belegart, Geschäftspartner und Vorzeichen des Bruttobetrags sind gleich, dazu entweder die Rechnungsnummer (Leerzeichen und Groß-/Kleinschreibung egal) bei höchstens 1 Cent Unterschied im Bruttobetrag, solange sich die Rechnungsdaten nicht widersprechen, oder das Rechnungsdatum bei höchstens 1 % Unterschied oder einer fast gleich großen Datei mit gleicher Seitenzahl ab zwei Seiten, solange sich die Rechnungsnummern nicht widersprechen. Passen mehrere, ist es der ähnlichste. Nur ein Hinweis: bimetrics sperrt und löscht nichts. Ist es ein Doppelbeleg, löschst du einen der beiden mit `DELETE /api/document/{id}`. Fehlt sonst, auch bei stornierten, ausgestellten und festgeschriebenen Belegen. |
| `recipient` | DocumentRecipient | Empfänger. |
| `recordedPayments` | Array<RecordedPayment> | Dokumentierte Bar- und Verrechnungszahlungen; keine Bankumsätze. |
| `remainingPaymentMinor` | integer | Nach Zuordnungen und dokumentierten Zahlungen verbleibender Betrag in Cent. |
| `reversesCorrectionDocumentId` | string (uuid) | Ausgestellte Korrektur, die dieser Gegenbeleg vollständig aufhebt. |
| `source` | string | Auslösender Zugang: web, api oder mcp. |
| `sourceInvoiceDocumentId` | string (uuid) | Unveränderter Originalbeleg, auf den sich eine Rechnungskorrektur bezieht. |
| `updatedAt` | string (date-time) | Letzte Änderung, auch einer Zuordnung: Zuordnen, Aufheben und ein neuer offener Betrag (`match.amountOpen`) ändern den Wert. |
| `uploadDocument` | UploadDocument | Die hochgeladene Datei und der Stand ihrer Erkennung. |
| `uploadDocumentId` | string (uuid), kann null sein | ID der hochgeladenen Datei; `null` bei Belegen aus Dauerbuchungen oder Buchungsvorlagen. |
| `version` | string | Fachlicher Versionsdigest. Unverändert als expectedVersion bei Belegkorrektur oder Zahlung übergeben. |

Verschachtelte Schemas stehen vollständig in der OpenAPI-Beschreibung: https://app.bimetrics.de/api/openapi.json
