Quick updates for 2026

A short, readable summary of the latest DocMaster workflow updates so you can set up faster and avoid common mistakes.

  • Guided order stepper for creating and updating orders (Items → Extras → Customer → Review).
  • Docs marker popover with one-click copy or insert for marker scriptlets.
  • Default output folder is required before generating invoices or running bulk tasks.
  • DocMaster only works with the active spreadsheet and only writes files to the folder you select.
  • Sheets-native CRM + inventory: your data stays in Google Drive and Sheets.

Order stepper update

Open an order, adjust quantities or discounts in the stepper, then click Update Order to recalculate totals before regenerating the invoice.

Docs popover markers

In Google Docs, open the DocMaster popover and click markers like {{customer.name}} to copy or insert them into your template.

Folder + data boundaries

Set Output Folder to a dedicated location (for example: Invoices/2026). DocMaster saves PDFs/Docs there and never scans other Drive files.

If a folder is not selected, invoice generation and bulk tasks will be blocked until you choose one.

Complete Tutorial & Guide

Automate Invoice & Quotation Generation from Google Sheets - Complete Tutorial

Transform your Google Sheet into a Sheets-native CRM + inventory + invoicing system in 10 minutes. Learn smart markers, bulk PDF creation, email automation, inventory tracking, and customer management. No external CRM software required - your data stays in Google Drive and Sheets.

  • Install the add-on and initialize your sheet for automated invoice & quotation generation
  • Master smart markers to create dynamic templates that auto-fill from your Google Sheets data
  • Generate hundreds of professional invoices or quotations with one-click bulk processing
  • Automate email delivery, inventory tracking, and customer management - all within Google Sheets
  • Full data ownership: Sheets are the system of record, Docs are templates
DocMaster invoice and quotation automation interface showing bulk generation from Google Sheets

Complete DocMaster Tutorial

Watch this comprehensive walkthrough to learn everything about DocMaster - from installation to advanced features like email automation, analytics reports, and calendar integration.

How DocMaster Automates Invoice & Quotation Generation from Google Sheets

DocMaster transforms your Google Sheets into a CRM and inventory system with invoice and quotation automation. No external CRM software required. Your data stays in Google Drive and Sheets with full control and enterprise-grade security.

  • Google Sheets becomes your CRM and inventory database - manage products, customers, orders, and stock in familiar spreadsheet format
  • Google Docs templates with smart markers automatically fill with your sheet data - no copy-paste, no errors
  • One-click bulk generation creates hundreds of professional PDF invoices or quotations simultaneously
  • Email automation sends invoices automatically when order statuses change - with customizable templates and PDF attachments
  • Built-in inventory management tracks stock levels, auto-decreases on orders, and restores on refunds
  • Mini-CRM manages customer information with search, duplicate prevention, and complete order history
  • Automated analytics reports deliver daily or weekly business insights via email - revenue, orders, top products
  • Complete audit trail tracks all inventory changes, email sends, and document generations
  • No external software dependency - all data stays inside your Google Drive and Sheets
  • Works only on the active spreadsheet and writes files only to the folder you select
DocMaster system architecture showing Google Sheets database connected to automated invoice and quotation generation

Step 1 — Install the add-on

Install DocMaster once, then open it from the Extensions menu in Google Sheets.

  1. 1

    Open the add-on listing

    Go to the Google Workspace Marketplace and open the DocMaster listing: https://workspace.google.com/marketplace/app/docmaster_inventory_order_management/530480400615?flow_type=2

    Open the add-on listing
  2. 2

    Install DocMaster

    Click Install and approve the requested permissions.

    Install DocMaster
    note:If your organization restricts add-ons, contact your Workspace admin.
  3. 3

    Open the sidebar

    In Google Sheets, open Extensions → DocMaster → Open to launch the sidebar.

    Open the sidebar

Step 2 — Initialize your workspace

Create the required tabs, then set a default output folder and confirm your configuration settings.

  1. 1

    Initialize DocMaster tabs

    In the sidebar home screen, click 'Initialize sheets' to create the required sheets with proper headers. This creates: Products, Customers, Orders, Order Items, Tasks - Invoices, Task - Invoice Items, Product History, and App Logs.

    Initialize DocMaster tabs
    note:Initialization is one-time and only creates missing sheets. Existing sheets are preserved.
  2. 2

    Review the created sheets

    Confirm all required sheets now exist: Products (inventory), Customers (contact info), Orders (transactions), Order Items (line items), Product History (audit log), Tasks sheets (background jobs), and App Logs (error tracking).

    Review the created sheets
    note:Product History automatically tracks all product changes made through the UI.
  3. 3

    Configure settings

    Open Configuration from the sidebar to set default currency, required output folder, invoice templates, file naming patterns, and custom properties. These settings streamline document generation and ensure consistency.

    Configure settings
    warning:Selecting a default output folder is required before generating invoices or running bulk tasks.
    tip:DocMaster only reads and writes data in the active spreadsheet and saves files only to the folder you choose.
    tip:Use the Maintenance section in Configuration to clean up preview triggers if you encounter errors.

Home screen & dashboard

The home screen provides a real-time dashboard with order statistics, low stock alerts, and quick actions. It automatically detects if your workspace needs initialization.

  1. 1

    Fresh install state

    If required sheets are missing, DocMaster shows an initialization prompt. Click 'Initialize sheets' to create Products, Customers, Orders, Order Items, Tasks - Invoices, Task - Invoice Items, Product History, and App Logs sheets with proper headers.

    Fresh install state
    note:Initialization is user-triggered and only happens when you explicitly click the button. This ensures you're in control of sheet creation.
  2. 2

    Dashboard statistics

    Once initialized, the home screen displays today's orders, pending orders, completed orders, and total revenue with tax breakdown. Order trends show percentage changes compared to yesterday.

    tip:The dashboard automatically refreshes when you navigate to the home screen.
  3. 3

    Low stock alerts

    Products with stock below the threshold (default: 5 units) are highlighted in the Low Stock alert card. This helps you reorder inventory before running out.

    tip:Only products with 'Auto Decrease' enabled are tracked for low stock alerts.
  4. 4

    Quick actions

    Access common operations directly from the home screen: Create Order, Manage Products, View Product History, and Manage Customers.

    tip:Quick actions are the fastest way to navigate to frequently used features.
  5. 5

    Navigation drawer

    Open the drawer from the header to access all features organized in expandable groups: Products (Manage Products, Product History) and Orders (Create Order, Invoice).

    Navigation drawer
    note:Navigation uses a tree structure with nested items for better organization.

Sheets flow — Products, Customers, Orders

Create products, add customers, create orders with line items. All product changes through the UI are automatically tracked in Product History.

  1. 1

    Create products

    In the Products sheet, add each product or service with a unique product ID (for example, PRD-001). You can enter rows manually or use the UI. Using the UI is recommended as it validates IDs and automatically logs changes to Product History.

    Create products
    tip:UI-based product management provides automatic audit trails in Product History.
  2. 2

    Add customers

    In the Customers sheet, create customer records with unique IDs. You can enter rows manually, or let customers be created automatically during order creation from the UI.

    Add customers
  3. 3

    Create orders

    In the Orders sheet, add a row per order (which can become an invoice or quotation) and reference a valid customer ID. Using the UI is strongly recommended because it applies tax calculations, data mappings, and handles stock deductions automatically.

    Create orders
    warning:Manual order creation bypasses stock management and Product History logging.
  4. 4

    Add order items

    In the Order Items sheet, add one row per line item referencing the Order ID and Product ID. The UI automatically creates these when you add products to the cart during order creation.

    Add order items
    tip:Use formulas like =Quantity * UnitPrice to keep line totals consistent when editing manually.

Manage products

Add and manage products through the UI or directly in Google Sheets. Products can have auto-decreasing stock when used in orders. All product changes are automatically logged in the Product History for audit trails.

  1. 1

    Add products through UI

    Open 'Products' → 'Manage Products' from the sidebar. Enter product ID (must be unique), name, unit price, and tax percentage. Price After Tax is automatically calculated. Enable 'Auto Decrease' if you want stock to reduce automatically when the product is used in orders.

    note:Product IDs must be unique. The UI will validate this when you add or update products.
    tip:All product changes (create, update, delete) are automatically logged with timestamps and user information.
  2. 2

    Load from sheet selection

    To quickly edit a product: open the Products sheet in Google Sheets, click on any data row, then click 'Load Selected Row from Sheet' in the UI. The form will auto-fill with that product's data for editing.

    tip:This is faster than searching through products when you're already working in the sheet.
    warning:Make sure to select a data row (not the header row). The button shows an error if no valid row is selected.
  3. 3

    Stock management

    When 'Auto Decrease' is enabled for a product, creating an order will automatically reduce the stock quantity. For example, if stock is 50 and you order 10 units, stock becomes 40. The stock change is logged in Product History.

    warning:Stock quantity cannot go negative. Orders will fail if there's insufficient stock for products with auto-decrease enabled.
  4. 4

    Edit directly in sheets

    You can add or modify products directly in the Products sheet. Follow the column structure and ensure Product IDs remain unique. The UI will refresh automatically when you reload. Note: Direct sheet edits are not tracked in Product History.

    tip:Blank rows in the sheet are automatically skipped during operations, so malformed data won't cause errors.
    warning:For full audit trail, use the UI instead of editing sheets directly. Direct sheet edits bypass history logging.

Products sheet structure

Products can be added in the UI or directly in Sheets. Keep IDs stable to preserve history and enable proper audit trails.

IDNameUnit PriceTax %Price After TaxStock QuantityAuto DecreaseCreated AtUpdated At
ITM-1001Retainer (Monthly)120010132050Yes2026-01-102026-01-18
  • Auto Decrease reduces stock after order creation (e.g., 50 - 10 = 40).
  • Editing products in Sheets requires a refresh in the add-on UI.
  • UI-based changes are automatically logged in the Product History sheet.

Product History & audit trail

Every product change made through the UI is automatically logged with full details. Search, filter, and review all modifications with timestamps and user information.

  1. 1

    Access Product History

    Open 'Products' → 'Product History' from the sidebar navigation. The history view displays all product changes in a card-based layout with color-coded indicators for different action types.

    Access Product History
    note:Product History only tracks changes made through the UI. Direct sheet edits are not logged.
  2. 2

    Search and filter

    Use the search bar at the top to find products by name or ID. The search filters in real-time as you type, making it easy to track specific products across all their changes.

    tip:Search is case-insensitive and searches both product names and IDs.
  3. 3

    View change details

    Each history card shows the action type (Created, Updated, or Deleted), user email, and timestamp. Click 'View Changes' to expand and see the exact field modifications in a structured format.

    note:Color coding: Green for created, Blue for updated, Red for deleted products.
  4. 4

    Understanding change data

    For updates, the expanded view shows before/after values for all modified fields. For creations, you'll see all initial values. For deletions, you'll see the final state before removal.

    tip:Changes are displayed in JSON format for technical accuracy and completeness.

Product History sheet structure

The Product History sheet automatically captures all product changes with complete audit information.

TimestampProduct IDProduct NameActionUserChangesBefore StateAfter State
2026-01-23 08:15:42PRD-001Premium Widgetupdateduser@company.com{"unitPrice": {"old": 100, "new": 120}}{"id": "PRD-001", "name": "Premium Widget", "unitPrice": 100, ...}{"id": "PRD-001", "name": "Premium Widget", "unitPrice": 120, ...}
2026-01-23 08:10:15PRD-002Basic Servicecreatedadmin@company.com{}null{"id": "PRD-002", "name": "Basic Service", "unitPrice": 50, ...}
  • Timestamp is in ISO 8601 format for global compatibility.
  • Changes field contains a JSON object showing only modified fields with old/new values.
  • Before State and After State contain full product snapshots for complete audit trails.
  • Action types: 'created', 'updated', 'deleted' correspond to UI operations.
  • Direct sheet edits bypass this logging system.

Manage customers

Add and manage customer information through the UI or directly in Google Sheets. Customer data is used when creating orders and generating invoices or quotations.

  1. 1

    Add customer through UI

    Open 'Manage Users' from the sidebar. Enter customer email (required and must be unique), full name, phone number, and address. The address field supports multiple lines for complete addresses.

    note:Email addresses are validated and checked for duplicates. You cannot create two customers with the same email.
  2. 2

    Smart customer search

    When creating orders, use the customer autocomplete field. Type 4 or more characters to search existing customers. If the customer doesn't exist, you can create them on the fly.

    tip:The search helps prevent duplicate customer entries by suggesting existing matches as you type.
  3. 3

    Load from sheet selection

    To quickly edit a customer: open the Customers sheet in Google Sheets, click on any data row, then click 'Load Selected Row from Sheet' in the UI. The form will auto-fill with that customer's data for editing.

    warning:Make sure to click on a data row (not the header row). The button will show an error if no valid row is selected.
  4. 4

    Edit directly in sheets

    You can also edit customer data directly in the Customers sheet. Add or modify rows following the column structure: Email | Name | Phone | Address | Total Orders | Last Order Date. Total Orders and Last Order Date are automatically calculated.

    warning:Phone numbers starting with + (like +923001234567) are automatically protected from being interpreted as formulas.

Customers sheet structure

The Customers sheet tracks all customer information and order history. Email is the unique identifier.

EmailNamePhoneAddressTotal OrdersLast Order Date
john@example.comJohn Smith+1-555-0123123 Main Street Apt 4B New York, NY 1000152026-01-20
sarah@company.comSarah Johnson+44-20-1234-567845 Baker Street London, UK122026-01-22
  • Email must be unique and is used as the primary identifier.
  • Total Orders and Last Order Date are automatically updated when orders are created.
  • Address field can contain multiple lines for complete addresses.
  • Phone numbers with + prefix are automatically escaped to prevent formula errors.

Create or update an order

Orders behave like a cart system. Use the stepper to create or update orders so totals, taxes, and stock changes stay consistent.

  1. 1

    Start the order stepper

    Click Create Order, or open an existing order and choose Update Order to load the stepper with current values.

    Start the order stepper
  2. 2

    Add products (Items step)

    Select products from the dropdown, set quantities, and click Add to cart. The app calculates product prices and taxes as items are added. If a product has 'Auto Decrease' enabled, stock will be reduced when the order is created.

    Add products (Items step)
    tip:Product changes are tracked in Product History when orders affect stock levels.
  3. 3

    Apply extras and discounts (Extras step)

    Add shipping, packing, or restoration charges. Apply a flat discount if needed.

    Apply extras and discounts (Extras step)
  4. 4

    Select customer details (Customer step)

    Pick a customer email from the existing list to avoid duplicates.

    Select customer details (Customer step)
    warning:Creating orders directly in Sheets can break totals. Use the UI when possible.
  5. 5

    Review and save (Review step)

    Confirm totals, taxes, and item counts, then click Create Order or Update Order to apply changes.

    tip:Use Update Order after edits so totals and invoice previews stay accurate.

Orders tab fields

These fields are calculated or written during order creation and document generation (invoices or quotations).

IDOrder NumberStatusCustomer IDNotesCurrency CodeCurrency SymbolSubtotalTax TotalDiscount AmountGrand TotalItems CountDocument URLDocument Folder URLCreated ByCreated AtUpdated At
ORD-2026-001INV-2026-001ReadyCUST-0001Monthly retainerUSD$1200120013202https://docs.google.com/...https://drive.google.com/...user@company.com2026-01-182026-01-18
  • Document URL and Folder URL populate after generation (invoice or quotation).
  • Status updates to Done when the document is created.

Refund orders

Process refunds for orders while automatically restoring product inventory. DocMaster handles inventory adjustments and sends refund confirmation emails.

  1. 1

    Open the order

    In the Orders section, click on the order you want to refund. The order details panel will open on the right side.

    note:Only orders with status Fulfilled, Confirmed, or Payment Received can be refunded.
  2. 2

    Click refund button

    At the bottom of the order details panel, click the 'Refund Order' button. A confirmation dialog will appear explaining that the order status will change to 'Refunded' and inventory will be restored.

    Click refund button
  3. 3

    Confirm refund

    Review the refund details and click 'Confirm' to process. DocMaster will: (1) Change order status to 'Refunded', (2) Restore product stock quantities, (3) Send refund confirmation email if enabled.

    tip:Inventory is automatically restored - no manual adjustment needed.
    warning:Refunds cannot be undone. Double-check before confirming.
  4. 4

    Verify inventory restoration

    Go to Products section to verify that stock quantities have been increased by the refunded amounts. Check Email History to confirm the refund email was sent to the customer.

What happens during refund

DocMaster performs multiple actions automatically when you process a refund.

ActionDescriptionExample
Status ChangeOrder status changes to 'Refunded'Fulfilled → Refunded
Inventory RestoreProduct stock increased by order quantitiesProduct A: 50 → 52 units
Email NotificationRefund confirmation sent to customer (if enabled)Email with order details
History LogRefund recorded in order historyTimestamp and user recorded
Calendar CleanupAssociated calendar events removed (if any)Fulfillment reminder deleted
  • Refunds work with all product types including variants and bundles.
  • Partial refunds are not supported - entire order is refunded.
  • Refund emails use the 'Refunded' email template (customizable in Email Templates).

Google Calendar integration

Create fulfillment reminder events in your Google Calendar automatically when orders reach specific statuses. Never miss a delivery deadline.

  1. 1

    Enable calendar integration

    Go to Configuration → Calendar Integration and toggle 'Enable Calendar Events'. You'll be prompted to grant Google Calendar permissions on first use.

    note:DocMaster needs Calendar API access to create and manage events.
  2. 2

    Configure event trigger

    Select which order status should trigger calendar event creation. Common choice is 'Confirmed' - when you confirm an order, a calendar reminder is created.

    tip:Choose the status that matches your fulfillment preparation workflow.
  3. 3

    Set reminder timing

    Choose how many days before fulfillment to receive the reminder (e.g., 2 days before). Set the time of day for the event (e.g., 9:00 AM). Events will appear in your primary Google Calendar.

    tip:Set reminders 1-2 days early to account for preparation time.
  4. 4

    Automatic event creation

    When an order reaches the configured status, DocMaster automatically creates a calendar event with order details: customer name, order number, products, and total amount. The event includes a direct link to the order.

    note:If an order is refunded or cancelled, the associated calendar event is automatically deleted.

Calendar event details

Information included in automatically created calendar events.

FieldContentExample
Event TitleOrder fulfillment reminder with customer nameFulfill Order for John Smith
DescriptionOrder details: products, quantities, totalOrder #ORD-2026-001: 2x Product A, Total: $150
Date/TimeCalculated from reminder days before fulfillmentJanuary 20, 2026 9:00 AM
LocationCustomer shipping address (if available)123 Main St, City, State
LinkDirect link to open order in DocMasterOpens order details panel
ReminderEmail reminder 30 minutes before eventEmail notification
  • Events appear in your primary Google Calendar (not shared calendars).
  • You can edit event details manually in Google Calendar after creation.
  • Deleting an event in Calendar doesn't affect the order status.
  • Calendar events are deleted automatically when orders are refunded or cancelled.

Docs flow — Templates and previews

Create a Google Docs template, insert markers with the Docs popover, then preview invoices or quotations before bulk runs.

  1. 1

    Create a template

    In Google Docs, build an invoice or quotation template and add your branding and layout.

    Create a template
  2. 2

    Open the marker popover

    In Google Docs, open the DocMaster sidebar to browse markers. Click any marker to copy or insert its scriptlet into the template.

    Open the marker popover
  3. 3

    Insert markers

    Paste markers like {{customer.name}} and {{invoice.total}} in the right places. Always cross-check markers—most errors happen due to incorrect marker names or formatting.

    Insert markers
  4. 4

    Select template in DocMaster

    In the Google Sheets DocMaster sidebar, choose the template you just added markers to, then save your selection so that document is used for processing.

    Select template in DocMaster
  5. 5

    Preview a single document

    Select an order and click Preview Invoice (or Preview Quotation) to verify output before bulk generation.

    Preview a single document

Using the Drive picker

Choose a required destination folder for generated documents (invoices and quotations). DocMaster only writes files to this folder.

  1. 1

    Open Drive picker

    From the sidebar, select Choose Folder to open the Google Drive picker. This step is required before any invoice generation.

    Open Drive picker
  2. 2

    Select a folder

    Pick a folder you own or have edit access to, then confirm selection. DocMaster will store all generated files here.

    Select a folder
  3. 3

    Confirm saved destination

    DocMaster stores the folder in your user properties for future runs and uses it for all document generation.

    Confirm saved destination
    note:You can change the folder anytime from Settings. DocMaster does not scan other Drive files.

Markers & placeholders

Markers are tokens inside your template that DocMaster replaces with data from Sheets. Use the Docs popover to copy marker scriptlets quickly.

CategoryMarkerWhat it renders
Customer{{customer.name}}Customer name
Order{{order.id}}Order ID
Dates{{order.date}}Order date
Totals{{invoice.total}}Document total (invoice/quote)
Line items{{items.table}}Line item table block

Example template snippet

Document #: {{invoice.number}}
Customer: {{customer.name}}
Date: {{order.date}}

{{items.table}}

Subtotal: {{invoice.subtotal}}
Tax: {{invoice.tax}}
Total: {{invoice.total}}
/assets/documentation/template-markers.webp
  • Markers must match canonical field names exactly.
  • Avoid extra spaces or punctuation inside marker braces.
  • The Docs popover provides one-click copy or insert for common markers.

Marker namespaces

Namespaces prevent ambiguity. Use the right namespace for each entity.

NamespaceEntityExample fields
customerCustomername, email, phone, address
orderOrderorderNumber, status, subtotal, grandTotal
lineItemLine itemitemId, name, quantity, unitPrice
configConfigCOMPANY_NAME, PHONE, ADDRESS
  • `lineItem` markers only work inside line item table rows.
  • Namespace separators support both dot and underscore.

Marker modifiers

Modifiers transform values using a pipe syntax inside the marker.

ModifierExampleResult
uppercase{{customer.name | uppercase}}JOHN DOE
lowercase{{customer.email | lowercase}}john@example.com
capitalize{{customer.name | capitalize}}John doe
trim{{customer.phone | trim}}555-1234
truncate{{customer.name | truncate:10}}John Doe
multiply{{order.total | multiply:0.8}}80.00
divide{{order.total | divide:2}}50.00
add{{order.subtotal | add:10}}110.00
subtract{{order.total | subtract:5}}95.00
round{{order.total | round:2}}100.55
abs{{order.discount | abs}}10.00
currency{{order.total | currency:USD}}$100.00
number{{order.total | number:2}}100.50
percent{{lineItem.taxPercent | percent}}15%
date{{order.Created At | date:DD/MM/YY}}20/01/26
default{{customer.phone | default:N/A}}N/A
  • Modifiers can be chained: {{order.total | multiply:0.8 | currency:USD}}.
  • Invalid modifiers are ignored safely.

Advanced marker rules

These rules keep templates safe, reliable, and predictable.

  • User-facing sheet headers map to canonical fields automatically.
  • Markers tolerate extra whitespace or line breaks inside braces.
  • Line item rows must expand before document-level replacements.
  • Missing fields return empty strings unless you add a default modifier.
  • Currency formatting can be automatic or manual with the currency modifier.

Background tasks

Bulk document generation (invoices or quotations) runs through a task queue to stay within Apps Script limits.

  1. 1

    Track background tasks

    All background tasks are logged with their status, folder URL, and any failure reason so you can track progress and fix issues gracefully.

    Track background tasks

Task status glossary

Use these statuses to triage runs and retries.

StatusMeaning
QueuedReady to process
In ProgressCurrently running
DoneCompleted successfully
FailedStopped due to error

Custom properties & configuration

DocMaster stores user preferences and operational metadata in Apps Script properties.

PropertyScopePurpose
DM_CONFIGURATIONUserAdd-on settings and defaults
DRIVE_PICKER_SELECTIONUserSelected template and output folder
SCRIPT_PROPERTIESScriptTrigger IDs for background tasks
  • Changing settings updates the stored properties immediately.
  • Admins can reset properties by re-running setup.

Email Automation

DocMaster can automatically send professional email notifications to customers when order statuses change. Configure which emails to send and customize email templates.

  1. 1

    Enable order emails

    Go to Configuration and toggle 'Enable Order Emails'. This activates the email automation system.

    note:Email automation requires Gmail sending permissions. You'll be prompted to authorize on first use.
  2. 2

    Configure email triggers

    Choose which order status changes should trigger emails: Pending, Payment Received, Confirmed, Fulfilled, Cancelled, or Refunded. Enable 'Attach Invoice Links' to include invoice PDFs in emails.

    tip:Most businesses enable emails for Payment Received, Confirmed, and Fulfilled statuses.
  3. 3

    Customize email templates

    Click 'Email Templates' in the sidebar to customize the subject and body for each status. Use markers like {{customerName}}, {{orderNumber}}, {{grandTotal}} to personalize emails. The {{invoiceLink}} marker inserts a professional 'View Invoice' button.

    tip:Preview markers before sending by clicking the markers list in the template editor.
  4. 4

    Send emails automatically

    When you update an order status (e.g., from Pending to Confirmed), DocMaster automatically sends the configured email to the customer. Check Email History in the sidebar to see sent emails and delivery status.

Email template markers

Available markers for personalizing email templates. All markers are replaced with actual data when emails are sent.

MarkerDescriptionExample Output
{{customerName}}Customer's full nameJohn Smith
{{customerEmail}}Customer's email addressjohn@example.com
{{orderNumber}}Human-readable order IDORD-2026-001
{{orderDate}}Order creation dateJanuary 18, 2026
{{grandTotal}}Order total with currency$1,250.00
{{subtotal}}Order subtotal before tax$1,200.00
{{taxTotal}}Total tax amount$50.00
{{discountAmount}}Discount applied$100.00
{{status}}Current order statusConfirmed
{{invoiceLink}}Styled 'View Invoice' button<button style='...'>View Invoice</button>
{{config.propertyKey}}Custom configuration propertyYour custom value
  • The {{invoiceLink}} marker automatically includes invoice PDF when available.
  • Create custom properties in Configuration to add your own markers (e.g., {{config.companySlogan}}).
  • Line item markers like {{lineItems.itemName}} can be used in loops - see advanced markers section.

Email history tracking

View all emails sent by DocMaster, check delivery status, and resend failed emails.

  1. 1

    Access email history

    Click 'Email History' in the sidebar to see all sent emails. The list shows recipient, subject, status (Sent/Failed), timestamp, and order reference.

  2. 2

    Check delivery status

    Green checkmark indicates successful delivery. Red X means the email failed. Click on any email to see full details including error messages for failed sends.

  3. 3

    Resend failed emails

    If an email fails (e.g., invalid recipient address), fix the issue and use the 'Resend' button to retry delivery. DocMaster logs all retry attempts.

Analytics reports

Receive automated daily or weekly email reports with key business metrics: revenue, orders, top products, and customer insights.

  1. 1

    Enable daily reports

    Go to Configuration → Analytics Reports and toggle 'Enable Daily Report'. Set the hour to send (0-23, default 8 AM). Add recipient email addresses (comma-separated for multiple recipients).

    tip:Schedule reports during morning hours to review stats with your first coffee.
  2. 2

    Enable weekly reports

    Toggle 'Enable Weekly Report' and choose the day of the week (0=Sunday, 6=Saturday, default 1=Monday). Weekly reports provide 7-day summaries with trend comparisons.

    note:Weekly reports are sent at 8 AM on the selected day.
  3. 3

    Setup report triggers

    After enabling reports, click 'Setup Report Triggers' to activate automated delivery. DocMaster creates time-based triggers in your Google Apps Script project.

    warning:You must setup triggers for automated reports. Without triggers, reports won't be sent.
  4. 4

    Test your reports

    Use 'Test Daily Report' or 'Test Weekly Report' buttons to send a sample report immediately. This helps verify your configuration before waiting for scheduled delivery.

Report metrics included

Each analytics report includes comprehensive business metrics automatically calculated from your orders data.

MetricDescriptionCalculation Period
Total RevenueSum of all completed order totalsDaily/Weekly
Order CountNumber of orders createdDaily/Weekly
Average Order ValueRevenue ÷ Order countDaily/Weekly
Top ProductsBest-selling products with quantitiesDaily/Weekly
Top CustomersHighest spending customersDaily/Weekly
Status BreakdownOrders by status (Pending, Confirmed, etc.)Daily/Weekly
Fulfillment RatePercentage of fulfilled ordersDaily/Weekly
Revenue by CurrencyTotal revenue split by currencyDaily/Weekly
  • Daily reports show previous 24-hour period (midnight to midnight).
  • Weekly reports cover 7 full days ending at midnight.
  • All currency amounts are formatted with proper symbols ($ € £ etc.).
  • Reports are beautifully styled HTML emails with responsive design.

Automatic invoice generation

DocMaster automatically generates professional PDF invoices when you create orders. No manual invoice creation needed.

  1. 1

    Invoice generation on order creation

    When you create a new order (whether from the 'Create Order' button or by adding products to cart), DocMaster automatically generates a PDF invoice and stores it in Google Drive.

    tip:Invoices are saved in your configured Drive folder with naming pattern: INVOICE-{OrderNumber}.pdf
  2. 2

    View invoice anytime

    In the Orders section, click any order to open details. Click the 'View Invoice' button to open the PDF invoice in a new tab. The invoice includes all order details, line items, taxes, discounts, and custom properties.

    View invoice anytime
    note:Invoice button appears only after the invoice is generated (usually within seconds).
  3. 3

    Email invoice to customers

    When order emails are enabled, invoices are automatically attached as links in customer emails. The {{invoiceLink}} marker in email templates renders as a styled 'View Invoice' button.

    tip:Customers receive clickable invoice links in emails for Confirmed, Fulfilled, and other configured statuses.
  4. 4

    Regenerate invoices

    If you update order details (products, quantities, discounts), use the 'Regenerate Invoice' button in order details to create a new PDF with updated information. The old invoice is replaced in Drive.

    warning:Regenerating replaces the existing invoice file. Previously sent email links will point to the new version.

Proof example — your first document

Follow this sample data set to see how a single order turns into a finished invoice or quotation.

Before (Orders)

Order IDCustomer IDOrder DateStatus
ORD-2026-001CUST-00012026-01-15Ready

After (Invoices)

Document IDOrder IDDoc LinkStatus
INV-2026-001ORD-2026-001https://docs.google.com/...Sent
/assets/documentation/invoice-preview.webp
  • The document link (invoice or quotation) is written back to the Documents tab.
  • You can preview before sending or downloading.

Frequently Asked Questions

Get answers to common questions about automating invoice and quotation generation in Google Sheets with DocMaster.

Install DocMaster from Google Workspace Marketplace, click 'Initialize Sheet' to create data structures, design your invoice template in Google Docs with markers like {{order.customerName}}, then generate invoices with one click. Complete setup takes 10 minutes with no coding required.

Smart markers are placeholders like {{order.grandTotal}} or {{customer.email}} that you add to your Google Docs template. DocMaster automatically replaces these markers with data from your Google Sheet when generating invoices or quotations. Supports nested data, loops, and conditional logic.

Yes, DocMaster's bulk generation feature lets you create hundreds of invoices or quotations simultaneously. Select multiple orders from your sheet, choose your template and output format (PDF/DOCX/Docs), and DocMaster processes all documents in the background. Perfect for month-end billing or mass quotations.

DocMaster tracks product stock levels in your Google Sheet. When you create an order, inventory automatically decreases by the quantities ordered. When you refund an order, stock is restored. Real-time tracking prevents overselling and maintains accurate inventory counts.

Yes, enable email automation in Configuration. DocMaster sends professional emails when order statuses change (Payment Received, Confirmed, Fulfilled). Customize email templates with markers, automatically attach invoice PDFs, and track all sent emails in Email History.

Use the same system for both! Create a template with your company branding and use markers for data. Label one template 'Quotation' for estimates and another 'Invoice' for final bills. Same automation, same markers, different document headers. Generate both from the same order data.

DocMaster generates PDF, DOCX, and Google Docs formats. Generate multiple formats simultaneously - send PDFs to clients while keeping editable Docs for records. All formats support the same markers, tables, and automation features.

Yes, your data stays in Google Drive and Google Sheets. DocMaster runs entirely within Google Workspace with no external data transmission. You maintain complete ownership and control. All processing happens in your Google environment with enterprise-grade security.

No. DocMaster is a Sheets-native CRM and inventory system. There is zero external software dependency - everything runs inside Google Sheets and Google Drive, so you stay in control of your data and workflows.

Absolutely! Use any Google Docs or .docx template with your logo, colors, fonts, and layout. DocMaster's marker system works with any design. Add headers, footers, tables, and images. Complete creative control while maintaining automation.

DocMaster includes a mini-CRM system. Manage customer information, prevent duplicates, search by name/email, and view complete order history. Customer data automatically links to orders, invoices, and email communications - all within Google Sheets.

Yes, configure daily or weekly analytics reports in Configuration. Receive emails with revenue metrics, order counts, top products, top customers, and fulfillment rates. Schedule reports for morning delivery and track business performance automatically.

Enable calendar integration to automatically create fulfillment reminder events when orders reach specific statuses. Set reminder timing (e.g., 2 days before fulfillment) and DocMaster creates calendar events with order details, customer info, and direct links to orders.

Common errors & recovery

Most issues are caused by missing IDs or mismatched markers.

  • Missing marker: Update the template to use canonical marker names.
  • Failed task: Fix the referenced Item ID and retry the task.
  • Permission denied: Re-open Drive picker and choose an accessible folder.

Tips for power users

Operational shortcuts that keep large document generation runs clean.

  • Use immutable IDs for items and customers to preserve historical integrity.
  • Version your templates (Invoice Template v1, Quote Template v1) for easy rollbacks.
  • Filter Orders by status before bulk generation to avoid reruns.
  • Keep a QA checklist tab for pre-flight validation.