-
-
Notifications
You must be signed in to change notification settings - Fork 0
Bookkeeping Submissions
Read bookkeeping submission history for expense documents in Teamleader Focus.
The Bookkeeping Submissions resource tracks the history of submissions made when expense documents (incoming invoices, incoming credit notes, receipts) are sent to bookkeeping. Submissions are created automatically when sendToBookkeeping() is called β they cannot be created or modified through this resource.
Access via Teamleader::bookkeepingSubmissions().
subjectfilter is required.list()throwsInvalidArgumentExceptionwithout it.
info()throwsInvalidArgumentExceptionβ there is no single-item endpoint. Use the helper methods instead.
bookkeepingSubmissions
| Capability | Supported |
|---|---|
| Pagination | β Not supported |
| Filtering | β
Required (subject) |
| Sorting | β Not supported |
| Sideloading | β Not supported |
| Creation | β Automatic (via sendToBookkeeping()) |
| Update | β Not supported |
| Deletion | β Not supported |
Requires a subject filter with both id and type. Throws InvalidArgumentException if either is missing or if type is not one of the valid values.
Valid subject.type values: incoming_invoice, incoming_credit_note, receipt
use McoreServices\TeamleaderSDK\Facades\Teamleader;
$submissions = Teamleader::bookkeepingSubmissions()->list([
'subject' => [
'id' => 'document-uuid',
'type' => 'incoming_invoice',
],
]);Prefer these over calling list() directly.
Validates $documentType before the request.
$submissions = Teamleader::bookkeepingSubmissions()->forDocument('doc-uuid', 'incoming_invoice');
$submissions = Teamleader::bookkeepingSubmissions()->forDocument('doc-uuid', 'receipt');$submissions = Teamleader::bookkeepingSubmissions()->forInvoice('invoice-uuid');$submissions = Teamleader::bookkeepingSubmissions()->forCreditNote('credit-note-uuid');$submissions = Teamleader::bookkeepingSubmissions()->forReceipt('receipt-uuid');Filters the full submission list to a specific status. Validates status before the request.
Valid statuses: sending, confirmed, failed
$failed = Teamleader::bookkeepingSubmissions()->byStatus('doc-uuid', 'incoming_invoice', 'failed');| Filter | Type | Required | Description |
|---|---|---|---|
subject |
object | β Yes | {id: uuid, type: incoming_invoice|incoming_credit_note|receipt} |
[
'data' => [
[
'id' => 'submission-uuid',
'status' => 'confirmed', // sending | confirmed | failed
'created_at' => '2025-04-01T10:00:00+02:00',
],
],
]$submissions = Teamleader::bookkeepingSubmissions()->forInvoice('invoice-uuid');
$latest = $submissions['data'][0] ?? null;
if ($latest && $latest['status'] === 'failed') {
// Retry
Teamleader::incomingInvoices()->sendToBookkeeping('invoice-uuid');
}use InvalidArgumentException;
use McoreServices\TeamleaderSDK\Exceptions\TeamleaderException;
// Missing subject filter
try {
Teamleader::bookkeepingSubmissions()->list();
} catch (InvalidArgumentException $e) {
// 'The subject filter is required for bookkeeping submissions...'
}
// Invalid subject type
try {
Teamleader::bookkeepingSubmissions()->forDocument('uuid', 'outgoing_invoice');
} catch (InvalidArgumentException $e) {
// "Invalid document type 'outgoing_invoice'. Must be one of: incoming_invoice, incoming_credit_note, receipt"
}
// info() not supported
try {
Teamleader::bookkeepingSubmissions()->info('uuid');
} catch (InvalidArgumentException $e) {
// 'Bookkeeping submissions do not support individual info requests...'
}-
Incoming Invoices β
sendToBookkeeping()creates a submission -
Incoming Credit Notes β
sendToBookkeeping()creates a submission -
Receipts β
sendToBookkeeping()creates a submission
Last Updated: August 2026 β’ SDK Version: 2.2.2 β’ Made with β€οΈ by MCore Services
- Departments
- Users
- Teams
- Custom Fields
- Work Types
- Document Templates
- Currencies
- Notes
- Email Tracking
- Closing Days
- Day Off Types
- Days Off
- User Schedules
- Invoices
- Credit Notes
- Subscriptions
- Payment Methods
- Payment Terms
- Tax Rates
- Withholding Tax Rates
- Commercial Discounts
Next Gen Projects
Legacy Projects