Skip to main content

VCFS Schema

The Valcr Commerce Financial Schema (VCFS) is the structured data model that underpins all Valcr benchmark comparisons, scores, and insights. Understanding it is essential for submitting accurate merchant data and interpreting API responses.


What is VCFS?

VCFS is a canonical financial schema designed specifically for commerce operators. It normalizes the diverse financial data structures that exist across different platforms (Shopify, Amazon, WooCommerce, QuickBooks, etc.) into a single, consistent model that enables apples-to-apples comparison.

Every field maps to a standard XBRL taxonomy element, enabling structured regulatory export.


Schema structure

vcfs/
├── revenue/
│ ├── gross_revenue # Total revenue before deductions
│ ├── net_revenue # After returns, discounts
│ ├── recurring_revenue # Subscriptions, memberships
│ ├── non_recurring_revenue # One-time / project revenue
│ └── currency # ISO 4217 currency code

├── margins/
│ ├── gross_margin # (net_revenue - COGS) / net_revenue
│ ├── operating_margin # EBIT / net_revenue
│ └── net_margin # Net income / net_revenue

├── growth/
│ ├── revenue_growth_qoq # Quarter-over-quarter change
│ ├── revenue_growth_yoy # Year-over-year change
│ └── unit_growth_qoq # Order/unit volume QoQ

├── customers/
│ ├── active_customers # Customers with ≥1 order in period
│ ├── new_customers # First-time buyers this period
│ ├── churned_customers # No order in period vs. prior period
│ ├── average_order_value # Net revenue / order count
│ ├── customer_ltv # Projected lifetime value
│ ├── customer_acquisition_cost # Fully loaded CAC
│ ├── cart_abandonment_rate # Carts abandoned / carts created
│ └── repeat_purchase_rate # Customers with ≥2 orders / total

├── operations/
│ ├── refund_rate # Refund value / gross revenue
│ ├── fulfillment_rate # Orders fulfilled on time
│ └── average_delivery_days # Mean days from order to delivery

└── channel/
├── direct # Share from own website
├── amazon # Share from Amazon
├── shopify # Share from Shopify
├── wholesale # Share from B2B wholesale
└── other # All other channels

Field reference

revenue object

FieldTypeUnitDescription
gross_revenuefloatCurrencyTotal revenue before any deductions
net_revenuefloatCurrencyGross minus returns, discounts, allowances
recurring_revenuefloatCurrencyRevenue from recurring contracts or subscriptions
non_recurring_revenuefloatCurrencyOne-time, project, or seasonal revenue
currencystringISO 4217Three-letter currency code (e.g. USD, KES, GBP)

margins object

FieldTypeRangeFormula
gross_marginfloat0–1(net_revenue - COGS) / net_revenue
operating_marginfloat-∞ to 1EBIT / net_revenue
net_marginfloat-∞ to 1net_income / net_revenue

growth object

FieldTypeUnitDescription
revenue_growth_qoqfloatratioChange vs prior quarter: (current - prior) / prior
revenue_growth_yoyfloatratioChange vs same quarter prior year
unit_growth_qoqfloatratioOrder volume change vs prior quarter

customers object

FieldTypeUnitDescription
active_customersintegercountUnique customers with ≥1 order in the reporting period
new_customersintegercountFirst-time buyers in the period
churned_customersintegercountCustomers active last period but not this one
average_order_valuefloatCurrencynet_revenue / order_count
customer_ltvfloatCurrencyProjected revenue over customer lifetime
customer_acquisition_costfloatCurrencyFully loaded marketing + sales spend / new customers
cart_abandonment_ratefloat0–1abandoned_carts / initiated_carts
repeat_purchase_ratefloat0–1customers_with_2+_orders / total_customers

operations object

FieldTypeUnitDescription
refund_ratefloat0–1total_refund_value / gross_revenue
fulfillment_ratefloat0–1Orders delivered on time / total orders
average_delivery_daysfloatdaysMean days from purchase to delivery

channel object

All channel values are ratios that sum to 1.0:

FieldTypeDescription
directfloatOwn website / app
amazonfloatAmazon marketplace
shopifyfloatShopify storefronts
wholesalefloatB2B wholesale accounts
otherfloatAny other channel
info

Channels must sum to 1.0. If they don't, Valcr normalizes them automatically.


Completeness scoring

VCFS submissions are scored for completeness on a 0–1 scale. Higher completeness unlocks:

ScoreUnlocks
≥ 0.30Basic benchmark comparisons
≥ 0.50Percentile rankings, segment breakdown
≥ 0.70AI insights, peer comparison
≥ 0.85Valcr Score, XBRL export
1.00Full score confidence + all export formats

The completeness_score and missing_fields array are returned in every POST /merchant/vcfs response.


Minimum viable submission

The minimum fields required for any benchmark comparison:

{
"period_start": "2024-10-01",
"period_end": "2024-12-31",
"vcfs": {
"revenue": {
"net_revenue": 432000,
"currency": "USD"
},
"margins": {
"gross_margin": 0.52
}
}
}

Currency support

VCFS accepts any ISO 4217 currency. Valcr normalizes all values to USD at period-average exchange rates for cross-merchant comparisons. The original currency and values are always preserved.

Supported currencies include: USD, EUR, GBP, KES, NGN, GHS, ZAR, INR, BRL, CAD, AUD, and 140+ others.


Platform extraction helpers

Common field mappings from popular platforms:

Shopify

VCFS fieldShopify source
revenue.gross_revenuetotal_price sum
revenue.net_revenuesubtotal_price minus discounts
customers.average_order_valueAnalytics → AOV
customers.cart_abandonment_rateAnalytics → Checkout abandonment
margins.gross_marginRequires COGS from inventory

Amazon Seller Central

VCFS fieldAmazon source
revenue.gross_revenueBusiness Reports → Sales
customers.average_order_valueBusiness Reports → Average Sales
operations.refund_ratePayments → Refunds / Net Sales

See the XBRL Export Guide for how VCFS fields map to XBRL taxonomy elements.