Skip to content

How to Create Bulk Invoices from Excel

Generate invoices in bulk from an Excel spreadsheet. Upload your invoice template, map client data fields, and produce hundreds of invoices at once.

Generating Bulk Invoices from a Spreadsheet

Creating invoices one at a time is tedious when you have dozens or hundreds of clients. With Mergram, you can take an Excel spreadsheet of invoice data, map it to a PDF template, and generate every invoice in a single operation — each one personalized with the correct client details, amounts, and invoice numbers.

Prerequisites

Before you start, make sure you have:

Design your template first

Create your invoice template in any design tool — Canva, Adobe Illustrator, Word, or Google Docs — and export as PDF. Leave blank areas where variable data (client name, amounts, dates) will be placed. Mergram fills these areas with data from your spreadsheet.

Preparing Your Invoice Data

Organize your spreadsheet with one row per invoice. Here is a recommended column structure:

InvoiceNumberClientNameClientEmailAddressItem1Amount1SubtotalTaxTotalDueDate
INV-001Acme Corpbilling@acme.com123 Main St, Springfield, ILConsulting Services$2,500.00$2,500.00$200.00$2,700.002025-02-28
INV-002Globex Incpay@globex.com456 Oak Ave, Austin, TX 73301Annual License$5,000.00$5,000.00$400.00$5,400.002025-02-28
INV-003Initechfinance@initech.com789 Elm Blvd, Portland, ORSupport Package$1,200.00$1,200.00$96.00$1,296.002025-03-15

Use Excel formulas for calculations

Let Excel handle the math. Use formulas like =SUM(Amount1:Amount5) for subtotals, =Subtotal*0.08 for tax, and =Subtotal+Tax for totals. Mergram reads the calculated values just like typed values.

Designing Your Invoice Template

Layout Structure

A typical invoice template has these sections:

Template SectionTypical FieldsPosition
HeaderCompany logo, “INVOICE” titleTop of page
Invoice detailsInvoice number, date, due dateTop-right area
Bill toClient name, addressUpper-left, below header
Line itemsDescription, quantity, rate, amountCenter of page
TotalsSubtotal, tax, totalBottom-right of items
FooterPayment terms, bank details, notesBottom of page

Placing Fields on the Canvas

For each column in your spreadsheet, drag it onto the canvas in the corresponding position:

  1. Invoice number — Place in the top-right corner with bold formatting
  2. Client name and address — Place in the “Bill To” section
  3. Line items — Place item descriptions and amounts in the center table area
  4. Totals — Place subtotal, tax, and total fields at the bottom with larger font
  5. Due date — Place near the totals or in the header area

Adjust font sizes to match your template design — amounts should stand out, while labels remain subtle.


Custom Filename Templates

Use filename templates to organize your generated invoices:

Filename TemplateExample Output
Invoice_[[InvoiceNumber]]Invoice_INV-001.pdf
Invoice_[[ClientName]]_[[DueDate]]Invoice_Acme Corp_2025-02-28.pdf
[[InvoiceNumber]]_[[Total]]INV-001_$2,700.00.pdf

Meaningful filenames make it easy to find specific invoices later, whether you store them locally or upload to a document management system.

Combined vs. Individual Output

Choose the output mode based on how you plan to distribute invoices:

Output ModeBest ForResult
IndividualEmail campaigns, per-client deliveryOne PDF per invoice, separate files
CombinedBatch printing, archivingAll invoices in a single multi-page PDF

For email campaigns, use individual mode — each recipient gets their own invoice as an attachment. For internal archiving or bulk printing, combined mode is more convenient.

Sending Invoices via Email Campaigns

Combine bulk invoice generation with email delivery for a complete billing workflow:

  1. Set up SMTP — Configure your email provider in Settings → SMTP
  2. Design email template — Use merge fields like [[ClientName]] and [[Total]] for personalization
  3. Include payment terms — Add due date and payment instructions in the email body
  4. Run campaign — Each client receives their invoice as an attached PDF

Sample email template:

Subject: Invoice [[InvoiceNumber]] from Your Company

Hi [[ClientName]],

Please find your invoice [[InvoiceNumber]] attached. The amount of [[Total]] is due by [[DueDate]].

If you have any questions, please don't hesitate to reach out.

Best regards,
Your Billing Team

Password-protect financial documents

For invoices containing sensitive financial information, set a password template in the merge dialog. Use a pattern like [[ClientID]]-2025 so each client can derive their own password from information they already know.


Best Practices for Invoice Generation

  1. Use consistent invoice numbering — Ensure your spreadsheet has a unique InvoiceNumber for every row to avoid duplicates
  2. Standardize date formats — Pick one format (e.g., YYYY-MM-DD) and use it consistently across all rows
  3. Validate totals — Double-check that amounts, subtotals, tax, and totals are correct before merging
  4. Test with 2–3 clients — Generate a small batch first to verify layout, formatting, and field placement
  5. Keep a master spreadsheet — Maintain one authoritative file for all invoices, adding new rows each billing cycle
  6. Archive after sending — Download generated invoices for your records after each billing run

Common Issues and Troubleshooting

Currency symbols not rendering correctly: Ensure your spreadsheet cells are formatted as text or use consistent currency formatting. If the PDF displays unexpected characters, try using plain numbers without currency symbols and add the symbol as static text on the template.

Line items overflowing the page: If you have invoices with many line items, the text may overlap with the totals section. Design your template with enough vertical space, or split long invoices into page breaks.

Client names with special characters: Names containing accents (e.g., “Cafe Rene”), ampersands, or parentheses are fully supported. Ensure your CSV file is saved with UTF-8 encoding if exporting from Excel.

Incorrect amounts after merge: Check that your spreadsheet columns contain the values you expect. Excel formulas should be calculated (copy and paste as values if needed). Leading zeros in amounts may be lost if the column format isn’t set to text.

Get Started

Upload your invoice template and client spreadsheet to the Mergram editor. Place your fields, preview with real data, and generate your entire batch of invoices in one click.

Step-by-step guide

  1. 1

    Prepare Invoice Data

    Create an Excel file with columns for client name, address, invoice number, dates, line items, and totals. One row per invoice.

  2. 2

    Design Invoice Template

    Upload a PDF invoice template. Use the canvas editor to place fields for each data column in the correct positions.

  3. 3

    Configure Output

    Set filename templates (e.g., Invoice_[[InvoiceNumber]].pdf), choose combined or individual output, and optionally add password protection.

  4. 4

    Generate or Email

    Run the merge to download invoice PDFs, or send directly via email campaign with personalized messages.

Frequently asked questions

Can I generate invoices with different amounts for each client?
Yes. Each row in your spreadsheet produces a separate invoice with its own amounts, client details, and line items. The values come directly from your data — every invoice is fully personalized.
How do I send generated invoices via email?
After setting up your template and data, use the email campaign feature. Configure your SMTP settings, write an email template with merge fields, and Mergram will generate and send each invoice as an attachment in one operation.
Can I password-protect invoice PDFs?
Yes. In the merge dialog, set a password template like [[ClientID]]-2025 to encrypt each invoice with a unique password. This is recommended for invoices containing financial information.
What should my invoice spreadsheet look like?
Include columns for all variable fields: client name, address, invoice number, date, line items, subtotal, tax, and total. One row per invoice. You can use Excel formulas to calculate totals automatically.
Can I use a custom filename for each invoice?
Yes. Use the filename template feature with merge fields. For example, 'Invoice_[[InvoiceNumber]]_[[ClientName]].pdf' generates filenames like 'Invoice_INV001_AcmeCorp.pdf' for easy organization.

Ready to try it yourself?

Start merging PDFs in minutes — free account required, no credit card needed.

Related articles