# Incoming Invoices ## List all incoming invoices - [GET /incoming-invoices](https://developers.kanbert.com/api/incoming-invoices/incominginvoices.index.md): Required scopes: incoming-invoice:read Returns documents of type Invoice and Credit. ## Upload an incoming invoice - [POST /incoming-invoices](https://developers.kanbert.com/api/incoming-invoices/incominginvoices.store.md): Required scopes: incoming-invoice:write Creates a new incoming invoice document and optionally attaches an uploaded file. When a file is uploaded and file_was_preprocessed is not set (or false), the system will automatically run OCR to extract invoice data from the document. Fields explicitly provided in the request always take precedence over OCR results. Optionally, cost-center bookings can be created inline. ## Retrieve an incoming invoice - [GET /incoming-invoices/{id}](https://developers.kanbert.com/api/incoming-invoices/incominginvoices.show.md): Required scopes: incoming-invoice:read Returns a single document of type Invoice or Credit. ## Update an incoming invoice - [PATCH /incoming-invoices/{id}](https://developers.kanbert.com/api/incoming-invoices/incominginvoices.update.md): Required scopes: incoming-invoice:write Updates the document fields of an incoming invoice. Bookings and payments are not touched by this endpoint – use the dedicated booking endpoints instead. ## Check for duplicate uploads - [POST /incoming-invoices/check-duplicate](https://developers.kanbert.com/api/incoming-invoices/incominginvoices.checkhash.md): Required scopes: incoming-invoice:read Verifies whether a file has already been uploaded by comparing its MD5 hash against existing document hashes. You may either upload the file directly (the server computes the hash) or provide a pre-computed MD5 hash string. ## Update a booking - [PATCH /incoming-invoices/{invoiceId}/bookings/{bookingId}](https://developers.kanbert.com/api/incoming-invoices/incominginvoices.updatebooking.md): Required scopes: incoming-invoice:write, chart-of-accounts:write Updates a single chart-of-account booking on the given incoming invoice. ## Delete a booking - [DELETE /incoming-invoices/{invoiceId}/bookings/{bookingId}](https://developers.kanbert.com/api/incoming-invoices/incominginvoices.destroybooking.md): Required scopes: incoming-invoice:write, chart-of-accounts:write Removes a single chart-of-account booking from the given incoming invoice.