Skip to main content

VISA Commercial Card Data Requirements: Level 1, Level 2, and CEDP Product 3

Overview

This document provides the complete field requirements for VISA commercial card processing across three tiers:

  • Level 1: Basic transaction data (all transactions)
  • Level 2: Enhanced data for B2B transactions (being phased out April 18, 2026)
  • CEDP Product 3: New standard replacing Level 3 (enforced October 17, 2025)

Note: Level 3 was the previous enhanced data standard that required line-item details. CEDP Product 3 replaces Level 3 with stricter validation requirements and better interchange rates. Level 2, which required enhanced transaction data but not line-item details, is being discontinued in April 2026.

Critical Timeline

  • October 17, 2025: CEDP Product 3 enforcement begins, replaces Level 3
  • April 18, 2026: Level 2 program completely discontinued
  • 0.05% CEDP fee: Charged on all Level 2/Product 3 transactions (started April 2025)

Complete Field Requirements Table

Data ElementLevel 1CEDP Product 3Data Type/FormatNotesfield
TRANSACTION BASICS
Merchant IdentifierStringMerchant ID*
Order Amount (Total)DecimalMust match: line items + tax + shipping + duty - discountamount
Currency CodeString (3)ISO 4217 3-letter code (e.g., USD, EUR, GBP)*
CARDHOLDER INFORMATION
Card NumberString (15-16)Full card number*
Card Expiration DateString (MMYY)4-digit expiration*
CVV/Security CodeString (3-4)Card security codecvv2 (provided by payment elements if applicable)
Billing ZIP CodeString (5-9)For AVS verificationbilling_details.address.postal_code
Billing AddressStringFull billing addressbilling_details.address.address_line1
MERCHANT INFORMATION
Merchant NameStringBusiness name*
Merchant Postal CodeString (5-9)Merchant ZIP code*
Merchant Tax ID (TIN)StringTax identification number*
Merchant State CodeString (2)2-letter state code*
TAX INFORMATION
Sales Tax AmountDecimalProduct 3: Can be $0 if tax exempt (Note: Level 2 required 0.1%-22% of total, but Level 2 is being phased out)order_details.tax_amount
Tax Exempt IndicatorBooleanSet to true if tax exemptorder_details.tax_exempt
ORDER INFORMATION
Customer Code / PO NumberStringCannot be blank, null, or all zeros Must be meaningful valueorder_details.po_number
Order DateDateDate order was placedorder_details.order_date
SHIPPING INFORMATION
Ship To ZIPString (5-9)Destination ZIP codeorder_details.ship_to_zip
Ship From ZIPString (5-9)Origin ZIP codeorder_details.ship_from_zip
Ship To CountryString (2)2-letter country codeorder_details.ship_to_country
TRANSACTION-LEVEL AMOUNTS
Freight/Shipping AmountDecimalTotal shipping cost. Can be $0order_details.freight_amount
Duty AmountDecimalImport tax/customs. Can be $0order_details.duty_amount
Order Discount AmountDecimalTransaction-level discount. Can be $0order_details.discount_amount
LINE ITEM DETAILS (Required for EACH item in Product 3)
Item DescriptionStringCannot be blank, null, or all zeros/spaces Must be descriptive, not genericorder_details.items[].description
Item Name/TitleStringProduct nameorder_details.items[].name
Commodity CodeString (7+)Cannot be blank, null, or all zeros 7-digit NIGP recommendedorder_details.items[].material
Product Code / SKUString (≤12)Cannot be blank, null, or all zeros Merchant's unique identifierorder_details.items[].upc subject to change pending validation with processor
Item QuantityDecimalNumber of unitsorder_details.items[].quantity
Unit of MeasureStringe.g., EA, BX, CTN, DZ, LBorder_details.items[].uom
Unit Price / Unit CostDecimalCannot be all zeros Price per unitorder_details.items[].unit_cost
Item Discount AmountDecimalLine-item discount. Can be $0order_details.items[].discount_amount
Item Tax AmountDecimalTax for this line itemorder_details.items[].tax_amount
Item Total AmountDecimal(Quantity × Unit Price) - Item Discountorder_details.items[].net_amount

Field Column Legend:

  • * - Field is automatically provided by the system for all transactions (no action required)
  • Field path (e.g., order_details.tax_amount) - Field must be provided in your API request using the specified path
  • For line items, use array notation: order_details.items[] indicates each item in the items array requires these fields

Field Notes and Validation Rules

Level 1 (All Transactions)

  • Purpose: Basic transaction authorization
  • Interchange: Standard rates (highest)
  • Requirements: Minimal cardholder and transaction data
  • Validation: Basic card verification and AVS

CEDP Product 3 (October 17, 2025+)

  • Purpose: Validated line-item transaction data (replaces Level 3)
  • Interchange: 7-10% better than old Level 3 rates
  • Key Differences from Level 2 (which is being phased out):
    • Requires ALL line-item details for each product (Level 2 did not require line items)
    • Tax CAN be $0 if transaction is tax-exempt (Level 2 required tax to be 0.1%-22% of total)
    • VISA validates accuracy and completeness, not just presence
    • No placeholder or generic data allowed
  • Eligible Cards: Corporate, Purchasing, Fleet, Business Credit (NEW)

Critical Data Quality Rules for CEDP

VISA's machine learning validates:

❌ REJECTED Data

  • Generic descriptions: "Product", "Item", "Service", "Merchandise"
  • Placeholder text: "N/A", "TBD", "XXX", "000", "None"
  • Static/repeated values across different transactions
  • Blank, null, or all-zero fields where data is required
  • Invalid calculations that don't match line-item math
  • Commodity codes that don't exist or are inappropriate

✓ ACCEPTED Data

  • Specific, unique descriptions: "HP LaserJet Pro M404dn Printer"
  • Valid commodity codes: 7-digit NIGP or UNSPSC codes
  • Accurate calculations: Item total = (Qty × Price) - Discount
  • Transaction total = Line items + Tax + Shipping + Duty - Discount
  • Meaningful customer codes/PO numbers from actual orders

Calculation Requirements

Line Item Total Calculation

Item Total = (Quantity × Unit Price) - Item Discount

Example:

  • Quantity: 5 boxes
  • Unit Price: $12.50 per box
  • Item Discount: $2.50
  • Item Total: (5 × $12.50) - $2.50 = $60.00

Transaction Total Calculation

Transaction Total = Sum of All Line Item Totals + Transaction Tax + Shipping + Duty - Order Discount

Example:

  • Line Item 1: $60.00
  • Line Item 2: $45.00
  • Transaction Tax: $8.40
  • Shipping: $10.00
  • Duty: $0.00
  • Order Discount: $3.40
  • Transaction Total: $60.00 + $45.00 + $8.40 + $10.00 + $0.00 - $3.40 = $120.00

Note: Fleet fuel-only transactions have separate qualification rules and requirements.

Disqualified Merchant Categories (MCCs)

The following MCCs cannot qualify for Level 2 (until April 2026) or CEDP Product 3:

MCC RangeCategory
3000-3299Airlines
3501-3999Car Rental / Hotels
4112Passenger Railways
4411Steamship and Cruise Lines
4511Airlines and Air Carriers
4722Travel Agencies and Tour Operators
5812Eating Places and Restaurants
5814Fast Food Restaurants
5962Direct Marketing - Travel Related (High Risk)
5966Direct Marketing - Outbound Telemarketing (High Risk)
5967Direct Marketing - Inbound Teleservices (High Risk)
7011Lodging - Hotels, Motels, Resorts
7512Automobile Rental Agency
7513Truck & Utility Trailer Rentals
7519Motor Home and RV Rentals

Additional Qualification Requirements

CEDP Product 3 (and Level 2 until April 2026)

  • Transaction must be CPS (Custom Payment Service) compliant
  • Capture must follow authorization within 1 business day
  • Transaction must be authorized online (not CAT terminal)

Large Ticket (>$6,980)

  • Clearing within 2 business days (≤1 day between auth and capture)
  • Corporate or Purchasing cards only

Common Unit of Measure Codes

CodeDescription
EAEach (individual units)
BXBox
CTNCarton
DZDozen
LBPound
KGKilogram
FTFoot
YDYard
HRHour
MOMonth
CSCase
PKPackage
PRPair
RLRoll
STSet