Service Entries (ADVANCED) Import Guide

IMPORTANT: The best place to find information about Data Imports in Fleetio is the New Data Import Overview article. This resource includes step-by-step instructions, training videos, and guidance on how to prepare your import data file.

 

This guide provides an overview of the file requirements and supported values for importing advanced Service Entries.

Basic vs. Advanced Service Entry Import

In Fleetio, manually entered Service Entries may include multiple Service Task line items. Costs can either be attributed to each individual Service Task line item OR to the Service Entry as a whole.

To import Service Entries, choose between Basic or Advanced. The Advanced import is more detailed, allowing you to itemize your maintenance data by importing each Service Task line item from a single Service Entry as its own spreadsheet row with its own costs.

In a basic Service Entry import, each row represents a separate Service Entry. The Service Entry can include multiple Service Tasks, however, costs can only be entered as an aggregate value (either parts/labor or a total amount). It is not possible to break down cost subtotals for parts, labor, or subtotal by Service Task.

EXAMPLE:
In this basic Service Entry import, the values for Parts, Labor and Tax are included in a single row of data. The Total is automatically calculated, and itemized detail for each Service Task is not available.

In an advanced Service Entry import, each row represents a line item from a Service Entry. Costs may be itemized as parts, labor, or subtotal for each individual Service Task. From each line item, aggregate Service Entry costs will be automatically calculated. This approach allows more detailed cost reporting by Service Task.

EXAMPLE:
In this advanced Service Entry import, the values for Parts and/or Labor are specified for each Service Task. Tax is entered for the Service Entry. Subtotals and aggregate costs are automatically calculated, and detail is available for cost reporting on each Service Task.

Advanced Service Entry Import Setup

External ID

In order to create a grouping of Service Task Line Items on a single Service Entry, each row of data in the import file is identified by an External ID.

The External ID column is the unique identifier that Fleetio will use to group multiple rows into a single Service Entry, so this must be a unique value, and it must be present on every row that belongs to the same Service Entry. In other words, every row in the import is a Service Task Line Item, and every line item with the same External ID will be combined in a single Service Entry.

How do you choose an External ID? Ideally, this might be the transaction ID or invoice ID used within your organization or received from a third-party provider. Alternatively, you may establish your own unique identifier (for example, some combination of Vehicle Name, Date, and/or Vendor).

IMPORTANT: The External ID must be unique; it cannot be reused, even for different vehicles.

Import Data Row Format and Required Data

The first row for any given External ID includes metadata for the Service Entry such as Date, Vendor, Meter Reading(s), Discount, and/or Taxes. These values need only be included on the first row since they apply to the entire Service Entry.

Subsequent rows with the same External ID may be included for each additional Service Task Line Item. These rows need only include vehicle_name, external_id, service_task, and either line_item_subtotal OR labor_subtotal and parts_subtotal.

NOTE: The field vehicle_name MUST be included on EVERY line of the same service entry in the import file.

IMPORTANT: if labor_subtotal and/or parts_subtotal values are included, be sure to omit line_item_subtotal as this will be automatically calculated.

Custom Fields

Custom Fields may be set as required in your Fleetio account. If you are importing Custom Fields, reference the Custom Fields Import Guide for more details.

Import Data Rows: Successful Records and Failed Records

When the import is complete, the Successful Records count in the Import table will reflect the number of Service Entries that have been created, not the number of Line Items.

The Failed Records count will display each Line Item row that failed. Click the Failed Records link to view the failure reasons, or go to More Actions > Download Error File to download a CSV file.

EXAMPLE:
The import rows identified below with external_id "1" will import a single Service Entry which will include two Service Tasks: "Oil & Filter Change" and "Tire Rotate & Balance." The metadata (date, meter, etc.) is only required on the first row.


The Successful Record count for this import is 1.

NOTE: Any row that is an exact duplicate of another row will fail, with the explanation of "duplicate data."

Advanced Service Entries Import Template

We recommend using the Advanced Service Entries Import Template.

  1. Go to the + Quick Add menu and select Import Data.

  1. Click Browse Import Templates.

  1. Select the Service template type, then click the Advanced Service Entry template.
  2. Click the Download dropdown and select the Empty Template.

IMPORTANT: You cannot update Service Tasks or categorization of Service Tasks within a Service Entry via an import. When you export the prefilled template, you will still see the Service Task and VMRS code columns, but the columns will be blank. If you attempt to update those columns via import, it will result in an error.

NOTE: If you are using a spreadsheet generated from another system, modifications to the file type and data may be needed to ensure the proper format and data mapping.

Other Data Requirements

Be sure to note the Required section and columns in the charts below.

Columns marked Yes are always Required, whereas those marked No may be left as blank cells in the import file - the entire column can be skipped during the mapping process if it is omitted for all rows.

Columns marked * See Below have special conditions required under certain circumstances; these are explained in footnotes beneath the chart.

Each row in the import file MUST contain a unique identifier that matches the row to a corresponding Vehicle in Fleetio. The most common columns for this match are the Vehicle Name or VIN from Fleetio, however, an External Vehicle ID could also be added from Account Settings.

IMPORTANT: A unique identifier is required to match each row to the corresponding vehicle in Fleetio. This may be vehicle_name, vehicle_vin, or External ID, so any ONE of these is required. Note that the field vehicle_name MUST be included on EVERY line of the same service entry in the import file.

Columns & Values

Required Fields

The fields below are required for Service Entry imports unless otherwise noted.

Column Required? Notes
vehicle_name Yes Nickname or number to distinguish vehicle in Fleetio. Must match Vehicle Name in Fleetio exactly. Must be present on every row if Vehicle Name is selected as the Vehicle Lookup Column.
vehicle_vin *See Below Vehicle Identification Number. Must match VIN in Fleetio exactly. Must be present on every row if VIN is selected as the Vehicle Lookup Column.
completed_at Yes This value is stored as a Date/Time Data Type.
For consistency and accuracy, format your data as YYYY-MM-DD HH:MM:SS +0000.
You can omit the time, and the value will default to 12:00:00 in the organization timezone.
You may also use the Short Date Format from your Account Settings f you prefer. Only needed on the first line item row for any given Service Entry.
external_id Yes Unique identifier for the Service Entry. All Service Task Line Items on a single Service Entry should be identified by the same external_id.
meter_value ** See Below Most updated primary meter reading for a vehicle (no commas; e.g. 147550). Only needed on the first line item row for any given Service Entry.
service_task Yes
  • Required on each separate row of the import to identify the Service Task line item
  • Must match an existing Service Task exactly
  • If an exact match is not found during the import, a NEW Service Task will be created
  • NOTE: adding a Main Task does NOT automatically include any connected Subtasks
repair_priority_class_code *** See Below The Repair Priority Class for the Service Entry. Accepts numeric values (1=Scheduled, 2=Non-Scheduled, 3=Emergency) for the default priorities or your corresponding alias.
line_item_reason_for_repair
 
The line_item_reason_for_repair_is only required if you have this field set as required in your Account Settings. Learn more about categorizing Service Entry line items via import.
line_item_category_code
 
The line_item_category_code_ is only required if you have this field set as required in your Account Settings. Learn more about categorizing Service Entry line items via import.
line_item_system_code
 
line_item_assembly_code
 
line_item_component_code
 

* A unique identifier is required to match each row to the corresponding vehicle in Fleetio, as explained in the Data Requirements section above.

** meter_value is only required if "Require a meter reading" is ON in your Maintenance Settings

*** repair_priority_class_code is only required if "Require a Repair Priority Class?" is ON in your Maintenance Settings

Other Fields

These fields are not required but are recommended to ensure the accuracy of your data in Fleetio.

Column Required? Notes
started_at No This value is stored as a Date/Time Data Type.
For consistency and accuracy, format your data as YYYY-MM-DD HH:MM:SS +0000.
You can omit the time, and the value will default to 12:00:00 in the organization timezone.
You may also use the Short Date Format from your Account Settings f you prefer. Only needed on the first line item row for any given Service Entry.
meter_void No
secondary_meter_value No Most updated secondary meter reading for a vehicle (no commas). Only needed on the first line item row for any given Service Entry.
secondary_meter_void No
vendor No Must match an existing Vendor exactly. If an exact match is not found during the import, a NEW Vendor will be created. Only needed on the first line item row for any given Service Entry.
reference No Text field to store a reference number for the Service Entry. Only needed on the first line item row for any given Service Entry.
general_notes No Text field to store general notes about the Service Entry. Only needed on the first line item row for any given Service Entry.
label_list No Enter any Labels you wish to apply to the Service Entry, separated by commas. Only needed on the first line item row for any given Service Entry.
discount No The discount of the service entry, as a fixed amount. Do not include currency/percentage symbols. Only needed on the first line item row for any given Service Entry.
tax1 No The tax of the service entry, as a fixed amount. Do not include currency/percentage symbols. Only needed on the first line item row for any given Service Entry.
tax2 No The secondary tax of the service entry, as a fixed amount. Do not include currency/percentage symbols. Only needed on the first line item row for any given Service Entry.
labor_subtotal No The amount of labor. May be included for any individual Service Task line item. Do not include currency symbols.
parts_subtotal No The amount of the parts. May be included for any individual Service Task line item. Do not include currency symbols.
line_item_subtotal No A subtotal for the line item. May be included for any individual Service Task line item. ONLY include this value if labor_subtotal and parts_subtotal are not itemized. Do not include currency symbols.
line_item_notes No Notes regarding the specific line item. May be included for any individual Service Task line item.
Service Entry Custom Fields No Additional columns for Custom Fields with the "Service Entry" record type will be available fields for the import. Format requirement is explained in the Custom Fields Import Guide. Only needed on the first line item row for any given Service Entry.
warranty_credits_amount No The amount of the warranty credit will be deducted from the subtotal. Do not include currency symbols. Warranty Management requires a Premium Fleetio Plan.
labor_markup No Percentage or fixed amount to be added to the subtotal. Do not include currency symbols. Labor Markup requires a Premium Fleetio Plan.
parts_markup No Percentage or fixed amount to be added to the subtotal. Do not include currency symbols. Parts Markup requires a Premium Fleetio Plan.

Service Entry Custom Fields

Custom Fields can be created for Service Entry records in your Account Settings. Any Custom Fields with the Service Entry record type will also be available for import.

TIP: Learn more in the Custom Fields article and the Custom Fields Import Guide.