Webinar: Automating Your Simpro AP with EzzyBills – Recording

Skip to main content

EzzyBills User Guide

11. Custom Fields for Sales Invoices in QuickBooks Online

If you generate sales invoices outside of QuickBooks Online, EzzyBills can automatically extract specific data — such as PO numbers, job numbers, and service dates — from those documents and export them directly into your custom fields in QuickBooks Online.

How Custom Extraction and Export Works

Step 1: Enable Custom Fields in QuickBooks Online

Before EzzyBills can export this data, you must ensure the corresponding custom fields are active in your QuickBooks account:

  1. In QuickBooks Online, go to Settings > Lists > Custom Fields.
  2. Add your desired fields. For example, you can set up a custom invoice header field for “PO Number” or “Job Number”, or create a line-item column for “Service Date”.

Step 2: Enable Custom Field Data Extraction in EzzyBills

To extract data from an incoming sales document or purchase order and map it to your custom fields in QuickBooks, follow these steps:

  1. Extract Custom Values: Ensure EzzyBills extracts the needed custom values using the Extract task and EzzyBills learning rules.
  2. Match Field Names: Create custom fields in QuickBooks Online using the exact same names as the custom extracted fields in EzzyBills.
  3. Configure the QuickBooks Export Workflow:
    • Go to Workflows in EzzyBills and edit your active sales invoice workflow.
    • Click the QuickBooks Export task to open its settings.
    • Configure the task to map the extracted values to your QuickBooks custom fields by entering the settings in text-based JSON format.

Configuration Examples & Mapping Rules

Example 1: Mapping Generic Custom Fields (e.g., SHIP ETA, Job Number)

If your invoice contains extracted fields named SHIP ETA and Job Number, and you have created identical custom fields in QuickBooks, enter the JSON configuration below in your QuickBooks Export task settings:

JSON

{
  "CustomFields": [
    {
      "Name": "SHIP ETA",
      "Value": "SHIP ETA"
    },
    {
      "Name": "Job Number",
      "Value": "Job Number"
    }
  ]
}

Note: Although this configuration is entered as plain text, it must follow strict JSON syntax.

Example 2: Mapping Purchase Order (PO) Numbers

To allow EzzyBills to read PO numbers from incoming sales documents, make sure PO extraction is enabled in your settings.

🔗 Learn More:How to enable PO number extraction in EzzyBills settings

To populate a QuickBooks custom field named “PO Number” with the extracted PO number, use the internal system variable "POVALUE":

JSON

{
  "CustomFields": [
    {
      "Name": "PO Number",
      "Value": "POVALUE"
    }
  ]
}
  • Custom Field Names: If your custom field in QuickBooks is named something else (e.g., Customer PO), change "PO Number" in the JSON code above to match your exact QuickBooks field name.
  • System Value: Always keep "POVALUE" exactly as shown so EzzyBills knows which internal variable to pass.

Example 3: Extracting and Mapping Service Dates

If you need to track the date a service was performed separately from the invoice date:

  1. Enable the Service Date custom field in QuickBooks Online.
  2. In your EzzyBills QuickBooks Export task settings, set addServiceDate=true.

EzzyBills uses standard keywords (such as “Date”, “Commencement Date”, “Service Date”, “Start Date”, “Date Of Service”, “Request Date”, or “Requested Date”) to identify and extract line-item service dates.

Tip: You can add custom keywords by creating a learning rule for keyword_start_date inside the Extract workflow task.

Example 4: Combining PO Number and Service Date

You can choose to map one or both fields. Below is an example of a QuickBooks Export task configuration that maps both PO Number and Service Date simultaneously:

Sections of Article