Skip to main content

FastBill

FastBill is a cloud-based invoicing and accounting platform for freelancers, the self-employed, and small businesses. It streamlines financial workflows with invoice creation and sending, customer management, expense tracking, time logging, and revenue reports. Its Classic API exposes invoices, customers, expenses, recurring billing, estimates, products, time entries, projects, and documents.

FastBill icon

Power end-to-end data operations for your FastBill API with Nexla. Our bi-directional FastBill connector is purpose-built for FastBill, 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 FastBill or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your FastBill 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

Prerequisites

The FastBill connector uses HTTP Basic Authentication, pairing your FastBill account email address with an API key as the password. Before creating a credential in Nexla, you will need to locate or generate your FastBill API key.

Locate Your FastBill API Key

FastBill provides an API key for each account, which is used alongside your login email to authenticate all API requests.

  1. Log in to your FastBill account at my.fastbill.com.

  2. Navigate to your account settings. You can access this by clicking on your name or avatar in the upper-right corner and selecting Settings (Einstellungen).

  3. Scroll to the bottom of the Settings page. Your API key is displayed in the API section. Copy this value for use in the Nexla credential configuration.

    For FastBill Next accounts, the API key is found under Settings > Interfaces > API-Key. The key is tied to your account and does not expire unless you regenerate it. Keep this key secure — anyone with your email and API key can access your FastBill data via the API.

  4. Note the FastBill Classic API base URL: https://my.fastbill.com/api/1.0/api.php. All API calls are made to this single endpoint, with the requested service specified in the JSON request body.

    Additional documentation on the FastBill API is available at the FastBill API Documentation and FastBill Support — FastBill API.

Authenticate

Credentials required

Authenticate using your FastBill account email and API key (HTTP Basic). The API key is found under Settings -> API in your FastBill account.

FieldRequiredSecretDescription
Account EmailYesNoYour FastBill account email address, used as the HTTP Basic Auth username.
API KeyYesYesFastBill API key (Settings -> API), used as the HTTP Basic Auth password.
Base URLYesNoFastBill Classic API service URL. All endpoints are POSTed to this single URL with a SERVICE field in the JSON body. Allowed values: Production

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

    FastBill authenticates API requests using HTTP Basic Authentication, with your account email address as the username and your FastBill API key as the password. All requests are sent as JSON-body POST calls to a single base URL.

  3. Enter your FastBill account email address in the Account Email field. This is the email you use to log in to FastBill and serves as the HTTP Basic Auth username for all API requests.

  4. Enter your FastBill API key in the API Key field. This key acts as the HTTP Basic Auth password and is used to authenticate every request Nexla makes to the FastBill API. Keep this value secure and do not share it.

  5. The Base URL field is pre-populated with https://my.fastbill.com/api/1.0/api.php, which is the standard endpoint for the FastBill Classic API. All services — invoices, customers, expenses, time entries, and more — are accessed by POSTing to this single URL with a SERVICE field in the JSON request body. You should only change this value if directed to do so by FastBill support.

  6. 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 and can be selected for use with a new data source or destination.

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 FastBill connector tile, then select the credential that will be used to connect to your FastBill account, and click Next; or, create a new FastBill 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 FastBill API services. 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.

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

FastBill data sources can also be manually configured to ingest data from any valid FastBill Classic API service, including services not covered by the pre-built templates or when you need custom request configurations. 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.

The FastBill Classic API uses a single endpoint URL (https://my.fastbill.com/api/1.0/api.php) for every service — the specific service is determined by the SERVICE field in the JSON request body rather than by distinct URL paths, so all calls use the POST method. Response data is always nested inside a RESPONSE object; common paths to data include invoices at $.RESPONSE.INVOICES[*], customers at $.RESPONSE.CUSTOMERS[*], time entries at $.RESPONSE.TIMES[*], and documents at $.RESPONSE.DOCUMENTS[*]. You do not need to include Authorization headers — these are handled automatically by Nexla using the configured FastBill credential — and the required Content-Type: application/json header is also applied automatically.

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

Use as a destination

Click the + icon on the Nexset that will be sent to the FastBill destination, and select the Send to Destination option from the menu. Select the FastBill connector from the list of available destination connectors, then select the credential that will be used to connect to your FastBill account, and click Next; or, create a new FastBill 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 FastBill API write services. 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 Invoice

Creates a new outgoing invoice in your FastBill account using the invoice.create service. Use this endpoint to programmatically generate invoices from data in other systems — for example, to automatically create invoices from order data, sales records, or service completion events.

  • Map the Nexset fields to the corresponding FastBill invoice fields. Required fields for invoice creation include customer ID, invoice items (with description, quantity, and unit price), and currency. Additional fields such as payment terms, due date, and invoice date can be included as available in the Nexset.
  • Each record in the Nexset will result in one invoice creation call to the FastBill API. Ensure that each record contains all required invoice fields before activating the destination.
  • After a successful invoice.create call, FastBill returns the newly created invoice ID in the response. You can capture this response using the Response Webhook option in manual configuration if needed for downstream tracking.

For complete information about required and optional fields for invoice creation, refer to the FastBill invoice.create documentation. Note that the FastBill Classic API does not support batch invoice creation — each record generates a separate API call.

Update Invoice

Updates an existing invoice in your FastBill account using the invoice.update service. Use this endpoint to synchronize changes to invoice data — for example, to update payment status, correct line items, or change due dates based on data from an external system.

  • Each record in the Nexset must include the FastBill Invoice ID (INVOICE_ID) of the invoice to update, along with the fields to be changed. The Invoice ID is the unique numeric identifier assigned to each invoice by FastBill.
  • Only the fields provided in the request body will be updated — fields not included in the payload will retain their current values in FastBill.

For complete details on updatable fields and required parameters, see the FastBill invoice.update documentation. Note that certain invoice states (e.g., already sent or paid invoices) may restrict which fields can be updated.

Delete Invoice

Deletes an invoice from your FastBill account using the invoice.delete service. Use this endpoint to remove invoices that were created in error or that need to be purged as part of a data cleanup workflow.

  • Each record in the Nexset must include the FastBill Invoice ID in the Invoice ID field. This is a required parameter — the delete operation will fail if this value is missing or incorrect.

    • The Invoice ID can be obtained from the FastBill web application or retrieved using the List Invoices data source endpoint.

Invoice deletion is permanent and cannot be undone. Verify that the correct Invoice IDs are mapped to this destination before activating the data flow. For complete documentation, see the FastBill invoice.delete documentation.

Create Customer

Creates a new customer record in your FastBill account using the customer.create service. Use this endpoint to sync customer data from a CRM, e-commerce platform, or other source system into FastBill, ensuring your billing system always reflects the latest customer information.

  • Map the Nexset fields to the corresponding FastBill customer fields. Commonly required fields include customer type (business or private), organization name or first/last name, email address, and billing address details.
  • Each record in the Nexset will result in one customer creation call. Ensure that Nexset records contain unique customers to avoid creating duplicates in FastBill.

For complete information about required and optional fields for customer creation, see the FastBill customer.create documentation.

Update Customer

Updates an existing customer record in your FastBill account using the customer.update service. Use this endpoint to keep FastBill customer data in sync with changes made in a CRM or other authoritative source system.

  • Each record in the Nexset must include the FastBill Customer ID (CUSTOMER_ID) of the customer to update, along with the fields to be changed.
  • Only the fields provided in the request will be updated — fields not included will retain their current values in FastBill.

For complete details on updatable fields, see the FastBill customer.update documentation.

Delete Customer

Deletes a customer record from your FastBill account using the customer.delete service. Use this endpoint to remove customers as part of data governance workflows or when decommissioning accounts.

  • Each record in the Nexset must include the FastBill Customer ID in the Customer ID field. This is a required parameter.

    • The Customer ID can be found in the FastBill web application or obtained using the Get Customer data source endpoint.

Customer deletion is permanent. Deleting a customer does not automatically delete associated invoices, but it may affect reporting and data consistency. For complete documentation, see the FastBill customer.delete documentation.

Create Revenue

Creates a new revenue entry in your FastBill account using the revenue.create service. Revenue entries in FastBill record income that is not associated with a standard outgoing invoice — for example, cash sales, bank transfers, or income from platforms that manage their own invoicing. Use this endpoint to sync non-invoice revenue data into FastBill for complete financial reporting.

  • Map the Nexset fields to the corresponding FastBill revenue fields. Commonly required fields include customer ID, amount, currency, and date of the revenue entry.
  • Each record in the Nexset will result in one revenue creation call. Ensure all mandatory fields are present in the Nexset before activating the destination.

The FastBill Classic API does not support updating or deleting revenue entries after creation. For complete information about required fields, see the FastBill revenue.create documentation.

Delete Revenue

Deletes a revenue entry from your FastBill account using the revenue.delete service. Use this endpoint to remove revenue entries that were created in error.

  • Each record in the Nexset must include the FastBill Revenue ID in the Revenue ID field. This is a required parameter.

    • The Revenue ID is the unique numeric identifier assigned to each revenue entry by FastBill. It can be obtained from the FastBill web application or from the response of a prior Create Revenue call.

Revenue entry deletion is permanent. For complete documentation, see the FastBill revenue.delete documentation.

Create Recurring Invoice

Creates a new recurring invoice schedule in your FastBill account using the recurring.create service. Recurring invoices in FastBill automatically generate and send invoices to customers on a defined schedule (e.g., monthly subscriptions or retainer agreements). Use this endpoint to programmatically set up recurring billing for customers onboarded through an external system.

  • Map the Nexset fields to the corresponding FastBill recurring invoice fields. Required fields include customer ID, invoice items, recurrence frequency (e.g., monthly, quarterly), and start date.
  • Each record in the Nexset will result in one recurring invoice schedule being created in FastBill.

For complete information about required fields and available recurrence options, see the FastBill recurring.create documentation.

Update Recurring Invoice

Updates an existing recurring invoice schedule in your FastBill account using the recurring.update service. Use this endpoint to modify billing schedules when subscription terms change — for example, to update pricing, adjust the billing frequency, or change the end date of a recurring billing arrangement.

  • Each record in the Nexset must include the FastBill Recurring Invoice ID of the schedule to update, along with the fields to be changed.
  • Only the fields provided in the request will be updated.

For complete details on updatable fields, see the FastBill recurring.update documentation.

Delete Recurring Invoice

Deletes a recurring invoice schedule from your FastBill account using the recurring.delete service. Use this endpoint to cancel recurring billing arrangements when subscriptions are terminated or customers churn.

  • Each record in the Nexset must include the FastBill Recurring Invoice ID in the Recurring Invoice ID field. This is a required parameter.

    • The Recurring Invoice ID is the unique identifier assigned to the recurring schedule in FastBill. It can be obtained from the FastBill web application.

Deleting a recurring invoice schedule stops all future invoice generation for that schedule. Previously generated invoices are not affected. For complete documentation, see the FastBill recurring.delete documentation.

Create Estimate

Creates a new estimate (quote) in your FastBill account using the estimate.create service. Estimates in FastBill are pre-invoice documents sent to customers for approval before work begins. Use this endpoint to automatically generate estimates from proposal data, project scoping tools, or CRM opportunities.

  • Map the Nexset fields to the corresponding FastBill estimate fields. Required fields typically include customer ID, line items (description, quantity, unit price), and currency.
  • Each record in the Nexset will result in one estimate being created in FastBill.

For complete information about required and optional fields, see the FastBill estimate.create documentation.

Delete Estimate

Deletes an estimate from your FastBill account using the estimate.delete service. Use this endpoint to remove estimates that have expired, been rejected, or were created in error.

  • Each record in the Nexset must include the FastBill Estimate ID in the Estimate ID field. This is a required parameter.

    • The Estimate ID can be found in the FastBill web application or obtained from the response of a prior Create Estimate call.

Estimate deletion is permanent. For complete documentation, see the FastBill estimate.delete documentation.

Create Expense

Creates a new expense (cost entry) in your FastBill account using the expense.create service. Use this endpoint to sync expense data from corporate card platforms, expense management tools, or ERP systems into FastBill for bookkeeping and tax reporting.

  • Map the Nexset fields to the corresponding FastBill expense fields. Required fields typically include vendor/supplier name, amount, currency, and expense date.
  • Each record in the Nexset will result in one expense entry being created in FastBill.

The FastBill Classic API does not support updating or deleting expense entries after creation. Verify expense data accuracy before activating this destination. For complete information about required fields, see the FastBill expense.create documentation.

Create Product (Article)

Creates a new product or article in your FastBill account using the article.create service. Products (called "articles" in FastBill) are reusable line-item templates that can be added to invoices and estimates. Use this endpoint to sync your product catalog into FastBill from an external system such as an e-commerce platform or ERP.

  • Map the Nexset fields to the corresponding FastBill article fields. Required fields typically include article number, description, unit price, currency, and VAT rate.
  • Each record in the Nexset will result in one article being created in FastBill.

For complete information about required and optional fields, see the FastBill article.create documentation.

Update Product (Article)

Updates an existing product or article in your FastBill account using the article.update service. Use this endpoint to keep your FastBill product catalog in sync when prices, descriptions, or VAT rates change in an external authoritative system.

  • Each record in the Nexset must include the FastBill Article ID of the product to update, along with the fields to be changed.
  • Only the fields provided in the request will be updated.

For complete details on updatable fields, see the FastBill article.update documentation.

Create Time Entry

Logs a new time entry in your FastBill account using the time.create service. Use this endpoint to sync time tracking data from external time-tracking tools, project management platforms, or calendar applications into FastBill for project billing and reporting.

  • Map the Nexset fields to the corresponding FastBill time entry fields. Required fields typically include project ID or customer ID, date, duration or start/end times, and a description of the work performed.
  • Each record in the Nexset will result in one time entry being logged in FastBill.

For complete information about required and optional fields, see the FastBill time.create documentation.

Create Project

Creates a new project in your FastBill account using the project.create service. Projects in FastBill are used to organize time entries, track billable hours, and manage project-based billing. Use this endpoint to automatically create FastBill projects when new projects are initiated in an external project management or CRM system.

  • Map the Nexset fields to the corresponding FastBill project fields. Required fields typically include project name and customer ID. Optional fields may include project description, hourly rate, and budget.
  • Each record in the Nexset will result in one project being created in FastBill.

For complete information about required and optional fields, see the FastBill project.create documentation.

Update Project

Updates an existing project in your FastBill account using the project.update service. Use this endpoint to sync project changes from an external project management tool — for example, to update project status, budgets, or hourly rates when they change in the source system.

  • Each record in the Nexset must include the FastBill Project ID of the project to update, along with the fields to be changed.
  • Only the fields provided in the request will be updated.

For complete details on updatable fields, see the FastBill project.update documentation.

Manual configuration

FastBill destinations can also be manually configured to send data to any valid FastBill Classic API write service. 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.

The FastBill Classic API accepts only JSON-formatted request bodies, POSTed to the single endpoint URL https://my.fastbill.com/api/1.0/api.php. The SERVICE field in the body specifies the write operation to perform (e.g., invoice.create, customer.update, expense.create). You do not need to include any headers already present in the credential — HTTP Basic Authentication and the Content-Type: application/json header are applied automatically. The API processes one service call per request, so if batching is enabled, ensure the grouping algorithm and request body structure are compatible with how the target FastBill service expects to receive data.

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 FastBill, open the destination resource menu, and select Activate.

The Nexset data will not be sent to FastBill until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.