Invoice Ninja
Invoice Ninja is an invoicing and project management platform for small businesses and freelancers. Its REST API exposes clients, products, invoices, quotes, payments, projects, tasks, and expenses, letting you read those records for reporting and analytics or write new records back into your account.
Power end-to-end data operations for your Invoice Ninja API with Nexla. Our bi-directional Invoice Ninja connector is purpose-built for Invoice Ninja, 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 Invoice Ninja or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Invoice Ninja workflows fast, secure, and fully governed.
Features
Type: API
- 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
Prerequisites
Before creating an Invoice Ninja credential, you need an API token and the base URL of your Invoice Ninja instance. Invoice Ninja authenticates API requests with a token sent in the X-API-TOKEN header, and all requests must be made over HTTPS.
To obtain your API token, follow these steps:
-
Sign in to your Invoice Ninja account. The hosted service is available at https://invoicing.co; self-hosted instances run on your own domain.
-
Open Settings from the left navigation.
-
Under Advanced Settings, click Account Management, then open the Integrations section and locate API Tokens.
-
Click the Add Token (+) button in the upper-right corner of the API Tokens page.
-
Enter a descriptive name for the token (for example, "Nexla Integration"), then click Save.
-
Copy the generated token value and store it securely. This is the value you will supply as the API Key Value in your Nexla credential.
Determine the Base URL for your instance. For the Invoice Ninja hosted service, the base URL is https://invoicing.co. For a self-hosted deployment, use the HTTPS URL of your own server (for example, https://invoices.example.com). Nexla appends the API paths (such as /api/v1/clients) to this base URL.
The header name changed between major versions: Invoice Ninja v5 uses X-API-TOKEN, whereas v4 used X-Ninja-Token. This connector uses the v5 X-API-TOKEN header. If your token is compromised, delete it from the API Tokens page and generate a new one.
For complete details on authentication and available endpoints, see the Invoice Ninja API Reference and the Invoice Ninja Developer Guide.
Authenticate
Credentials required
| Field | Required | Secret | Description |
|---|---|---|---|
| API Key Value | Yes | No | An encoded string value used as a secret token to authenticate API requests |
| Base URL | Yes | No | The base URL for the Invoice Ninja API. |
Create a credential in Nexla
-
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.
-
Enter your Invoice Ninja API token in the API Key Value field. This is the token you generated on the API Tokens page in Prerequisites. It is sent in the
X-API-TOKENheader on every API request and must be kept confidential. -
Enter your instance URL in the Base URL field. For the hosted service, use
https://invoicing.co; for a self-hosted deployment, use the HTTPS URL of your own server. -
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.
Use as a data source
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Invoice Ninja connector tile, then select the credential that will be used to connect to the Invoice Ninja instance, and click Next; or, create a new Invoice Ninja credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Invoice Ninja 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.
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.
Manual configuration
Invoice Ninja data sources can also be manually configured to ingest data from any valid Invoice Ninja API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. 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.
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 Invoice Ninja 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.
Use as a destination
Click the + icon on the Nexset that will be sent to the Invoice Ninja destination, and select the Send to Destination option from the menu. Select the Invoice Ninja connector from the list of available destination connectors, then select the credential that will be used to connect to the Invoice Ninja account, and click Next; or, create a new Invoice Ninja credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Invoice Ninja 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.
Manual configuration
Invoice Ninja destinations can also be manually configured to send data to any valid Invoice Ninja API endpoint. 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.
Invoice Ninja APIs expect JSON format for create and update operations. For update and delete operations, include the ID of the object to be modified at the end of the URL.
Save & activate
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 Invoice Ninja endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to the Invoice Ninja endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.