Skip to main content

Invoiced Data Source

The Invoiced connector enables you to ingest billing and accounts receivable data—including invoices, customers, payments, subscriptions, estimates, and credit notes—from your Invoiced account into Nexla data flows. Follow the instructions below to create a new data flow that ingests data from an Invoiced source in Nexla.
invoiced_api.png

Invoiced

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the Invoiced connector tile from the list of available connectors. Then, select the credential that will be used to connect to the Invoiced account, and click Next; or, create a new Invoiced credential for use in this flow.

  3. In Nexla, Invoiced data sources can be created using pre-built endpoint templates, which expedite source setup for common Invoiced endpoints. Each template is designed specifically for the corresponding Invoiced endpoint, making data source setup easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    Invoiced sources can also be configured manually, allowing you to ingest data from Invoiced endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Invoiced endpoints. Each template is designed specifically for the corresponding Invoiced endpoint, making data source setup easy and efficient.

Endpoint Settings

  • Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

    List Customers

    Returns all customers in the Invoiced account. Use this endpoint to ingest customer records for CRM integration, accounts receivable reporting, or customer data synchronization.

    • Issues a GET request to https://api.invoiced.com/customers. Returns a top-level JSON array of customer objects.
    • Response data path: $[*] — each array element is one customer record. The API paginates results at 100 records per page; Nexla handles pagination automatically.

    Use the filter[updated_after] query parameter with a Nexla date/time macro to incrementally ingest only customers updated since the last run. For example, append ?filter[updated_after]={now-1} and set the date format to Unix epoch.

    List Invoices

    Returns all invoices in the Invoiced account. Use this endpoint to ingest billing document data for revenue reporting, payment tracking, or integration with accounting systems.

    • Issues a GET request to https://api.invoiced.com/invoices. Returns a top-level JSON array of invoice objects.
    • Response data path: $[*] — each array element is one invoice record. Supports filtering with filter[status] (e.g., draft, sent, paid, past_due) and filter[updated_after] for incremental ingestion.

    This is the most commonly used Invoiced source endpoint. Use filter[updated_after] with a Unix timestamp macro to ensure only recently updated invoices are ingested, avoiding full re-scans of large invoice histories.

    List Payments

    Returns all payments recorded in the Invoiced account. Use this endpoint to ingest payment data for cash flow reporting, reconciliation, or integration with financial systems.

    • Issues a GET request to https://api.invoiced.com/payments. Returns a top-level JSON array of payment objects.
    • Response data path: $[*] — each array element is one payment record. Supports filter[updated_after] for incremental ingestion.

    Payment records include amounts, payment methods, applied invoices, and timestamps. Use incremental ingestion with filter[updated_after] to keep downstream financial reports current without reprocessing historical payment data.

    List Credit Balance Adjustments

    Returns all credit balance adjustments in the Invoiced account. Use this endpoint to track manual credit balance changes for accurate accounts receivable reconciliation.

    Credit balance adjustments represent manual changes to a customer's credit balance outside of normal invoice or payment workflows. Include this data in financial reconciliation flows to capture all balance movements.

    List Credit Notes

    Returns all credit notes in the Invoiced account. Use this endpoint to ingest credit note data for accounts receivable reporting, customer refund tracking, or integration with accounting systems.

    • Issues a GET request to https://api.invoiced.com/credit_notes. Returns a top-level JSON array of credit note objects.
    • Response data path: $[*] — each array element is one credit note record. Supports filter[updated_after] for incremental ingestion.

    Credit notes represent amounts owed back to a customer, typically issued to reduce the balance on an invoice. Use incremental ingestion to keep downstream reconciliation data current.

    List Subscriptions

    Returns all subscriptions in the Invoiced account. Use this endpoint to ingest recurring billing data for subscription analytics, churn reporting, or integration with CRM and analytics tools.

    • Issues a GET request to https://api.invoiced.com/subscriptions. Returns a top-level JSON array of subscription objects.
    • Response data path: $[*] — each array element is one subscription record. Supports filter[updated_after] for incremental ingestion.

    Subscription records include the associated plan, customer, billing cycle, and status. Use this data alongside invoice records to build comprehensive recurring revenue (MRR/ARR) reporting.

    List Estimates

    Returns all estimates in the Invoiced account. Use this endpoint to ingest quote and estimate data for sales pipeline reporting or to track estimate-to-invoice conversion rates.

    • Issues a GET request to https://api.invoiced.com/estimates. Returns a top-level JSON array of estimate objects.
    • Response data path: $[*] — each array element is one estimate record. Supports filtering with filter[status] and filter[updated_after].

    Estimates can be in draft, approved, or converted states. Filter by status to focus on pending estimates or to report on approved quotes awaiting invoicing.

    List Customer Contacts

    Returns all contacts associated with a specific customer. Use this endpoint to ingest contact person data for customer accounts to support CRM synchronization or billing contact management.

    Use a lookup-based macro to pass customer IDs from a List Customers source to iterate over contacts for all customers in a single data flow. This is the standard pattern for exporting all contacts across all customer accounts.

    List Items

    Returns all catalog items (products and services) defined in the Invoiced account. Use this endpoint to export the item catalog for product reporting or to maintain a synchronized product reference list.

    • Issues a GET request to https://api.invoiced.com/items. Returns a top-level JSON array of item objects.
    • Response data path: $[*] — each array element is one catalog item record.

    Items in Invoiced represent products and services that can be added as line items to invoices and estimates. This catalog data is relatively static and suitable for periodic sync.

    List Tax Rates

    Returns all tax rates configured in the Invoiced account. Use this endpoint to export tax rate definitions for compliance reporting or to maintain a synchronized tax rate reference list.

    • Issues a GET request to https://api.invoiced.com/tax_rates. Returns a top-level JSON array of tax rate objects.
    • Response data path: $[*] — each array element is one tax rate record.

    Tax rate configurations change infrequently. Sync this list periodically to ensure that downstream reporting tools have accurate tax rate labels when joining with invoice or line item data.

    List Plans

    Returns all billing plans defined in the Invoiced account. Use this endpoint to export plan definitions for subscription analytics or to maintain a synchronized plan reference list.

    • Issues a GET request to https://api.invoiced.com/plans. Returns a top-level JSON array of plan objects.
    • Response data path: $[*] — each array element is one plan record.

    Plans define the pricing and billing interval for subscriptions. Sync this data alongside subscription records to enrich subscription analytics with plan details such as amount and billing cycle.

    List Coupons

    Returns all coupons defined in the Invoiced account. Use this endpoint to export coupon and discount data for marketing analytics or promotional campaign tracking.

    • Issues a GET request to https://api.invoiced.com/coupons. Returns a top-level JSON array of coupon objects.
    • Response data path: $[*] — each array element is one coupon record.

    Coupon records include discount type (percentage or fixed amount), redemption limits, and expiration dates. Use this data to analyze discount usage and promotional campaign effectiveness.

    List Events

    Returns all events logged in the Invoiced account. Use this endpoint to ingest the audit trail of actions taken on billing records for compliance, troubleshooting, or operational reporting.

    • Issues a GET request to https://api.invoiced.com/events. Returns a top-level JSON array of event objects.
    • Response data path: $[*] — each array element is one event record.

    Events in Invoiced record changes to billing objects such as invoice creation, payment application, and subscription modifications. This endpoint provides a full audit log useful for compliance and change tracking.

    List Notes

    Returns all notes in the Invoiced account. Use this endpoint to export internal billing notes for CRM synchronization, customer service reporting, or collections workflow analysis.

    • Issues a GET request to https://api.invoiced.com/notes. Returns a top-level JSON array of note objects.
    • Response data path: $[*] — each array element is one note record.

    Notes can be attached to customers, invoices, and other Invoiced objects. Use incremental ingestion with filter[updated_after] to keep downstream systems current with newly added notes.

    List Tasks

    Returns all tasks in the Invoiced account. Use this endpoint to export collections, onboarding, or follow-up task data for team productivity reporting or CRM synchronization.

    • Issues a GET request to https://api.invoiced.com/tasks. Returns a top-level JSON array of task objects.
    • Response data path: $[*] — each array element is one task record.

    Tasks in Invoiced are used for follow-up actions such as collections outreach or customer onboarding steps. Use incremental ingestion to sync only newly created or updated tasks.

    List Metered Billings

    Returns all metered billing line items for a specific customer. Use this endpoint to ingest usage-based billing data for consumption analytics or revenue reporting on metered plans.

    Use a lookup-based macro to pass customer IDs from a List Customers source to iterate over metered billing data for all customers. This is the primary endpoint for analyzing usage-based billing consumption.

    List Payment Sources

    Returns all payment sources (cards and bank accounts) on file for a specific customer. Use this endpoint to audit payment methods or to support payment method management workflows.

    Payment source data includes card type, last four digits, and expiration dates. Use a lookup-based macro to iterate over payment sources for all customers. Handle this data carefully — store only what is necessary and ensure compliance with PCI DSS requirements.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

The Invoiced REST API exposes all billing and accounts receivable data through a consistent set of resource endpoints. All API requests must be made to the base URL https://api.invoiced.com (or https://api.sandbox.invoiced.com for sandbox). All responses are returned in JSON format. Common resources available through the API include:

  • Customers — Account holders to whom invoices and subscriptions are assigned
  • Invoices — Billing documents sent to customers for goods or services
  • Payments — Records of amounts received against invoices
  • Subscriptions — Recurring billing agreements tied to a plan
  • Estimates — Draft billing documents that can be converted to invoices
  • Credit Notes — Documents issued to reduce the balance owed on an invoice
  • Plans — Templates that define recurring billing amounts and intervals for subscriptions

API Method

  1. To manually configure this source, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Invoiced API from the Method pulldown menu. For retrieving data from Invoiced, use:

    • GET: For retrieving lists of resources or individual records (most common for data ingestion)
    • POST: For creating new resources or triggering actions (such as finalizing an invoice)

API Endpoint URL

  1. Enter the URL of the Invoiced API endpoint from which this source will fetch data in the Set API URL field. The URL should include the full path to the desired resource.

    Common Invoiced API endpoint patterns include:

    • List all invoices: https://api.invoiced.com/invoices
    • Retrieve a specific invoice: https://api.invoiced.com/invoices/{'{id}'}
    • List all customers: https://api.invoiced.com/customers
    • List all payments: https://api.invoiced.com/payments
    • List all subscriptions: https://api.invoiced.com/subscriptions
    • List all estimates: https://api.invoiced.com/estimates
    • List all credit notes: https://api.invoiced.com/credit_notes

    All Invoiced list endpoints support pagination. The API returns a maximum of 100 records per page by default. You can control pagination using the page and per_page query parameters. For example: https://api.invoiced.com/invoices?page=2&per_page=50. Nexla handles pagination automatically when ingesting large datasets.

  2. The Invoiced API supports several query parameters that can be appended to list endpoint URLs to filter and sort results. Useful parameters include:

    • filter[updated_after] — Filter records updated after a specific Unix timestamp (useful for incremental ingestion)
    • filter[status] — Filter invoices or estimates by status (e.g., draft, sent, viewed, paid, past_due, closed)
    • sort — Sort results by a field (e.g., sort=updated_at:desc)
    • per_page — Control the number of records per page (maximum 100)

    For example, to retrieve all paid invoices sorted by most recently updated: https://api.invoiced.com/invoices?filter[status]=paid&sort=updated_at:desc

Date/Time Macros (API URL)

Optional

Optionally, the API URL can be customized using macros—all macros added to the API URL will be converted into values when Nexla executes the API call. This is particularly useful for Invoiced endpoints that accept Unix timestamp filters such as filter[updated_after] or filter[created_after], enabling incremental data ingestion that only retrieves records changed since the last run.

Macros are especially valuable when combined with Invoiced's timestamp filter parameters. For example, you can use {now-1} with a Unix epoch format to fetch only records updated in the last day, ensuring your Nexla flows stay current without re-ingesting your entire Invoiced dataset on every run.

  1. To add a macro, type { at the appropriate position in the API URL (within the Set API URL field), and select the desired macro from the dropdown list.

    • {now} – The current datetime
    • {now-1} – The datetime one time unit before the current datetime
    • {now+1} – The datetime one time unit after the current datetime
    • custom – Datetime macros can reference any number of time units before or after the current datetime—for example, enter (now-4) to indicate the datetime four time units before the current datetime
  2. Select the format that will be applied to datetime macros from the Date Format for Date/Time Macro pulldown menu. This format will be applied to the base datetime value of the macro—i.e., the value of {now} in {now-1}.

  3. Select the datetime unit that will be used to perform mathematical operations in the included macro(s) from the Time Unit for Operations pulldown menu—for example, for the macro {now-1}, when Day is selected, {now-1} will be converted to the datetime one day before the current datetime.

Lookup-Based Macros (API URL)

Optional

Column values from existing lookups can also be included as macros in the API URL. Lookup-based macros allow you to reference data from previously configured data sources or lookups, enabling dynamic API endpoints—for example, referencing a list of customer IDs from another Nexset to iterate over individual Invoiced customer records.

Lookup-based macros are useful when you need to fetch Invoiced records for a specific set of IDs obtained from another system, such as retrieving invoice details for customers imported from your CRM.

  1. To include a lookup column value macro, select the relevant lookup from the Add Lookups to Supported Macros pulldown menu.

  2. Type { at the appropriate position in the API URL, and select the lookup column-based macro from the dropdown list. Lookup-based macros are automatically populated into the macro list when a lookup is selected in the Add Lookups to Supported Macros pulldown menu.

Path to Data

Optional

If only a subset of the data returned by the Invoiced API endpoint is needed, you can designate the part of the response that should be used as records by specifying the path to the relevant data. Invoiced list endpoints return JSON objects where the array of records is typically at the top level of the response.

For example, when listing invoices, the Invoiced API returns a JSON array directly (e.g., [{"id": 2048, ...}, {"id": 2049, ...}]). In this case, no path specification may be needed. However, some endpoints may wrap the data inside a named key.

Path to Data is particularly important when the Invoiced API response includes wrapper objects or when you need to access nested data within a response. Use the Test button to fetch a sample response and verify the structure before specifying a path.

  • To specify which data should be treated as relevant in responses from this source, enter the path to the relevant data in the Set Path to Data in Response field.

    • For responses in JSON format enter the JSON path that points to the object or array that should be treated as relevant data. JSON paths use dot notation (e.g., $.data[*] to access an array named data).
    Path to Data Example:

    If the API response wraps results in a top-level key (e.g., {"invoices": [...]}), the path to data would be entered as $.invoices[*]. For direct arrays, no path is needed or you can use $[*].

Autogenerate Path Suggestions

Nexla can also autogenerate data path suggestions based on the response from the API endpoint. These suggested paths can be used as-is or modified to exactly suit your needs.

  • To use this feature, click the Test button next to the Set API URL field to fetch a sample response from the API endpoint. Suggested data paths generated based on the content & format of the response will be displayed in the Suggestions box below the Set Path to Data in Response field.

  • Click on a suggestion to automatically populate the Set Path to Data in Response field with the corresponding path. The populated path can be modified directly within the field if further customization is needed.

Metadata

If metadata is included in the Invoiced API response but is located outside of the defined path to relevant data, you can configure Nexla to include this metadata as common fields in each record. Invoiced list responses often include metadata such as total record counts, current page information, or pagination cursors alongside the data array.

Including pagination metadata can be useful for auditing and tracking the completeness of data ingestion runs, particularly for large Invoiced datasets with many pages of records.

  • To specify the location of metadata that should be included with each record, enter the path to the relevant metadata in the Path to Metadata in Response field.

    • For responses in JSON format, enter the JSON path to the object or array that contains the metadata.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this source, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2).

    You do not need to include the Authorization header or authentication details in the request headers—these are handled automatically by Nexla based on your Invoiced credential configuration. Common additional headers for the Invoiced API include Content-Type: application/json for POST requests, though Nexla typically sets this automatically.

Endpoint Testing

After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. This allows you to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Save & Activate the Source

  1. Once all of the relevant steps in the above sections have been completed, click the Create button in the upper right corner of the screen to save and create the new Invoiced data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.