ContactBooks Pro
Invoicing and order documents for Shopify
Invoices and documents
ContactBooks Pro turns Shopify orders into the documents your business and your accountant need: invoices, credit notes, packing slips, and receipts. Documents go out on your own templates, with your own company details, carrying your own invoice number instead of the Shopify order number.
The app also keeps the customer record behind every document: contacts, addresses, Additional Customer Fields, store credit, tax exemptions, marketing consent, and login tracking. That record is what makes a document complete, from the tax number on the invoice to the company name on the packing slip.
Five document types, from orders and from draft orders:
- Invoice: the full priced document, with tax detail and your own invoice number.
- Credit note: issued against a refund, on its own numbering sequence.
- Packing slip: what goes in the box, available for orders and draft orders.
- Receipt: a narrow till printer format.
- Draft order document: paperwork for an order that is not paid yet.
Each type keeps its own template, so a packing slip can hide prices while the invoice carries full tax detail.
Everything happens inside the app, so you do not need to jump between screens:
- Go to Orders in ContactBooks Pro. Draft orders have their own tab.
- Open the order you want to document.
- Pick the document type: invoice, credit note, packing slip, or receipt.
- Check the preview, and use Quick edit if this one document needs different wording.
- Print it, or download the PDF.
Both. Print straight from the order page through your browser, or download a PDF rendered at A4. Receipts use a narrow thermal theme sized for till printers rather than A4.
Yes, that is what Quick edit does. Adjust the wording on a single document right before you print it: a one-off note for that customer, a corrected line. The template every other order uses stays untouched.
- Order barcode: printed on the document so your warehouse can scan it.
- QR code: pointing at any URL you set, such as an order status page or a returns portal.
- A second page of your own: terms and conditions, return instructions, or anything else the customer needs alongside the numbers.
Yes. Draft orders have their own document type and their own numbering sequence, and you can print a packing slip from a draft too. This is what you want when the paperwork has to go out before the order is paid.
Invoice numbering
A Shopify order number is not an invoice number. It follows a format you do not control, it never resets for a new financial year, and it counts orders you may never invoice. Most tax authorities and accountants expect a sequence in a format you define.
ContactBooks Pro keeps its own sequences alongside Shopify's order numbers: one for invoices, one for draft orders, one for credit notes, each with the prefix, padding, and reset period you set.
Open the invoice numbering settings and configure each sequence:
- Prefix and suffix: for example
INV-2026-. - Start number: where the sequence begins.
- Zero padding: so numbers line up, for example
INV-000123. - Reset period: yearly, monthly, or never.
Invoices, draft orders, and credit notes each have their own independent sequence, so a refund never consumes an invoice number.
You choose the trigger:
- When the order is created, when it is paid, or when it is fulfilled.
- Draft orders are numbered when the draft is created.
- Credit notes are numbered when a refund is made.
Assignment is idempotent, so an order never picks up two numbers. Numbers are assigned on the server, which means previewing a template never consumes one.
Yes. You can exclude point of sale orders, and you can set a start date so orders placed before you switched numbering on stay out of the sequence. That keeps the book clean when you move over from another invoicing tool part-way through a year.
- Set the next number: line the sequence up with an existing book.
- Release a number: hand back a number you no longer need so it returns to the sequence.
- Erase a sequence: clear it and start again.
Every number is written back onto the Shopify order as a metafield, under a namespace and key you choose. Exports, other apps, and your accountant's tooling can read the number without going through ContactBooks Pro.
Templates and branding
Each document type has its own template editor:
- Line items: SKU, vendor, HS code, country of origin, barcode, weight, unit and total price, per-line tax, tax-exclusive prices, discounts, comments, and reason codes, plus product images and variant layout.
- Totals: subtotal, discounts, shipping, duties, tips, gift card payments, refunds, total paid, and amount due, each shown or hidden.
- Order and customer details: order number and date, issue and due dates, payment method, terms and status, purchase order number, tracking number, shipping company, and separate bill-to and ship-to blocks.
Yes. Every heading and label on the document is editable, so the paperwork can speak your language and match your accountant's expectations. Fonts, sizes, colours, and logo width are yours to set.
- Tax can print per rate, or combined into a single line.
- Tax-exclusive totals can be shown alongside the gross figures, per line and in the totals block.
- Duties are supported for cross-border orders.
- The customer's tax number, from Additional Customer Fields or a company location, can print on the document.
Company profiles hold your sender identity: name, address, tax number, email, phone, website, and logo.
- Keep more than one profile if you invoice under more than one entity.
- Pull profiles from your Shopify locations and keep them in sync automatically.
- Choose which profile each template uses.
- Date, time, currency, decimal, and weight formats are set per document.
- Address formats follow the country on the address.
- Line items can print in a translation locale you choose.
Together with editable labels, this lets you issue the whole document in your customer's language.
Customers and companies
To add a new contact:
- Go to the Contacts page in the app
- Click the "Add Contact" button
- Fill in the required fields (First Name, Last Name, Phone)
- Optionally add email, tags, notes, and address information
- Click "Save" to create the contact
Yes. When adding or editing a contact, enable the "Sync to Shopify" option. This creates or updates the matching customer record in Shopify, which is what lets the contact's details reach an order and, through it, a document.
Note: contacts with sync enabled require a valid email address, as Shopify uses email as the unique identifier for customers.
To work on Shopify customer records directly in ContactBooks Pro:
- Go to Settings and enable "Display Shopify Customers"
- Shopify customers appear in your contacts list with a Shopify indicator
- Click any Shopify customer to view and edit their details: addresses, store credit, Additional Customer Fields, and marketing consent
- Changes you make are pushed back to Shopify automatically
- Already-synced contacts are not duplicated in the list
Each contact can have multiple addresses. To manage addresses:
- Open the contact detail page
- Scroll to the Addresses section
- Click "Add Address" to add a new one
- You can set one address as the default
- Address fields include: Company, Street, City, Province, Country, and ZIP code, with the provinces and phone codes that belong to each country
The address on the contact is what fills the bill-to and ship-to blocks on a document.
Use the search bar on the Contacts page to quickly find contacts. You can search by:
- First name or last name
- Email address
- Phone number
- Tags
- Notes content
The search results update as you type.
Additional Customer Fields store what Shopify does not track natively:
- Birthdate: customer date of birth.
- Gender: customer gender.
- Job Title: professional information.
- Tax ID: the tax number that prints on invoices and credit notes.
The fields are configured automatically on first run, stored on the Shopify customer, visible in Shopify Admin, and included in CSV exports.
You can record exemptions on contacts, on Shopify customers, and on company locations:
- Toggle tax exempt status, or pick specific exemptions from the lists Shopify publishes for Canada, the United States, and the European Union.
- For Shopify-synced contacts, the status is pushed to Shopify.
- Changes made in Shopify Admin are synced back automatically.
Store credit lets you manage customer balances for Shopify-synced contacts:
- Add credit: enter an amount in any currency your store has enabled, and optionally set an expiry date.
- Deduct credit: reduce the balance (it cannot go below zero).
- Notifications: toggle the customer notification email when credit is added.
- Transaction history: a full log of additions and deductions with timestamps, with expired credits marked.
Yes. Browse your Shopify companies, their locations, and their company contacts inside the app, keep tax numbers and exemptions on the location, and put the right company details on the document instead of a personal address.
Marketing consent controls whether a customer receives marketing communications:
- Email Marketing: toggle on or off per contact. Synced to Shopify for synced contacts.
- SMS Marketing: toggle on or off per contact. Synced to Shopify for synced contacts.
- Consent changes made in Shopify Admin are synced back to ContactBooks Pro automatically.
- Marketing preferences are included in CSV imports and exports.
ContactBooks Pro tracks when customers log in to your storefront:
- Each login event is recorded with a timestamp.
- The app tracks total login count, first login date, and most recent login date per customer.
- Login data is displayed on the customer detail page.
- An analytics dashboard shows login trends, charts, and totals with date range filtering.
- Use this data to identify your most engaged customers.
Data and operations
ContactBooks Pro supports Shopify's CSV format for importing contacts:
- Go to the Contacts page and click "Import"
- Download the template file to see the required format
- Prepare your CSV with columns: First Name, Last Name, Email, Phone, Company, Address, Tags, etc.
- Upload your CSV file and click "Import"
- For large files, import runs in the background
The CSV format is compatible with Shopify's customer export, so you can easily import existing customer data.
The import CSV should include these columns:
First Name- RequiredLast Name- RequiredEmail- RequiredPhone- With country code (e.g., +1234567890)Company- OptionalAddress1,City,Province Code,Country Code,Zip- For addressTags- Comma-separated (e.g., "vip, wholesale")Accepts Email Marketing- yes/noAccepts SMS Marketing- yes/no
Download the template from the Import page for the exact format.
To export your contacts as a CSV file:
- Go to the Contacts page
- Use the search/filter if you want to export specific contacts
- Click the "Export" button
- A CSV file will be downloaded with all contact data, including Additional Customer Fields
The exported file can be opened in Excel or Google Sheets.
Bulk operations let you perform actions on thousands of contacts at once:
- Bulk Delete: select multiple contacts and delete them. Large batches run in the background with a progress bar.
- Bulk Tag Add: add one or more tags to all selected contacts at once.
- Bulk Tag Remove: remove tags from all selected contacts.
- Long-running operations can be cancelled mid-way, and the Bulk Operations page keeps the history with a downloadable result for each operation.
ContactBooks Pro lets you browse through all your Shopify customers without limits:
- There is no 1,000 customer cap, so you can browse your entire customer list.
- Navigate forward and backward through pages seamlessly.
- Page position resets automatically when you change your search or filter.
ContactBooks Pro keeps your data in sync with Shopify automatically:
- Customer Update: when you change a name, email, or phone in Shopify Admin, the change appears in the app instantly.
- Customer Delete: deleted customers are flagged in the app.
- Tag Changes: tags added or removed in Shopify Admin appear in the app right away.
- Marketing Consent: email and SMS consent changes sync in real time.
- Orders and refunds: new orders and refunds feed document creation and invoice numbering.
Sync is set up automatically when you install the app, with no configuration needed.
The activity log records all actions performed in the app:
- Contact created, updated, and deleted events with timestamps.
- Import, export, and bulk operation entries with status badges and item counts.
- Paginated list for browsing long histories.
- Click "View Details" on bulk operation entries to see full progress information.
The dashboard gives you a quick overview of your data:
- Overview Cards: total contacts count with a breakdown of App Database vs. Shopify customers.
- Tag Cloud: your top 10 tags. Click any tag to filter the contacts list.
- Latest Contacts: the 5 most recently added contacts.
- Recent Activities: the latest 5 activity log entries.
- Pro Tips: daily rotating tips to help you get more out of the app.
Setup and policies
When you install ContactBooks Pro, the groundwork is done for you:
- Authorization: you grant the app permission to access your Shopify store data.
- Automatic setup: sync and the Additional Customer Fields are configured in the background.
- Welcome flow: a welcome page is displayed with setup guidance for first-time installs, and you receive a welcome email.
To start issuing documents, set up a company profile, adjust the templates you plan to use, then turn on numbering and choose when it should fire. After that, open any order and print.
If you installed ContactBooks Pro before the document features shipped, the app asks you to reconnect once. Producing documents needs a few extra Shopify read permissions, and an access token issued earlier does not carry them. Reconnecting takes one click and nothing is lost: your contacts, settings, and numbering stay exactly as they were.
Settings covers both sides of the app:
- Company profiles: the sender identities your templates print.
- Document templates: one editor per document type.
- Invoice numbering: sequences, triggers, exclusions, and the metafield namespace and key numbers are written to.
- Display Shopify Customers: show or hide Shopify customers in your contact list.
- Contacts Per Page: 25, 50, or 100.
- Danger Zone: delete all app contacts or all Shopify customers. Large deletions run in the background with a progress tracker.
Yes, ContactBooks Pro supports multi-store usage:
- Install the app on each Shopify store separately.
- Each store gets its own independent data space, including its own numbering sequences, templates, and company profiles.
- One store cannot see another store's data, and heavy operations on one store do not slow down another.
ContactBooks Pro implements all three mandatory Shopify GDPR webhooks:
- Customer Data Request: when a customer requests their data, all stored information is provided.
- Customer Data Erasure: permanently deletes all customer data, including store credits and activity logs.
- Shop Data Erasure: removes all data associated with your shop if you uninstall the app or submit a GDPR request.
Documents are generated on demand rather than stockpiled, so there is no separate archive of paperwork holding customer data.
Still need help?
Can't find what you're looking for? Reach out to us.