A monthly sales report shows what each rep and each customer contributed to the month's sales, measured against target. The best ones are not written from scratch. They are added up from the daily reports, so the monthly numbers are only as good as the daily ones. The format below shows the columns and how to build them.
Start with the daily data
A monthly report is a summary, and a summary needs consistent rows to summarise. Before worrying about layout, check that your daily reports have one row per visit, a real date, the rep's name spelled the same way every time, and a numeric order value. If they do, everything below is a pivot table. If not, cleaning that data is the actual job. Our daily sales report format shows the columns to collect.
The by-rep summary
This is the page the owner reads first: one row per rep for the month.
| Column | Why it matters | Example |
|---|---|---|
| Month and rep | Who, and for which period. | September 2026, Ganesh Pawar |
| Route / area | Lets you compare like with like; a rural route and a city route are different jobs. | Route 4 |
| Target | What was expected. Fix it at the start of the month. | ₹4,00,000 |
| Achieved | Sum of order value from the daily reports. | ₹4,52,000 |
| Achievement % | Achieved divided by target, times 100. | 113% |
| Visits and orders | Effort and conversion. Orders divided by visits shows how often a visit ends in a sale. | 96 visits, 41 orders |
| Collection | Cash actually received, separate from sales booked. | ₹3,80,000 |
| New customers | Growth, not just maintenance of the existing base. | 3 |
A filled-in example
| Rep | Target | Achieved | % | Visits | Orders | Collection |
|---|---|---|---|---|---|---|
| Ganesh Pawar | ₹4,00,000 | ₹4,52,000 | 113 | 96 | 41 | ₹3,80,000 |
| Nisha Kamble | ₹3,50,000 | ₹3,01,000 | 86 | 88 | 34 | ₹2,90,000 |
| Imran Sheikh | ₹3,00,000 | ₹2,40,000 | 80 | 71 | 26 | ₹2,10,000 |
| Team | ₹10,50,000 | ₹9,93,000 | 95 | 255 | 101 | ₹8,80,000 |
The team is at 95 per cent of target. Read the remarks before you judge anyone: Imran was on leave for five days, so his 80 per cent is not a like-for-like comparison with the others. Numbers without the reason invite the wrong conversation.
Two ratios worth adding
Orders divided by visits shows how often a visit ends in a sale. Collection divided by achieved shows how much of the month's sales turned into cash. For the example:
| Rep | Orders per visit | Collection against sales |
|---|---|---|
| Ganesh Pawar | 41 of 96 = 43% | ₹3,80,000 of ₹4,52,000 = 84% |
| Nisha Kamble | 34 of 88 = 39% | ₹2,90,000 of ₹3,01,000 = 96% |
| Imran Sheikh | 26 of 71 = 37% | ₹2,10,000 of ₹2,40,000 = 88% |
Ganesh sold the most but collected the smallest share of it, so the conversation with him is about receivables and not about effort. Nisha sold less but her money is nearly all in.
The by-customer summary
The second view answers a different question: who is the business actually depending on? Build it from the same daily data with customer as the row.
| Customer | Orders | Order value | Share of month | Last order |
|---|---|---|---|---|
| Shiv Traders | 6 | ₹1,10,000 | 11% | 28-09-2026 |
| Lakshmi Stores | 4 | ₹68,500 | 7% | 26-09-2026 |
| Annapurna Mart | 1 | ₹4,140 | 0.4% | 03-09-2026 |
A customer whose last order was many weeks ago is a customer to call. A single customer that makes up a large share of the month is a risk worth knowing about.
Building it in Excel
- Keep every daily report in one sheet, one row per visit, with a proper date.
- Insert a pivot table. Put Sales rep in rows, use Sum of Order value as the value, and Count of rows as visits. For orders, filter Outcome to Order and count again.
- Filter by month, or add Month as a column for a month-on-month view.
- Type each rep's target in a small side table and calculate Achievement % as achieved divided by target.
- Repeat with Customer in rows for the by-customer view.
Rules for a monthly report people trust
- Never retype the daily data. Every manual copy is a chance for a mismatch.
- Fix targets before the month starts. Changing them afterwards ends every discussion about fairness.
- Show sales and collection side by side. A rep who books a lot and collects little is creating a receivables problem.
- Add a remarks line for exceptions. Leave, a closed market or a large one-off order.
- Use the same names all month. "Shiv Traders" and "Shiv trader" split one customer into two in the pivot.
Where monthly reports usually go wrong
Most monthly reports are late or disputed because the daily reports are late, missing or typed from memory. Reps who fill in a week of visits on Saturday give approximate numbers, and the monthly total inherits every guess. The month-end fix is a daily habit, not a better template.
Getting clean daily data to roll up
This is where vBol fits. Instead of a spreadsheet at night, each rep sends a WhatsApp voice note after every visit, in their own language: Marathi, Hindi, Tamil, Kannada, Telugu, Gujarati or others. vBol transcribes it, extracts the fields and reads the record back on WhatsApp for a one-tap confirmation, with nothing written until the rep confirms. Confirmed records go as rows into your Google Sheet, an Excel workbook on OneDrive or SharePoint, or Ekatm ERP, with photos and GPS location attached.
That gives you one sheet of consistent rows for the whole month. The monthly report is then the pivot table described above. vBol supplies the rows; it does not calculate targets or build the monthly report for you. Each evening at 7 PM owners and managers get one WhatsApp message on what was filed and which reps sent nothing, so gaps are visible that day and not at month-end.
vBol has built-in sales visit and order record types, and Vritti sets up anything else with you. Staff install no app and need no login. It is free for 30 days (up to 5 confirmed reports per person per day), then ₹199 per user per month for teams of up to 100 users, with a custom plan for bigger teams. See pricing.
The free template on this page has the by-rep columns and three example rows. Paste your pivot results into it, or use it as a layout for the owner's one-page summary.
Frequently asked questions
What is a monthly sales report?
A monthly sales report summarises a month's sales by salesperson, customer or product against targets. It is normally built by adding up the daily sales reports, not typed separately.
What should a monthly sales report include?
Target and achievement in rupees and per cent, by rep and by customer, plus visits, orders, collections and new customers. A short remarks column explains the exceptions.
How do you calculate sales achievement percentage?
Divide the sales achieved by the target and multiply by 100. For example, ₹4,52,000 achieved against a ₹4,00,000 target is 113 per cent.
How can I create a monthly sales report from daily reports in Excel?
Keep all daily reports in one sheet with a row per visit, then build a pivot table on it with rep or customer as rows, month as filter and sum of order value as values. If the daily data is clean, the monthly report takes minutes.