Actions68
- Client Actions
- Agent Actions
- Asset Actions
- Field Info Actions
- Invoice Actions
- Site Actions
- Ticket Actions
- Ticket Status Actions
- Ticket Type Actions
- Timesheet Actions
- Timesheet Event Actions
- Webhook Actions
- Webhook Event Actions
Overview
This node interacts with the HaloPSA API to retrieve multiple invoice records based on various filtering, sorting, and pagination options. It is designed to fetch a list of invoices ("Get Many" operation) from the system, allowing users to tailor the query by specifying filters such as client ID, billing date, payment status, and more.
Common scenarios where this node is beneficial include:
- Generating reports or dashboards that require bulk invoice data.
- Synchronizing invoice data with other systems.
- Filtering invoices for accounting or auditing purposes.
- Retrieving invoices within specific date ranges or statuses.
For example, a user might want to retrieve all invoices for a particular client within a certain billing period, ordered by due date descending, or fetch only invoices that are awaiting approval.
Properties
| Name | Meaning |
|---|---|
| Return All | Whether to return all matching invoices or limit the number of results. |
| Limit | Maximum number of invoices to return (used if "Return All" is false). |
| Filters | Collection of filter options to narrow down the invoice search: |
| - Advanced Search | A free-text advanced search string to filter invoices. |
| - Asset ID | Filter invoices related to a specific asset by its ID. |
| - Awaiting Approval | Filter invoices that are currently awaiting approval. |
| - Billing Date | Filter invoices by their billing date. |
| - Client ID | Filter invoices belonging to a specific client by ID. |
| - Contract ID | Filter invoices associated with a specific contract. |
| - Currency Code | Filter invoices by currency code (e.g., USD, EUR). |
| - Date Search Field | Select which date field to filter by when using start/end dates (Billing Date, Due Date, Invoice Date, Posted Date, Schedule Date). |
| - End Date | End date for date range filtering (requires Date Search Field). |
| - Exclude Voided | Whether to exclude voided invoices from the results. |
| - Include Details | Whether to include extra detailed objects in the response. |
| - Include Linked Item Details | Whether to include details of linked invoice line items. |
| - Order | The primary field name to order the results by. |
| - Order 2 to Order 5 | Secondary to quinary fields to order the results by, in priority order. |
| - Order Desc to Order Desc 5 | Boolean flags indicating whether each corresponding order field should be sorted descending (true) or ascending (false). |
| - Page Number | Page number to return when using pagination. |
| - Page Size | Number of invoices per page when paginating (max 100). |
| - Paginate | Whether to paginate the response instead of returning all results at once. |
| - Payment Statuses | Comma-separated list of payment status IDs to filter invoices by. |
| - Posted Only | Filter to include only invoices that have been posted. |
| - Purchase Order ID | Filter invoices by purchase order ID. |
| - QuickBooks ID | Find an invoice using its QuickBooks Online ID. |
| - Quote Status | Filter invoices by specified quote statuses (comma-separated). |
| - R Invoice Type | Filter invoices by type: Contracts, Invoices, or Both. |
| - Ready for Invoicing | Filter invoices that are ready for invoicing. |
| - Recurring Invoice ID | Filter by recurring invoice ID associated with contracts. |
| - Review Required | Filter invoices that require review. |
| - Sales Order ID | Filter invoices by sales order ID. |
| - Search | General search string to filter invoices. |
| - Sent Status | Filter invoices by sent status ID. |
| - Site ID | Filter invoices by site ID. |
| - Start Date | Start date for date range filtering (requires Date Search Field). |
| - Stripe Auto Payment Required | Filter invoices requiring Stripe auto payment. |
| - Third Party ID | Find an invoice using a third-party invoice number. |
| - Ticket ID | Filter invoices assigned to a particular ticket. |
| - Top Level ID | Filter invoices by top-level ID. |
| - User ID | Filter invoices by user ID. |
| - Xero ID | Find an invoice using its Xero Online ID. |
Output
The node outputs an array of invoice objects in the json output field. Each object represents an invoice record retrieved from the HaloPSA API, including fields such as invoice identifiers, dates, amounts, statuses, and optionally detailed linked information depending on the input parameters.
If the "Include Details" or "Include Linked Item Details" options are enabled, the output will contain nested objects or arrays with additional related data, such as invoice line items or linked item details.
The node does not output binary data.
Dependencies
- Requires connection to the HaloPSA API.
- Requires an API key credential configured in n8n for authenticating requests to the HaloPSA service.
- The node uses standard HTTP headers for JSON content negotiation.
Troubleshooting
Common Issues:
- Incorrect or missing API credentials will cause authentication failures.
- Using incompatible or invalid filter values may result in empty responses or errors.
- Pagination parameters must be used correctly; otherwise, the node may return unexpected numbers of results.
- Date filtering requires selecting a valid date field when using start or end dates.
Error Messages:
- Authentication errors typically indicate invalid or expired API keys; verify and update credentials.
- Validation errors may occur if required parameters (like date search field when using date ranges) are missing.
- API rate limits or connectivity issues can cause request failures; check network and API usage quotas.
Links and References
- HaloPSA API Documentation (general reference for API endpoints and parameters)
- n8n Documentation on Creating Custom Nodes
- Best practices for Pagination in APIs