R T E C H

Customization in Shopify - "Request a Quote"

Overview

This project implemented a custom Request a Quote workflow for The Paediatric Dental
Company’s Shopify store to support customers (notably government and wholesale buyers) who
require offline price negotiations, volume-based pricing, or purchase approvals. The work was
delivered in two phases:

Phase 1 — Single-product quote (Product page)


  • Added a visible “Request a Quote” / “Add to Quote” button on individual product pages.
  • When clicked, a form collected customer details (Full Name, Email, Company, Mobile, Address, optional ABN, Country [AU/NZ], and notes).
  • On submission the system captured product details (title, SKU, quantity, price) and generated a PDF quote which was emailed to both the customer and the store admin.
  • The UI followed Shopify Liquid standards and remained responsive and consistent with the theme.


  • Phase 2 — Multi-product quote (Cart page enhancement)


  • After Phase 1 the client requested cart-level quoting because the existing flow only supported one product at a time.
  • Rimik Technologies extended the feature to the cart so customers could bundle all cart items into a single combined PDF quote and submit one request for multiple products.
  • End-to-end the flow automated PDF generation, shipping/tax logic, and email delivery, simplifying quote management and improving the customer experience.
  • The delivered solution preserved visible pricing (no hidden prices), supported ABN capture and address fields, handled regional tax rules (GST for Australia vs no GST for NZ), and allowed admin-side quote receipt, tracking, and conversion into orders.


  • The delivered solution preserved visible pricing (no hidden prices), supported ABN capture and address fields, handled regional tax rules (GST for Australia vs no GST for NZ), and allowed admin-side quote receipt, tracking, and conversion into orders

    Overview

    Challenges

    The key technical and product challenges that drove the custom solution were:

    1. Shopify limitations for quote flows
      • Shopify’s native checkout and cart objects are built for direct purchases; there’s no built-in quote mode.
      • Cart objects don’t natively pass multiple-item details into a single quote form.
    1. Third-party app constraints
      • Available apps (e.g., SA – Request a Quote, Quick Quote, Quotify) either only supported product-page quoting or had limited template/customization access.
      • Some apps could not reliably attach generated PDFs to emails or calculate shipping/taxes automatically for quotes.
    1. PDF generation for multiple items
      • Merging multiple cart line items into one formatted PDF caused errors in the initial integration (notably in the Qvista backend).
      • The system had to ensure all items, variants, SKUs, and custom notes were correctly listed and subtotaled.
    1. Shipping & tax complexity
      • Required weight-based shipping calculations (Sendle API) and region-aware logic for GST (AU vs NZ).
      • Ensuring shipping and tax values in the PDF matched expected retail/draft order logic was non-trivial.
    1. UX & navigation concerns
      • After adding to quote, users experienced navigation bugs — for example, inability to access the cart directly except via cart icon click.
      • The site needed to maintain both standard purchase flows (“Buy Now” / “Add to Cart”) and the quote flow without confusing customers.
    1. Business rule changes
      • Client requested changes to minimum order value and quantity logic (e.g., reducing min order from $200 to $50 and removing minimum-quantity constraints for certain categories), requiring theme-level overrides.
    1. Permissions & operations
      • Coordination required for Sendle API keys, Shopify draft order permissions, and app permissions — slowing parts of testing and delivery.

    Solutions

    Rimik Technologies implemented a robust, end-to-end custom solution addressing the above
    challenges. The implementation covered front-end, backend, PDF automation, shipping/tax
    logic, and operational handover.

    Core Architecture & Flow (As Implemented)


  • Shopify UI & capture
    • Added Request a Quote buttons on product pages and the cart page.
    • Built a quote form to capture customer info including optional ABN and shipping address (AU/NZ).
  • Cart-level Collection
    • Implemented custom Liquid and JavaScript logic to collect all cart line items — including title, SKU, variant info, quantity, price, and per-item notes.
    • Bundled all items into a single payload for quote request submission.
  • Webhook & Backend Integration (QVista Services)
    • Shopify triggers a webhook upon quote submission.
    • QVista backend receives the webhook, fetches product and draft order data through API calls, and saves the full context (draft order ID, cart data, user fields).
  • Draft Order Support
    • System creates or fetches a draft order to preserve cart state and pricing context.
    • Draft order ID is stored within QVista context for tracking and consistency.
  • PDF Template & Generation
    • Fetched a pre-defined PDF template and populated it dynamically with data — including multi-item tables, subtotals, totals, shipping, and GST labels.
    • HTML-to-PDF conversion produced a formatted PDF buffer, which was stored and attached to emails.
  • Email Automation
    • The backend mailer automatically assembled emails with the generated PDF attached.
    • Emails were dispatched simultaneously to both the customer and the store admin.
  • Shipping & Tax Handling
    • Integrated Sendle API for weight-based shipping calculations.
    • Applied region-specific GST rules — AU included GST, while NZ was treated as non-GST.
    • Ensured accurate display of shipping and tax values within both PDF and email.
  • UI Fixes & Business Rule Overrides
    • Resolved navigation bugs, ensuring users could return to the cart or continue browsing seamlessly.
    • Implemented theme-level overrides for minimum order value and minimum quantity rules per client request.
  • Technology Used

  • Shopify — Custom theme modifications using Liquid, front-end JavaScript, and responsive HTML/CSS for the quote user interface.
  • QVista Services (Custom Backend) — Handles webhook reception, API orchestration, draft order lifecycle management, PDF template storage, and the mailer system.
  • HTML-to-PDF Engine — Converts dynamic HTML templates into PDFs; templates were enhanced to support variable product counts and flexible formatting.
  • Sendle API — Integrated for weight-based shipping calculations and applied within quote totals.
  • Email Automation — Backend mailer automatically attaches the generated PDF and dispatches it to both the customer and admin.
  • Other Components — Shopify Draft Orders (via Shopify API),RESTful API calls between Shopify and QVista Services, Server-side context storage for draft order metadata and PDF buffers, Theme-level overrides implementing business rule adjustments