Belege suchen
bb_receipts_searchSearch BuchhaltungsButler client receipts by direction, date, payment status, and other fields, with pagination. Returns inbound/outbound invoices and credit notes.
Instructions
Durchsucht die Belege eines Mandanten in BuchhaltungsButler, also Eingangs- und Ausgangsrechnungen samt Gutschriften, und liefert sie seitenweise. Beispiel: alle Eingangsbelege eines Monats über list_direction 'inbound' zusammen mit date_from und date_to. Einen einzelnen Beleg samt Fremdwährungsfeldern holt bb_receipts_get, die einem Beleg zugeordneten Zahlungen listet bb_receipts_list_transactions, Buchungssätze liefert bb_postings_search. Liefert keine Belegdatei und keinen Filter nach Belegart: Gutschriften sind erst am Feld type der Antwort zu erkennen. amount_paid und amount_paid_fixed sind gemessen stets '0.00', auch bei bezahlten Belegen: keine Teilzahlung, kein offener Betrag. Bezahlt sagt payment_date. Höchstens 500 Zeilen je Aufruf, Vorgabe 100, weitere Seiten über offset. Eine Gesamttrefferzahl nennt die API nicht; weniger Zeilen als limit bedeutet Ende des Ergebnisses.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Zeilen je Aufruf, Vorgabe 100. Harte Obergrenze 500. Größere Werte lehnt die API ab, sie kappt sie nicht. Der Server sendet den Wert immer mit. | |
| order | No | Sortierung als Objekt aus Sortierfeld und Richtung, zum Beispiel {"date": "ASC"} oder {"date": "ASC", "amount": "DESC"}. Sortierbar sind date, amount, invoicenumber und invoicingparty; invoicingparty heißt in der Antwort counterparty. Die Reihenfolge der Schlüssel entscheidet über die Reihenfolge der Kriterien. Mindestens ein Feld angeben oder das Feld weglassen. | |
| offset | No | Zahl der zu überspringenden Zeilen. Die zweite Seite einer Suche mit limit=100 holt offset=100. Eine volle Seite bedeutet, dass es wahrscheinlich weitere Zeilen gibt. | |
| date_to | No | Spätestes Belegdatum, eingeschlossen, als YYYY-MM-DD, zum Beispiel 2026-04-26. Ein leerer String wird abgelehnt; das Feld stattdessen weglassen. | |
| deleted | No | Wenn true, liefert die API ausschließlich als gelöscht markierte Belege, nicht zusätzlich zu den aktiven. Wiederherstellen lässt sich ein solcher Beleg mit bb_receipts_restore. | |
| due_date | No | Fälligkeitsdatum als YYYY-MM-DD, zum Beispiel 2026-04-26. Geliefert werden nur Belege mit genau diesem Fälligkeitsdatum; eine Bereichsgrenze ist es nicht. Ein leerer String wird abgelehnt; das Feld stattdessen weglassen. | |
| date_from | No | Frühestes Belegdatum, eingeschlossen, als YYYY-MM-DD, zum Beispiel 2026-04-26. Ein leerer String wird abgelehnt; das Feld stattdessen weglassen. | |
| counterparty | No | Gegenpartei als Filter. Bei Eingangsbelegen ist das der Rechnungssteller, bei Ausgangsbelegen der Empfänger, zum Beispiel Bürobedarf Nordwest GmbH. | |
| invoicenumber | No | Rechnungsnummer als Filter. Geliefert werden die Belege mit genau dieser Rechnungsnummer; in der Antwort heißt das Feld ebenfalls invoicenumber. | |
| include_offers | No | Wenn true, erscheinen zusätzlich Angebote in der Liste. | |
| list_direction | Yes | Richtung der Belegliste. 'inbound' sind Eingangsbelege, also Rechnungen, die der Mandant erhalten hat; 'outbound' sind Ausgangsbelege, also Rechnungen, die der Mandant stellt. Pflichtangabe der API, einen Wert für beide Richtungen zugleich gibt es nicht. | |
| payment_status | No | Zahlungsstand als Filter. 'paid' liefert nur bezahlte, 'unpaid' nur unbezahlte Belege; ohne Angabe liefert die API beide. | |
| response_format | No | 'concise' liefert nur die Felder, die einen Datensatz erkennbar machen und den nächsten Schritt erlauben. 'detailed' liefert den Datensatz so, wie die BuchhaltungsButler-API ihn ausgibt. Mit 'concise' beginnen und nur für die wenigen Datensätze auf 'detailed' wechseln, die wirklich geprüft werden müssen. Dieses Feld ist serverseitig und geht nicht an die API. | concise |
| date_since_last_modified | No | Zeitpunkt der letzten Änderung als YYYY-MM-DD HH:MM:SS, zum Beispiel 2026-04-26 13:45:00. Geliefert werden die Belege, deren Änderungszeitpunkt später liegt. Ein reines Datum YYYY-MM-DD gilt als 23:59:59 dieses Tages; für einen Abgleich deshalb immer mit Uhrzeit senden. Ein leerer String wird abgelehnt; das Feld stattdessen weglassen. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| message | No | ||
| success | Yes | ||
| endpoint | No | ||
| limit_used | No | ||
| offset_used | No | ||
| more_possible | No | ||
| rows_returned | No | ||
| _contract_warnings | No |