Skip to main content

FastBill Data Source

The FastBill connector enables you to ingest data from your FastBill account — including invoices, customers, time entries, and documents — into Nexla for downstream processing, analytics, or integration with other systems. Follow the instructions below to create a new data flow that ingests data from a FastBill source in Nexla.
fastbill_api.png

FastBill

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 FastBill connector tile from the list of available connectors. Then, select the credential that will be used to connect to the FastBill account, and click Next; or, create a new FastBill credential for use in this flow.

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

    FastBill sources can also be configured manually, allowing you to ingest data from FastBill services 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 FastBill API services. Each template is designed specifically for the corresponding FastBill service, 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 Invoices

Retrieves a paginated list of all outgoing invoices in your FastBill account using the invoice.get service. Use this endpoint to ingest your full invoice history or to regularly sync updated invoice data for reporting, accounting reconciliation, or downstream analytics.

  • This endpoint requires no additional parameters. Nexla will automatically paginate through all available invoices, fetching up to 100 invoices per page starting from offset 0.
  • The response data is extracted from the $.RESPONSE.INVOICES[*] path in the API response, meaning each element of the returned invoices array is treated as an individual record in the resulting Nexset.
  • Invoice records include fields such as invoice number, customer name, invoice date, due date, total amount, currency, payment status, and line items depending on your FastBill account configuration.

For detailed information about the fields returned by this endpoint, refer to the FastBill invoice.get documentation. To retrieve a specific invoice by its ID rather than the full list, use the Get Invoice endpoint template instead.

Get Invoice

Retrieves a single invoice by its FastBill Invoice ID using the invoice.get service with an INVOICE_ID filter. Use this endpoint when you need to pull a specific invoice record — for example, to verify invoice details, monitor payment status, or trigger downstream workflows based on a known invoice.

  • Enter the FastBill Invoice ID for the invoice you want to retrieve in the Invoice ID field. This is a required field.

    • The Invoice ID is the unique numeric identifier assigned to each invoice in FastBill. It can be found in the FastBill web application by opening the relevant invoice, or retrieved programmatically using the List Invoices endpoint template.
  • The response data is extracted from the $.RESPONSE.INVOICES[*] path. Although a single invoice is requested, the API returns the result as an array, so Nexla extracts the matching element(s) as individual records.

For complete details on the fields returned, see the FastBill invoice.get API documentation.

Get Customer

Retrieves a single customer record by its FastBill Customer ID using the customer.get service with a CUSTOMER_ID filter. Use this endpoint to look up a specific customer's details — for example, to verify contact information, enrich data pipelines, or synchronize customer records with a CRM or marketing platform.

  • Enter the FastBill Customer ID for the customer you want to retrieve in the Customer ID field. This is a required field.

    • The Customer ID is the unique numeric identifier assigned to each customer in FastBill. It can be found in the FastBill web application by opening the relevant customer record.
  • The response data is extracted from the $.RESPONSE.CUSTOMERS[*] path in the API response. FastBill returns customer data as an array even for single-record lookups, so Nexla extracts the matching element as an individual record.
  • Customer records include fields such as customer number, organization name, contact name, email address, billing address, and payment terms.

For complete information about the fields returned by this endpoint, see the FastBill customer.get API documentation.

List Time Entries

Retrieves a paginated list of time entries from your FastBill account using the time.get service. Use this endpoint to sync time tracking data for project billing, payroll processing, productivity analysis, or integration with project management tools.

  • This endpoint requires no additional parameters. By default, FastBill returns the last 10 time entries of the current month when no filter is set. Nexla paginates automatically, fetching up to 100 entries per page.
  • The response data is extracted from the $.RESPONSE.TIMES[*] path, and each time entry is treated as an individual record in the resulting Nexset.
  • Time entry records typically include fields such as project ID, task description, start and end time, duration, billable status, and the associated customer or project.

For complete information about available filter options and response fields, see the FastBill time.get API documentation.

Get Document

Retrieves documents and folder metadata from your FastBill document management system using the document.get service, optionally filtered by a specific folder. Use this endpoint to ingest document metadata for compliance archiving, audit trails, or integration with document management systems.

  • Optionally, enter a FastBill Folder ID in the Folder ID field to limit results to documents within a specific folder. Leave this field empty to retrieve all available documents across all folders.

    • The Folder ID is the numeric identifier for a document folder in FastBill. It can be found in the FastBill web application when browsing the document management section.
  • The response data is extracted from the $.RESPONSE.DOCUMENTS[*] path. Each document entry is treated as an individual record in the resulting Nexset.
  • Document records include metadata such as document ID, file name, folder, upload date, and associated entity (invoice, expense, etc.).

For complete information about the fields returned and available filter options, see the FastBill document.get API documentation.

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

FastBill data sources can be manually configured to ingest data from any valid FastBill Classic API service. Manual configuration provides maximum flexibility for accessing services not covered by pre-built templates or when you need custom request configurations.

The FastBill Classic API uses a single endpoint URL (https://my.fastbill.com/api/1.0/api.php) for all services. The specific service to call is determined by the SERVICE field in the JSON request body, rather than by distinct URL paths. This design means that manual configuration typically involves crafting a POST request with the appropriate JSON body.

API Method

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

  2. Select POST from the Method pulldown menu. All FastBill Classic API calls use the HTTP POST method regardless of the operation being performed — data retrieval, filtering, and all other operations are specified in the JSON request body.

API Endpoint URL

  1. Enter the FastBill Classic API base URL in the Set API URL field:

    https://my.fastbill.com/api/1.0/api.php

    All FastBill Classic API services are accessed by POSTing to this single URL, with the desired service specified in the SERVICE field of the JSON request body.

Ensure your FastBill credential is configured with the correct Base URL value. The base URL is pre-filled in the credential configuration and will be used automatically for template-based endpoints. For manual configuration, enter the URL directly in this field.

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. Macros are dynamic placeholders that allow you to create flexible API endpoints that can adapt to different time periods or data requirements.

Macros are particularly useful for APIs that require date ranges, pagination parameters, or other dynamic values that change between data ingestion runs. While the FastBill Classic API uses a static URL, macros may be relevant if you are building a custom request body that references date-based filters.

  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 that can adapt based on existing data.

Lookup-based macros are useful when you need to create API endpoints that reference specific IDs, values, or parameters from other data sources in your Nexla environment.

  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 FastBill API is needed, you can designate the part of the response that should be included in the Nexset(s) produced from this source by specifying the path to the relevant data within the response.

FastBill's Classic API always wraps response data in a RESPONSE object. For example, invoice data is nested at $.RESPONSE.INVOICES[*], customer data at $.RESPONSE.CUSTOMERS[*], and time entry data at $.RESPONSE.TIMES[*]. Specifying the correct path tells Nexla to treat each array element as an individual record rather than treating the entire response as a single record.

Path to Data is essential for working correctly with FastBill API responses, as the useful data is always nested within the response envelope. Without specifying the path, Nexla would treat the entire response object as a single record rather than extracting individual entities.

  • 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., $.RESPONSE.INVOICES[*] to access the invoices array within the response object).
    FastBill Path to Data Examples:
    • Invoices: $.RESPONSE.INVOICES[*]
    • Customers: $.RESPONSE.CUSTOMERS[*]
    • Time entries: $.RESPONSE.TIMES[*]
    • Documents: $.RESPONSE.DOCUMENTS[*]
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 response but is located outside of the defined path to relevant data, you can configure Nexla to include this data as common metadata in each record.

FastBill API responses typically include metadata fields such as $.RESPONSE.ERRORS, pagination counters, and summary counts alongside the primary data array. If this contextual information should be preserved alongside each record, specify the path to this metadata here.

Metadata paths are particularly useful for preserving API response context like request IDs, error messages, or summary statistics that apply to all records in the response.

  • 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 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 Authorization headers — these are handled automatically by Nexla using the configured FastBill credential. The FastBill Classic API requires Content-Type: application/json, which is also applied automatically by the connector.

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 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.

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 FastBill 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.