Blog · Board and management reporting · Sales teams
Build a recurring monthly sales report from invoice and credit exports. Reconcile net sales, compare regions, products and customers, then turn the measured changes into an action list.
A monthly sales analysis report in Excel should reconcile net sales, compare the same basis across months, and show which regions, products and customers explain the change. Start with transaction rows and credits, then produce a summary that ties back to them. End with actions supported by the measured changes.
For a US distributor, this example reports net billed sales in USD for August and September 2026. Finance approves the posting-date basis and the treatment of credits. Bookings, cash receipts and recognized revenue are separate measures unless finance supplies the reconciliation between them.
Use one row per posted document line with a unique document-and-line key. Keep posting date, region, product, customer, gross amount, credit amount and net amount. Record credits as positive deductions in this workbook; do not subtract them again if the export already supplies signed net amounts.
The compact example below aggregates the underlying document lines to customer, product and posting date. It preserves every amount needed to rebuild the report.
| Posting date | Region | Product | Customer | Gross sales (USD) | Credits (USD) | Net sales (USD) |
|---|---|---|---|---|---|---|
| August 5, 2026 | East | A | Cedar | 62,000 | 2,000 | 60,000 |
| August 12, 2026 | East | B | Cedar | 30,000 | 0 | 30,000 |
| August 18, 2026 | West | A | Mesa | 41,000 | 1,000 | 40,000 |
| August 25, 2026 | West | B | Summit | 20,000 | 0 | 20,000 |
| September 5, 2026 | East | A | Cedar | 68,000 | 2,000 | 66,000 |
| September 12, 2026 | East | B | Cedar | 25,000 | 1,000 | 24,000 |
| September 18, 2026 | West | A | Mesa | 55,000 | 1,000 | 54,000 |
| September 25, 2026 | West | B | Summit | 18,000 | 2,000 | 16,000 |
Convert the range to a table named Sales, using concise headers Posting date, Region, Product, Customer, Gross, Credits and Net. Calculate the last column:
=[@Gross]-[@Credits]
Store the report month as a genuine date in B1 on the summary sheet: September 1, 2026. Enter these formulas in B2 and B3, respectively, for the next and previous months' starts:
=EDATE(B1,1)
=EDATE(B1,-1)
Microsoft's EDATE reference describes shifting a start date by a specified number of months. Using the first day of each month makes the report boundaries explicit.
Use an inclusive start and exclusive end. That also includes timestamps throughout the final day of the month. Enter these formulas in B5:E5, in order:
=SUMIFS(Sales[Net],Sales[Posting date],">="&B1,Sales[Posting date],"<"&B2)
=SUMIFS(Sales[Net],Sales[Posting date],">="&B3,Sales[Posting date],"<"&B1)
=B5-C5
=IF(C5=0,NA(),D5/C5)
Microsoft documents SUMIFS as summing cells that meet multiple criteria. Here both date conditions must hold for the transaction to enter the month's total.
| Period | Gross sales (USD) | Credits (USD) | Net sales (USD) |
|---|---|---|---|
| August | 153,000 | 3,000 | 150,000 |
| September | 166,000 | 6,000 | 160,000 |
| Change | 13,000 | 3,000 | 10,000 |
September net sales increased by $10,000: 160,000 - 150,000. Growth is 10,000 / 150,000 = 6.7%, rounded to one decimal. The gross-sales increase is partly offset by the increase in credits; that is an arithmetic bridge, not yet a business explanation.
Keep full precision in formulas and round only the displayed percentages. When the prior period is negative, label the dollar movement and explain the base rather than treating the percentage as ordinary growth.
Put region names in A9:A10. Enter these formulas in B9:E9, in order, for September, August, dollar change and percentage change:
=SUMIFS(Sales[Net],Sales[Region],$A9,Sales[Posting date],">="&$B$1,Sales[Posting date],"<"&$B$2)
=SUMIFS(Sales[Net],Sales[Region],$A9,Sales[Posting date],">="&$B$3,Sales[Posting date],"<"&$B$1)
=B9-C9
=IF(C9=0,NA(),D9/C9)
Fill down. Repeat the same structure for product and customer, replacing the criteria column. Each view below partitions the same company sales; never add the three views together.
| View | Segment | August net sales (USD) | September net sales (USD) | Change (USD) | Change |
|---|---|---|---|---|---|
| Region | East | 90,000 | 90,000 | 0 | 0.0% |
| Region | West | 60,000 | 70,000 | 10,000 | 16.7% |
| Product | A | 100,000 | 120,000 | 20,000 | 20.0% |
| Product | B | 50,000 | 40,000 | -10,000 | -20.0% |
| Customer | Cedar | 90,000 | 90,000 | 0 | 0.0% |
| Customer | Mesa | 40,000 | 54,000 | 14,000 | 35.0% |
| Customer | Summit | 20,000 | 16,000 | -4,000 | -20.0% |
The region view locates the net increase in West. The customer view shows Mesa's increase offset by Summit's decline. The product view shows growth in A and a decline in B. These are complementary descriptions of the same rows, not independent sources of extra revenue.
For the broader formula catalog, use sales analytics in Excel. Keep this recurring report focused on what changed this month.
Every region total must sum to company net sales, as must every product and customer total. For the region table, the following difference must equal zero:
=SUM(B9:B10)-B5
Run the same check for August and for each other breakdown. Retain an Unassigned category for missing dimensions so blank region or customer names cannot silently remove sales from the summaries.
Tie monthly gross sales and credits separately to the source export controls. Then tie net billed sales to finance's approved report, listing any timing or revenue-recognition differences. Check duplicate document-line keys before comparing periods.
The action note can now say: investigate Mesa's repeat-order outlook and ask Summit's account owner to explain the decline and credits. It cannot say that price, churn or demand caused the changes without additional evidence. Add units, order history or credit reasons before making that claim.
The monthly sales report template covers the report's wider sections. For a broader narrative example, see the Excel data analysis report sample. Once the definitions and checks are stable, automating the sales report addresses the recurring process.
Covirage is not affiliated with Microsoft.
Bring your invoice-and-credit workbook with dates, regions, products and customer identifiers. Covirage maps the columns; its tools compute and check the comparisons, and the external AI model explains the results with every figure traced to its rows. Create a free Covirage account, which takes about a minute, then set up your business and bring a sample of your own data.
See Covirage for sales teams for the supporting business context.
Include the reporting period, the agreed sales definition, a reconciled company total, prior-period comparisons and the largest changes by region, product and customer. Add a short explanation of each material movement and an action owner. Keep detailed transaction rows available for checking.
Subtract prior-month net sales from current-month net sales, then divide the difference by prior-month net sales. Format the result as a percentage. If the prior month is zero, show the dollar change and mark the percentage as unavailable instead of reporting zero growth.
Use the export that matches the report's stated purpose. Invoice and credit rows support a billed-sales report; closed opportunities support a bookings report. Keep them separately labeled. Finance should define any adjustments needed to reconcile billed sales to recognized revenue.