Skip to content

Fockus26/InversionesJL22-Case-Study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

🛒 InversionesJL22 – Case Study on WooCommerce Customizations

Advanced WooCommerce customizations for invoice automation, QR-based workflows, and role-based store management.


🌍 Overview

This case study demonstrates how WooCommerce can be extended to meet specific business requirements. The project included:

  • Custom invoice templates for thermal printers
  • QR-based order completion flow
  • Granular role-based permissions for actions and visibility
  • Exportable reports (PDF/Excel)
  • SKU auto-generation for new products
  • AJAX-based workflow updates and restrictions

These enhancements improved security, efficiency, and operational control for a Colombian client’s WooCommerce store.


✨ Features

  • 🧾 80mm Invoice Template – Custom WooCommerce invoice template designed for 80mm thermal printers. Displays full order, shipping, and payment details along with a scannable QR code for storage validation.

  • 📦 Automatic SKU Generator – Automatically assigns SKUs to new orders or products without one. SKUs are dynamically generated based on the selected category, or a default format if no category is assigned.

  • 💫 Conditional Pay System – Adds a custom payment status selector visible only for four “home delivery” shipping methods. Allows choosing between Paid or To Collect.

    • When “To Collect” is selected, it enables an amount input and currency selector (COP/USD).
    • These details are reflected in the invoice PDF under the shipping section.
    • Orders cannot transition to another status unless a payment condition is selected.
  • 📱 QR Scanning Workflow – Allows users with the Storage Manager role to update order statuses (e.g., Printed → Completed) by scanning the QR code on the invoice — no admin navigation required.

  • 🧾 Shipping Report Generator – Adds a WooCommerce submenu to generate PDF shipping reports.

    • Filter by country, shipping method, and date range.
    • Produces a thermal-format PDF (80mm) showing all order IDs for the selected method, including each order’s shipping cost.
  • 🔐 Role-Based Restrictions – Defines strict access rules for specific user roles:

    • Storage Manager: Can view and manage orders in Processing and Printed states only.
    • SEO Manager: Can view and manage orders in Pending, Reserved, and Completed states only.

    These limits apply to quick actions, bulk actions, preview visibility, and edit access, ensuring that each role interacts only with relevant orders.


📸 Showcase

📦 SKU Generator

Automatically generates SKUs based on product category or assigns a default SKU when no category is selected.

SKU

💌 PDF Invoice

Custom 80mm invoice layout showing order, shipping, and QR details for fast thermal printing.

Invoice

💫 Conditional Pay

Shows the chosen payment condition (Paid or To Collect) directly in the invoice PDF.

Conditional Pay 1

Prevents order status changes until a payment condition is selected.

Conditional Pay 2

📱 QR Scanning

Allows Storage Manager users to mark orders as Printed or Completed by scanning the QR code from the invoice.

QR

🧾 Shipping Report

Generates compact PDF shipping reports filtered by country, method, and date range — displaying all relevant order IDs and their shipping amounts.

Shipping Report

👥 Roles Restriction

Displays how each role sees only the orders and actions permitted by its configuration — ensuring clean, secure, and role-specific workflows.

Roles


🛠 Tech Stack

  • Platform: WordPress + WooCommerce
  • Language: PHP
  • Reports: WooCommerce PDF Invoices & Packing Slips (customized)
  • Frontend: HTML, CSS, JS (WordPress admin + templates)
  • Export: FPDF / Excel (WooCommerce integration)

📂 Project Structure

plugins/
 └── woocommerce-pdf-invoices-packing-slips
themes/
 └── woodmart-child/
     ├── functions.php
     └── inc/
         ├── integrations/
         │   ├── admin-notices.php
         │   ├── enqueue.php
         │   ├── open-graph.php
         │   ├── sku-generator.php
         │   └── yith.php
         ├── order/
         │   ├── change-shipping-method.php
         │   ├── combined-orders.php
         │   ├── custom-status.php
         │   ├── payment-status.php
         │   └── transition-status.php
         ├── report/
         │   ├── html-shipping.php
         │   └── pdf-shipping.php
         └── roles/
             ├── config.php
             └── order-visibility.php

📖 Case Study

This project was delivered to a Colombian client requiring stricter control over WooCommerce orders and documents. By combining PDF invoice customization, QR code automation, and role-based restrictions, the store achieved a more secure and efficient workflow.


📈 Learnings & Insights

  • WooCommerce can be deeply customized without modifying core files
  • Role-based workflows significantly reduce operational errors
  • QR code integration enables seamless real-time order handling

📜 License

This repository is provided for documentation and case study purposes only. No production code is included.

About

WooCommerce customizations for QR-based workflows, role-based permissions, and PDF/Excel reporting.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors