Messy sales table → clean summary workbook avatar

Messy sales table → clean summary workbook

Pricing

$0.10 / summary workbook generated

Go to Apify Store
Messy sales table → clean summary workbook

Messy sales table → clean summary workbook

Upload a messy CSV/XLSX sales or ledger table; get back a clean summary.xlsx with KPIs and pivots by category, region, and month. Pay per event $0.10 per successful workbook.

Pricing

$0.10 / summary workbook generated

Rating

0.0

(0)

Developer

KEith wy

KEith wy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Sales CSV to Excel Summary Report — Clean Messy Sales Data, Pivot by Category / Region / Month

Apify Store: https://apify.com/keiwy/messy-sales-to-summary

Upload a messy sales / orders CSV or Excel file (Shopify, Stripe, WooCommerce, CRM or POS export) → get back one clean summary.xlsx with KPIs and pivot tables in ~4 seconds. No Excel formulas, no pivot-table setup, no AI key.

At a glance
Input.csv, .xlsx, .xls — upload or paste a direct URL
Outputsummary.xlsx with 5 sheets: KPIs, ByCategory, ByRegion, ByMonth, CleanDetail
Cleansmessy column names (aliases), mixed-case categories & regions, blank / zero quantities, bad prices; rows whose date is not YYYY-MM-DD are dropped and counted (rows_dropped)
Speed~4 s for a 20-row file (measured below)
Price$0.10 per summary workbook (pay-per-event, once per successful run)

Measured demo (real Apify platform run, 2026-10-20)

FieldValue
Run idY5nh27yc2xSQh6SU1 (SUCCEEDED)
Inputempty {} → default sample file sample_input.csv (20 messy rows: blank qty, qty=0, one 01/05/2025 date, mixed-case labels)
Duration4.4 s
Rows in → out20 → 16 (4 invalid rows dropped and counted)
Outputsummary.xlsx (8.4 KB, 5 sheets) in the run's Key-value store + 1 stats row in Dataset
Platform compute~$0.0003
PPE eventsummary-workbook ×1 = $0.10 for a customer (owner self-test runs are not billed)

KPIs sheet (real output):

metricvalue
rows_in / rows_out / rows_dropped20 / 16 / 4
total_revenue2,128.95
total_orders15
avg_order_value141.93
date range2025-01-03 → 2025-02-20
currenciesUSD

ByCategory sheet (real output):

categoryordersunitsrevenuerevenue_share
Software47847.9539.8%
Services47799.0037.5%
Hardware731482.0022.6%

ByRegion: EU 810.50 (38.1%) · NA 674.97 (31.7%) · APAC 643.48 (30.2%). ByMonth: 2025-01 = 1,189.98 · 2025-02 = 938.97.

Who it's for

  • Shop owners / ops who export orders from Shopify, Stripe, WooCommerce, Square, a CRM or POS and need a weekly sales summary
  • Freelance bookkeepers and analysts who receive messy client spreadsheets
  • Anyone automating a sales report via API / Make / Zapier (one run per file)

Input example (API / JSON)

{
"fileUrl": "https://gist.githubusercontent.com/KEithwy1030/c9aa87a298dbdb64574d07eae43658c3/raw/sample_input.csv"
}

Dataset output (real, run Y5nh27yc2xSQh6SU1):

{
"rows_in": 20,
"rows_dropped": 4,
"rows_out": 16,
"sheets": ["KPIs", "ByCategory", "ByRegion", "ByMonth", "CleanDetail"],
"input_filename": "sample_input.csv",
"summaryKey": "summary.xlsx",
"summaryBytes": 8355
}

Input columns

Required (aliases accepted, case-insensitive):

CanonicalAliases (examples)
dateorder_date
order_idorder_no
productitem
categorycat
quantityqty
unit_priceprice
regionarea

Optional: currency (default USD). Rows with non-ISO / unparseable dates (e.g. 01/05/2025, not a date), empty/≤0 quantity or invalid price are dropped and counted in rows_dropped — export dates as YYYY-MM-DD for best results.

Output location

  • Key-value store: summary.xlsx (download link also in the Dataset row as summaryUrl)
  • Dataset: one stats row (rows_in, rows_out, rows_dropped, sheets, summaryUrl)

Pricing

Pay per event: summary-workbook = $0.10 per successful run (one workbook). Failed runs are not charged.

Honest limits

  • Not a chatbot and not a custom column mapper — columns must match the names/aliases above
  • No currency conversion, no charts / PowerPoint
  • One file per run