Invoiced is a cloud-based accounts receivable and billing automation platform designed to help businesses get paid faster and manage their entire billing lifecycle. The platform provides tools for creating and sending invoices, collecting payments online, automating subscription billing, managing customer payment terms, and handling collections workflows. Invoiced integrates with accounting systems, CRMs, and ERP platforms, making it a central hub for billing operations. Through the Invoiced REST API, organizations can programmatically manage customers, invoices, payments, subscriptions, estimates, credit notes, and more—enabling seamless data exchange between Invoiced and the rest of their business systems.
Power end-to-end data operations for your Invoiced API with Nexla. Our bi-directional Invoiced connector is purpose-built for Invoiced, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Invoiced or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Invoiced workflows fast, secure, and fully governed.
Features
Type: API
SourceDestination
Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
To connect Nexla to Invoiced, you need an active Invoiced account and an API key. Invoiced uses HTTP Basic Authentication, where your API key serves as the username for all API requests.
Invoiced uses API key-based authentication. Each business account on Invoiced maintains its own set of API keys, and it is recommended to create a dedicated API key for each application or integration that will make API calls on your behalf. This allows you to revoke access for a specific integration without affecting others.
Click on your account name or avatar in the upper-right corner to open the account menu, and select Settings.
In the left navigation panel, click Developers.
Under the Developers section, click API Keys.
Click the New API Key button (or Generate API Key) to create a new key.
Enter a descriptive label for the key (for example, "Nexla Integration") to help identify its purpose later, and click Save or Create.
Copy the generated API key immediately and store it in a secure location. The key value is displayed only once and cannot be retrieved again after you navigate away from the page.
Invoiced also provides a sandbox environment for testing at sandbox.invoiced.com. You can create a separate API key in the sandbox environment using the same steps above. Use sandbox credentials with Nexla when testing your integration before going live. The sandbox API base URL is https://api.sandbox.invoiced.com, while the production URL is https://api.invoiced.com.
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
Invoiced authenticates API requests using HTTP Basic Authentication, where your API key is passed as the username and the password field is left empty. Nexla handles this encoding automatically when you enter your API key. Enter your Invoiced API key in the API Key field. This is the key you generated in the Invoiced dashboard under Settings > Developers > API Keys. The key authenticates all API requests Nexla makes on behalf of your Invoiced account.
Important
Keep your API key confidential. Anyone with your API key can access your Invoiced data with the same permissions as your account. Avoid sharing API keys or committing them to source code repositories. If a key is compromised, revoke it immediately from the Invoiced dashboard and generate a new one.
If you are connecting to the Invoiced sandbox environment for testing rather than the production environment, enter the sandbox base URL (https://api.sandbox.invoiced.com) in the Base URL field. For production use, enter https://api.invoiced.com.
The sandbox environment is a safe, isolated space for testing your Nexla integration without affecting your live billing data. Invoiced sandbox accounts are separate from production accounts and require their own API keys.
Click the Save button at the bottom of the overlay to save the configured credential. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation and can be selected for use with a new data source or destination.
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Invoiced connector tile, 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.
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Invoiced endpoints. 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.
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.
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.
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.
Response data path: $[*] — each array element is one adjustment record.
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.
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.
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.
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.
Response data path: $[*] — each array element is one contact record. Configure the Customer ID parameter with the numeric ID of the customer.
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.
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.
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.
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.
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.
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.
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.
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.
Response data path: $[*] — each array element is one metered billing record. Configure the Customer ID parameter.
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.
Response data path: $[*] — each array element is one payment source record. Configure the Customer ID parameter.
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.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Invoiced data sources can also be manually configured to ingest data from any valid Invoiced REST API endpoint not covered by the pre-built templates, or to apply custom filters and sorting. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
All Invoiced API requests are made to the base URL https://api.invoiced.com (or https://api.sandbox.invoiced.com for the sandbox environment), and all responses are returned in JSON. Common resources exposed by the API include customers, invoices, payments, subscriptions, estimates, credit notes, and plans—for example, https://api.invoiced.com/invoices to list all invoices, or https://api.invoiced.com/invoices/{'{id}'} to retrieve a specific record.
List endpoints support pagination via the page and per_page query parameters, returning a maximum of 100 records per page by default; Nexla handles pagination automatically. Useful filtering and sorting parameters include filter[updated_after] (a Unix timestamp, well-suited to incremental ingestion using a date/time macro such as {now-1}), filter[status] (e.g., draft, sent, paid, past_due), and sort (e.g., sort=updated_at:desc).
Invoiced list endpoints typically return a JSON array directly at the top level of the response, so a path to data is usually not required; some endpoints wrap results under a named key instead—use the Test button to inspect the response shape and set the path accordingly. The Authorization header is added automatically based on your Invoiced credential's API key, so no additional request headers are required for read operations.
Once all of the relevant settings have been configured, 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.
Click the + icon on the Nexset that will be sent to the Invoiced destination, and select the Send to Destination option from the menu. Select the Invoiced connector from the list of available destination 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.
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Invoiced endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Create Customer
Creates a new customer record in Invoiced. Use this endpoint to write customer account data from any Nexset into Invoiced to automate customer onboarding or CRM-to-billing synchronization.
Issues a POST request to https://api.invoiced.com/customers. The request body is a JSON object containing customer fields such as name, email, address, and payment terms.
After a successful create, Invoiced returns the full customer record including the system-assigned numeric ID. Use the Response Webhook option to capture this ID in a downstream Nexset.
Ensure that the field names in your Nexset match the Invoiced API customer field names. Use the Exclude Attributes option to omit any Nexset fields not accepted by this endpoint to prevent API errors.
Attach Payment Method to Customer
Attaches a payment method (card or bank account) to an existing customer in Invoiced. Use this endpoint to automate payment method setup as part of a customer onboarding workflow.
Issues a POST request to the customer payment sources endpoint. The Customer Id parameter must be configured with the numeric ID of the customer to which the payment method will be attached.
The request body contains payment method details. Use the Response Webhook to capture the newly created payment source ID.
Handle payment method data carefully and ensure your integration complies with PCI DSS requirements. Only tokenized payment data should flow through Nexla — do not pass raw card numbers.
Create Invoice
Creates a new invoice in Invoiced. Use this endpoint to generate invoices from billing data flowing through Nexla, enabling automated invoice generation from external systems.
Issues a POST request to https://api.invoiced.com/invoices. The request body accepts customer ID, line items, due date, notes, and other invoice fields.
Invoiced returns the full invoice record including the system-assigned ID after a successful create. Use the Response Webhook to capture the invoice ID downstream.
A customer must exist in Invoiced before an invoice can be created. Chain a Create Customer destination with a Create Invoice destination using the Response Webhook to capture the customer ID needed for invoice creation.
Record Payment
Records a new payment against an invoice or customer balance in Invoiced. Use this endpoint to synchronize payment records from external payment processors or banking data into Invoiced.
Issues a POST request to https://api.invoiced.com/payments. The request body accepts customer ID or invoice ID, payment amount, payment method, and date.
Invoiced returns the full payment record including the system-assigned ID after a successful create. Use the Response Webhook to capture payment IDs downstream.
Payments can be applied to specific invoices or to a customer's general balance. Ensure the invoice or customer ID in your Nexset matches an existing record in Invoiced before sending to avoid application errors.
Create Subscription
Creates a new subscription for recurring billing in Invoiced. Use this endpoint to automate subscription setup when customers are enrolled in recurring billing plans via external systems.
Issues a POST request to the subscriptions endpoint. The request body accepts customer ID, plan ID, start date, and optional quantity and discount fields.
Invoiced returns the full subscription record including the system-assigned ID after a successful create.
Both the customer and the plan must exist in Invoiced before a subscription can be created. Use the List Plans source endpoint to retrieve plan IDs, and ensure the customer record is available in Invoiced before activating this destination.
Update Customer
Updates an existing customer's details in Invoiced, such as address, payment terms, or autopay settings. Use this endpoint to keep customer records in Invoiced synchronized with an external CRM or ERP system.
Only the fields included in the request body are updated — existing fields not included in the payload are preserved.
Use PATCH rather than PUT for customer updates to avoid overwriting fields not present in your Nexset. Ensure the customer ID in your Nexset corresponds to an existing Invoiced customer record.
Update Invoice
Updates an existing invoice's line items, due date, status, or other details in Invoiced. Use this endpoint to synchronize invoice changes from an external system back into Invoiced.
Only the fields included in the request body are updated. Invoiced validates the submitted data before applying changes.
Invoices in certain statuses (e.g., paid or voided) may be locked and not editable. Verify invoice status in your Nexset before sending updates to avoid errors on locked records.
Issue Credit Note
Issues a credit note against a customer or invoice in Invoiced. Use this endpoint to automate the creation of credit notes for refunds, adjustments, or billing corrections from a Nexla data flow.
Issues a POST request to the credit notes endpoint. The request body accepts the customer ID, associated invoice, amount, and line item details.
Invoiced returns the full credit note record including the system-assigned ID after a successful create.
Credit notes reduce the balance owed by a customer. Ensure that the associated customer or invoice ID in your Nexset exists in Invoiced before activating this destination.
Add Contact to Customer
Adds a new contact person to an existing customer account in Invoiced. Use this endpoint to synchronize billing contact data from a CRM or HR system into Invoiced.
Issues a POST request to the customer contacts endpoint. The Customer Id parameter must be configured with the numeric ID of the customer to which the contact will be added.
The request body accepts contact name, email, phone, and role fields. Invoiced returns the created contact record after a successful call.
Contacts are the individual people associated with a customer account for billing and communication purposes. Use the Response Webhook to capture the newly created contact ID for downstream reference.
Create Estimate
Creates a new estimate or quote for a customer in Invoiced. Use this endpoint to generate quotes from pricing or CPQ data flowing through Nexla.
Issues a POST request to the estimates endpoint. The request body accepts customer ID, line items, expiration date, and notes.
Invoiced returns the full estimate record including the system-assigned ID after a successful create. Estimates can later be converted to invoices.
Estimates require a valid customer to already exist in Invoiced. Use the Response Webhook to capture the estimate ID, which can be referenced when converting the estimate to an invoice.
Create Task
Creates a follow-up task in Invoiced for collections, onboarding, or other customer-related actions. Use this endpoint to automatically generate tasks from workflow data flowing through Nexla.
Issues a POST request to the tasks endpoint. The request body accepts task name, due date, assignee, and the associated customer or invoice ID.
Invoiced returns the created task record after a successful call. Use the Response Webhook to capture the task ID downstream.
Tasks can be linked to specific customers or invoices for context. Use this endpoint in collections automation flows to create follow-up tasks whenever a payment becomes overdue.
Delete Invoice
Voids or deletes a draft or issued invoice in Invoiced. Use this endpoint to automate invoice cancellation or voiding from a data flow processing cancellation or correction events.
Only draft invoices can be permanently deleted; issued invoices are voided rather than deleted.
Invoice deletion and voiding are permanent operations. Verify that the correct invoice IDs are flowing through your Nexset before activating this destination, and consider testing with a single record before processing in bulk.
Once the selected endpoint template has been configured, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it. Make any needed modifications directly within the sample window, then click the Send Test Data button to send the test payload to the Invoiced API using the current settings and confirm the destination is configured correctly.
Invoiced destinations can also be manually configured to send data to any valid Invoiced REST API endpoint—including creating invoices, customers, payments, subscriptions, and other billing records not covered by the pre-built templates. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
Invoiced write operations use POST to create new resources (invoices, customers, payments, subscriptions, credit notes), PATCH to update existing resources, PUT to replace a resource entirely, and DELETE to void or remove a resource such as a draft invoice. All requests are made to the base URL https://api.invoiced.com and must be sent as JSON—for example, https://api.invoiced.com/invoices (POST) to create an invoice, or https://api.invoiced.com/invoices/{'{id}'} (PATCH) to update one, with the numeric record ID appended to the URL for update operations.
The Authorization header is added automatically based on your Invoiced credential's API key, so no additional request headers are required. Invoiced processes individual records per call for most create/update operations—evaluate whether the target endpoint supports batch payloads before enabling record batching. Use the Response Webhook option to capture the system-assigned ID and other fields that Invoiced returns after each create call.
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Invoiced endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to Invoiced until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.