What Is Fitment?
Fitment is vehicle compatibility data -- the information that tells buyers which vehicles a part fits. A brake pad listing might be compatible with a 2018 Toyota Camry LE 2.5L, a 2019 Toyota Camry SE 2.5L, and a dozen other year/make/model/trim/engine combinations. This data is essential for automotive parts sellers because marketplaces like eBay Motors and Walmart require it for proper catalog placement and buyer filtering.
SureDone stores fitment data using ePIDs (eBay Product IDs) and vehicle IDs that reference canonical databases of vehicle configurations. Fitment export automations take this stored data, resolve it into human-readable year/make/model/trim/engine values, and output it in the format your marketplace or partner requires.
export. There is no fitment import action -- fitment data is imported through product imports using the "update": "fitment" mode or managed directly through the SureDone UI and API.Fitment Export Types
The fitment_export_type config determines the output format. SureDone supports four types, each designed for different marketplaces and industry standards:
MVL (Make/Vehicle/Part List)
Config value: "fitment_export_type": "mvl"
The default export type. MVL uses ePID-based vehicle references and is the primary format for eBay Motors Auto Parts and Accessories categories. The engine resolves each product's ePIDs into year, make, model, trim, engine, and notes values, then writes them to the export file.
MVL is the most common fitment export format. If you are selling auto parts on eBay or need a general-purpose fitment file, start here.
MML (Make/Model List)
Config value: "fitment_export_type": "mml"
A simplified ePID-based format used primarily for eBay Motors Powersports categories (motorcycles, ATVs, UTVs, snowmobiles). MML resolves ePIDs the same way as MVL but is optimized for the powersports vehicle hierarchy, which typically uses year/make/model without the deeper trim and engine breakdown.
ACES (Aftermarket Catalog Exchange Standard)
Config value: "fitment_export_type": "aces"
ACES is the automotive aftermarket industry standard maintained by the Auto Care Association. Instead of ePIDs, ACES uses vehicleID values from the VCDB (Vehicle Configuration Database). This is the format required by Walmart Marketplace for automotive parts and is widely used across the aftermarket supply chain.
Products using ACES must have their vehicle IDs stored in the acesvehicleids field in SureDone. The engine looks up each vehicle ID in the ACES VCDB database (stored in MongoDB) and resolves it to year, make, model, submodel, body type, and door count.
WPS (Wheel/Part Specification)
Config value: "fitment_export_type": "wps"
A simplified vehicle ID-based format. Like ACES, WPS uses vehicleID values, but from a separate reference database. Products must have their vehicle IDs in the wpsvehicleids field. The engine resolves each ID to year, make, and model.
WPS is a less common format, used by specific partners and internal workflows.
Choosing the Right Export Type
| If You Need To... | Use |
|---|---|
| Export for eBay Motors (cars, trucks) | mvl |
| Export for eBay Motors (powersports) | mml |
| Export for Walmart Marketplace | aces |
| Export using vehicle IDs (non-ACES) | wps |
Configuration Basics
A fitment export automation uses "type": "fitment" and "action": "export":
{
"type": "fitment",
"action": "export"
}
The field_map for fitment exports maps the standard fitment fields to your desired output column names:
"field_map": {
"guid": "Part Number",
"year": "Year",
"make": "Make",
"model": "Model",
"trim": "Trim",
"engine": "Engine",
"notes": "Notes"
}
You can include additional product-level fields in the field_map (like upc, brand, or custom fields). The fitment fields (year, make, model, trim, engine, notes) are resolved from the vehicle reference data, while all other fields come directly from the product record.
The search config selects which products to include, and it automatically filters to only products that have fitment data for the chosen export type.
Fitment-Specific Configs
fitment_export_empty_fill
Default values for fitment fields when the resolved value is empty. This is useful when a marketplace requires every column to have a value:
"fitment_export_empty_fill": {
"trim": "Base",
"engine": "All"
}
If a vehicle's trim or engine data is empty after resolution, the export uses "Base" and "All" respectively.
fitment_export_duplicates
Controls whether duplicate fitment entries for the same product are included. Defaults to true. Set to false to deduplicate:
"fitment_export_duplicates": false
Duplicates can occur when a product has overlapping ePID and year/make/model data, or when catalog ePIDs resolve to the same vehicles as direct ePIDs.
fitment_export_catepid
When set to true, the engine also resolves catalog ePIDs (from the product's catalog compatibility data) in addition to the standard ePID field. This expands the fitment coverage to include vehicles matched through eBay's catalog system:
"fitment_export_catepid": true
This is useful when your products have been matched to eBay catalog entries that carry their own set of compatible vehicles.
Vehicle ID Resolution
The resolution process differs by export type:
ePID-based types (MVL, MML):
- The engine reads the product's ePID field (e.g.,
ebayepid) - ePIDs are parsed -- they may be pipe-delimited year/make/model strings or numeric ePID references
- Year/make/model strings are used directly; numeric ePIDs are looked up in the fitment reference database
- The result is expanded into individual year/make/model/trim/engine rows
Vehicle ID-based types (ACES, WPS):
- The engine reads the product's vehicle ID field (
acesvehicleidsorwpsvehicleids) - Vehicle IDs are parsed from a
*-delimited string or JSON array - Each ID is looked up in the corresponding MongoDB collection (ACES VCDB or WPS reference data)
- The result is expanded into individual year/make/model rows
For ACES exports, the submodel, body type, and door count are combined into the "trim" column. WPS exports include year, make, and model only.
Actions and Calculations
Fitment exports support vendor_actions, suredone_actions, field_format, and field_calculate just like product exports. Actions run against each product before its fitment data is expanded. If an action calls ignoreObject, the product and all its fitment rows are excluded from the export.
A common use case is filtering out products that are missing required marketplace fields:
"vendor_actions": [
{
"search": "(partterminologyid:= brandcode:=)",
"ignoreObject": ""
}
]
This skips products that are missing both a part terminology ID and a brand code, since those fields are required by the marketplace.
Complete Example: ACES Fitment Export for Walmart
This automation exports ACES-format fitment data to an SFTP server for Walmart Marketplace compliance.
{
"name": "Walmart Fitment Export",
"vendor": "Walmart",
"logo": "https://assets.suredone.com/channels/walmart-logo-140x40.png",
"active": true,
"schedule": "0 1 * * *",
"type": "fitment",
"action": "export",
"connection": {
"type": "sftp",
"address": "sftp.suredone.com",
"username": "{{sftp_user}}",
"password": "{{sftp_pass}}",
"path": "/ftp/walmart/aces",
"port": 22
},
"file_configs": [
{
"name": "fitment-export-{{TIME}}.csv",
"time_format": "Y-m-d-H-i-s",
"search": "ebayepid:-= {{search}}",
"field_map": {
"guid": "Manufacturer Part Number (MPN)",
"acesaction": "Action(A or D)",
"upc": "GTIN",
"{{partterminologyidfield}}": "Part Terminology Id",
"{{partterminologynamefield}}": "Part Terminology Name",
"{{aaiafield}}": "BrandAAIAD",
"year": "Year(YYYY)/Year Range (YYYY-YYYY)",
"make": "Make",
"model": "Model",
"submodel": "SubModel",
"blocktype": "BlockType",
"cylinders": "Cylinders",
"liter": "Liter",
"engine": "CC",
"notes": "Notes"
},
"value_map_default": {
"acesaction": "A"
},
"vendor_actions": [
{
"search": "({{partterminologyidfield}}:= {{aaiafield}}:=)",
"ignoreObject": ""
},
{
"search": "upc:apply",
"setValue": {
"upc": ""
}
}
],
"fitment_export_type": "mvl"
}
],
"parameters": [
{
"name": "sftp_user",
"value": "",
"label": "SFTP Username"
},
{
"name": "sftp_pass",
"value": "",
"encrypted": true,
"label": "SFTP Password"
},
{
"name": "search",
"value": "dateupdateutc:>\"-1 day\"",
"label": "SureDone Search",
"description": "Valid SureDone search string, e.g. brand:=BrandName stock:>0"
},
{
"name": "aaiafield",
"value": "aaiacode",
"label": "AAIA Brand Code Field"
},
{
"name": "partterminologyidfield",
"value": "partterminologyid",
"label": "Part Terminology ID Field"
},
{
"name": "partterminologynamefield",
"value": "partterminologyname",
"label": "Part Terminology Name Field"
}
]
}
What this does:
- Runs daily at 1:00 AM UTC
- Exports products that have ePID data and match the user's custom search (defaults to products updated in the last day)
- Includes Walmart-required columns: MPN, action code, GTIN, part terminology, AAIA brand code, and full vehicle details
- Skips products missing both part terminology ID and AAIA brand code (Walmart rejects these)
- Clears the UPC for products with an "apply" placeholder value
- Defaults the action code to "A" (Add) for new fitment entries
- Uses parameterized field names so different users can point to their own custom fields for AAIA codes and part terminology
SureFit and Fitment Data
SureDone's SureFit feature is the primary interface for managing fitment data within the platform. SureFit allows you to:
- Search and browse the ACES VCDB and ePID databases
- Assign vehicle compatibility to your products
- Manage fitment data in bulk
Fitment export automations work downstream from SureFit. You manage your fitment data through SureFit (or via product imports with "update": "fitment"), and the automation engine handles the ongoing export of that data to your marketplaces and partners in whatever format they require.
The typical flow is: SureFit (manage fitment) --> Product record (stores ePIDs/vehicle IDs) --> Fitment export automation (formats and delivers).