Skip to content

Bulk Invoice Generation

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

Published

What Is Bulk Invoice Generation?

Bulk invoice generation is the process of producing hundreds or thousands of personalized invoices from a single template and a billing spreadsheet. Instead of creating each invoice manually — typing client names, amounts, dates, and invoice numbers one by one — you upload your template once, connect your data, and generate every invoice in a single batch.

Mergram’s visual editor lets you drag data fields directly onto your invoice layout — client names, amounts, dates, payment QR codes, and barcodes. Each row in your spreadsheet produces a separate, professional invoice PDF ready to send.

One invoice template + one billing spreadsheet = hundreds of personalized invoices.

Who Uses This?


How to Create Bulk Invoices

Step 1 — Design Your Invoice Template

Create your invoice layout in Canva, Microsoft Word, Google Docs, InDesign, or any tool that exports to PDF. Your template defines the static elements — your company logo, business name, address, payment terms boilerplate, and the overall layout structure.

Leave blank spaces where dynamic data will appear: client name and address, invoice number, dates, the line-item table, totals, and any per-invoice details.

Canva designs

Design your invoice in Canva and import it directly into Mergram via the Canva integration. Your design becomes a merge-ready template — no manual PDF export step required.

Step 2 — Prepare Billing Data

Create a spreadsheet with one row per invoice. Common columns for billing:

ColumnExamplePurpose
ClientNameAcme CorpClient or company name
ClientEmail[email protected]Recipient email address
InvoiceNumberINV-2025-0042Unique invoice identifier
InvoiceDateJanuary 15, 2025Date of issue
DueDateFebruary 15, 2025Payment due date
DescriptionWeb Development — JanuaryService description
Subtotal$1,500.00Pre-tax amount
Tax$150.00Tax amount
Total$1,650.00Total amount due
PaymentLinkhttps://pay.example.com/inv-0042Payment URL
PaymentTermsNet 30Payment terms

Upload as Excel (.xlsx, .xls, .ods), CSV (.csv, .tsv), or connect a Google Sheet directly.

Step 3 — Map Fields to the Template

Upload your PDF template and spreadsheet to Mergram. The visual canvas editor displays your invoice layout. Drag column headers from the sidebar onto the canvas:

Custom filenames

Set a filename template like Invoice_[[InvoiceNumber]]_[[ClientName]].pdf to generate clean, organized filenames automatically. Characters invalid on Windows, macOS, or Linux are sanitized automatically.

Step 4 — Preview and Generate

Use the row selector to preview any invoice with real data — rendered directly in your browser, no server round-trip needed. Verify that amounts align, dates are correct, and QR codes are readable.

When you’re satisfied, generate your invoices:


Real Line Items with a Repeat Block

Invoices rarely have the same number of lines. Instead of a fixed set of Item1, Item2, … columns, keep one row per line item and let a repeat block lay them out:

InvoiceNumberClientNameDescriptionQtyAmountTotal
INV-0042Acme CorpWeb design1$2,500.00$3,100.00
INV-0042Acme CorpHosting (12 months)12$600.00$3,100.00
INV-0043Café LumièreLogo refresh1$900.00$900.00
  1. Open the Repeat Block tab in the editor sidebar, click Add repeat block, and size it over the line-item table.
  2. Drag Description, Qty, and Amount into the first slot. The other slots preview how lines will fill.
  3. Under One PDF per, choose InvoiceNumber.
  4. Under Totals, choose Amount, drag Sum below the table, and set it to show on the last page.

Each invoice number becomes one PDF with all of its lines. Long invoices continue onto extra pages automatically, and you can show fields like the payment terms only on the last page. Billing is one credit per invoice PDF.

Totals and email

A Sum field adds up the invoice’s line items. Tax and discounts that need a formula still belong in your spreadsheet, repeated on each line of the invoice and placed outside the block. To email the invoices, use the Send Emails tab: each invoice goes to the address on its first line.


Email Delivery for Invoices

Skip the download-and-attach workflow. Connect your SMTP server and Mergram sends each invoice directly to the client:

  1. Configure SMTP — Connect Gmail, SendGrid, Mailgun, Amazon SES, or any SMTP provider
  2. Compose the email body — Use rich text with merge field placeholders: Dear [[ClientName]], please find your invoice [[InvoiceNumber]] attached. Payment of [[Total]] is due by [[DueDate]].
  3. Generate and send — Mergram creates each invoice PDF and emails it as an attachment in one operation

Every send is tracked — see delivery status, opens, and bounces per recipient.

SMTP providers

Gmail SMTP is free for up to 500 emails per day. For higher volume, use SendGrid, Mailgun, or Amazon SES — all work seamlessly with Mergram’s email campaign feature.


Payment QR Codes

Make it easy for clients to pay by adding a scannable QR code to each invoice:

QR codes are generated at high resolution and embedded as PNG images — sharp and readable even when printed.

You can also use QR codes for:


Invoice Tracking with Barcodes

Add machine-readable barcodes to invoices for internal processing and scanning:

Barcode TypeBest ForExample Data
Code 128Invoice numbers, alphanumeric IDsINV-2025-0042
EAN-13Product-based billing5901234123457
Code 39Simple alphanumeric codesINV0042

Map any spreadsheet column to a barcode field. Barcodes scale to cover the field bounding box width and are embedded directly in the PDF — no images to manage.


Best Practices

  1. Standardize your spreadsheet columns — Use consistent column names across billing cycles so you can reuse the same template without re-mapping fields.
  2. Preview the longest values — Check that the longest client name, description, and amount fit within their fields without overlapping or clipping.
  3. Use filename templates — Set Invoice_[[InvoiceNumber]]_[[ClientName]].pdf for organized, searchable output files.
  4. Test with a small batch first — Generate 3–5 invoices, verify formatting and email delivery, then run the full batch.
  5. Save your template — After mapping all fields, save the template. Next billing cycle, just upload updated data and re-merge.
  6. Connect Google Sheets for recurring billing — Use a live Google Sheet so you can update client data and re-merge without re-uploading files.

Get Started

Generate your first batch of invoices in under 10 minutes. Upload a PDF invoice template, connect a billing spreadsheet, map your fields, and generate — no accounting software integration required.

What you need:

No credit card required. Start with your first batch for free.

Step-by-step guide

  1. 1

    Design Your Invoice Template

    Create an invoice layout in your preferred tool (Canva, Word, Google Docs, InDesign). Include your logo, company details, and placeholder space for dynamic fields. Export as PDF.

  2. 2

    Prepare Billing Data

    Create a spreadsheet with client name, invoice number, date, due date, tax, and other billing details. For itemized invoices, use one row per line item with columns like Description, Qty, and Amount — rows sharing an invoice number become one invoice.

  3. 3

    Map Fields to the Template

    Upload your PDF template and spreadsheet to Mergram. Drag text fields for client details, amounts, and dates. Add barcode fields for invoice numbers or QR codes for payment links.

  4. 4

    Preview and Generate

    Preview a sample invoice with real data to verify alignment and formatting. Then generate all invoices — download as individual PDFs in a ZIP, a combined file, or email directly to clients.

Frequently asked questions

How do I generate invoices in bulk from a spreadsheet?
Upload a PDF invoice template to Mergram, connect an Excel or Google Sheets file with client billing data, place dynamic fields for client names, amounts, and dates, then generate. With one row per invoice, each row produces a separate invoice PDF. With one row per line item, add a repeat block and group by invoice number to get one PDF per invoice.
Can I set custom filenames for each invoice?
Yes. Use filename templates like Invoice_[[InvoiceNumber]]_[[ClientName]].pdf. Mergram generates a unique filename for each invoice based on your spreadsheet data. Invalid characters are automatically sanitized.
Can I send invoices via email automatically?
Yes. Connect your SMTP server (Gmail, SendGrid, Mailgun, Amazon SES, or any provider). Mergram sends each invoice as a personalized email attachment with merge fields in the body, such as Dear [[ClientName]], please find your invoice attached.
How do I add payment QR codes to invoices?
Add a column to your spreadsheet with payment URLs (e.g., payment links, UPI links). Place a QR code field on the invoice template and map it to that column. Each invoice will include a scannable QR code directing clients to the payment page.
What data can I include on each invoice?
Any column from your spreadsheet can be mapped to a field: client name, company, address, invoice number, date, due date, line items (one spreadsheet row per line, laid out by a repeat block), subtotal, tax, total amount, payment terms, and notes. You can also add barcodes for invoice tracking.
Can I password-protect invoices?
Yes. Add a password column to your spreadsheet and Mergram encrypts each invoice PDF with the corresponding password using RC4 128-bit encryption. Use templates like [[ClientID]] or [[InvoiceNumber]]_[[ZipCode]] for unique per-client passwords.

Ready to try it yourself?

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

Related articles