Get new invoices grid
Returns a paginated, filterable, and sortable grid of invoices that are created but not yet sent, or sent but not yet overdue.
What are New Invoices? The “New” tab shows all invoices that have been created but not yet sent, or invoices that have been sent but are not yet overdue. These invoices are in status “New” or “Sent” and have either no due date or a due date in the future.
What is returned:
- Invoice identification (ID, number)
- Project reference (projectId)
- Invoice type (Mixed, Subscription, TimeBased, ExpressQuotation, SingleProject, InterimPayment)
- Creation and sending dates (createdAt, sentAt)
- Payment due date (dueDate)
- Net amount before taxes and fees (netto)
- Invoice status (New, Sent)
Filtering and search:
- Quick search across invoice number
- Filter by project, type, status, dates, and amount
- Sort by any field
Retrieves a paginated grid of new invoices with filtering and sorting capabilities. Quick search available on: number. Filterable fields: id, number, projectId, type, createdAt, sentAt, dueDate, netto, status. Sortable fields: id, number, projectId, type, createdAt, sentAt, dueDate, netto, status.
GET
/billing/invoices/newAuthorization
AuthorizationOAuth2 access token · headerrequiredScopes:
api:reador
AuthorizationBearer token (JWT) · headerrequiredQuery parameters
pagenumberPage number (1-based)
pageSizenumberNumber of items per page
viewIdstringView identifier for saved grid configurations
quickSearchstringQuick search text. Searches across: number
filtersstringJSON string containing filter configuration.
**Available Fields:**
- **id** (string): Invoice ID
- **number** (string): Invoice number
- **projectId** (string): Project ID
- **type** (set): Invoice type (Mixed, Subscription, TimeBased, ExpressQuotation, SingleProject, InterimPayment)
- **createdAt** (date): Invoice creation date
- **sentAt** (date): Date when invoice was sent
- **dueDate** (date): Payment due date
- **netto** (number): Net amount (before taxes and fees)
- **status** (set): Invoice status (New, Sent)
**Filter Structure:**
```json
[
{
"type": "string|number|date|set|boolean|array|task_status|task_type",
"fieldName": "field_name",
"value": {
"comparison": "comparison_type",
"value": "filter_value"
}
}
]
```
**Group Filters (AND/OR Combinations):**
```json
[
{
"type": "group",
"fieldName": "group0.18807479823070028",
"value": {
"type": "or",
"filters": [
{
"type": "string",
"fieldName": "fileName",
"value": {
"comparison": "contain",
"value": "aa"
}
},
{
"type": "number",
"fieldName": "rowCount",
"value": {
"comparison": ">=",
"value": 33
}
}
]
}
}
]
```
**Available Comparison Operators:**
- **id** (string): Invoice ID (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
- **number** (string): Invoice number (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
- **projectId** (string): Project ID (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
- **type** (set): Invoice type (Mixed, Subscription, TimeBased, ExpressQuotation, SingleProject, InterimPayment) (set filter). Available comparisons: in, not_in, is_empty, is_not_empty
- **createdAt** (date): Invoice creation date (date filter). Available comparisons: equal, not_equal, >, <, >=, <=, between, lastMonth, thisMonth, is_empty, is_not_empty
- **sentAt** (date): Date when invoice was sent (date filter). Available comparisons: equal, not_equal, >, <, >=, <=, between, lastMonth, thisMonth, is_empty, is_not_empty
- **dueDate** (date): Payment due date (date filter). Available comparisons: equal, not_equal, >, <, >=, <=, between, lastMonth, thisMonth, is_empty, is_not_empty
- **netto** (number): Net amount (before taxes and fees) (number filter). Available comparisons: equal, not_equal, >, <, >=, <=, is_empty, is_not_empty
- **status** (set): Invoice status (New, Sent) (set filter). Available comparisons: in, not_in, is_empty, is_not_empty
**Note:** Use `quickSearch` parameter for simple text search instead of adding it to filters.
sortstringJSON array of sort objects.
**Sortable Fields:**
- **id**: Invoice ID
- **number**: Invoice number
- **projectId**: Project ID
- **type**: Invoice type (Mixed, Subscription, TimeBased, ExpressQuotation, SingleProject, InterimPayment)
- **createdAt**: Invoice creation date
- **sentAt**: Date when invoice was sent
- **dueDate**: Payment due date
- **netto**: Net amount (before taxes and fees)
- **status**: Invoice status (New, Sent)
**Sort Structure:**
```json
[
{
"field": "field_name",
"direction": "asc|desc"
}
]
```
**Default Sort:** createdAt (desc)
fieldsToReturnany[]Comma-separated list of field names to include in response items. If not provided, all fields are returned.
**Available Fields:** id, number, projectId, type, createdAt, sentAt, dueDate, netto, status
Responses
200Successfully retrieved new invoices grid
400Invalid query parameters
401Unauthorized - Invalid or missing authentication token
403Forbidden - Insufficient API scopes or permissions
Request
curl -X GET "https://leadtime.app/api/public/billing/invoices/new" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"const response = await fetch("https://leadtime.app/api/public/billing/invoices/new", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
});import requests
response = requests.get(
"https://leadtime.app/api/public/billing/invoices/new",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
},
)Response
Successfully retrieved new invoices grid
Invalid query parameters
Unauthorized - Invalid or missing authentication token
Forbidden - Insufficient API scopes or permissions