Play video
Pause video

PFL

Gift & Packaging E-Commerce + ERP Integration

2024

PFL Website Screenshot
Scroll
Project Type E-Commerce Platform
Timeline 2024
Core Tech Laravel, Filament, ERP
Website pflpfl.com

Project Overview

PFL is a Taiwanese gift and packaging supplier, offering sealing bags, gift boxes, packaging materials, decorations, holiday supplies, combo sets, and more, with nearly two thousand product listings.

The client's existing ERP system managed all product and customer data. They wanted to build an e-commerce platform that supports both B2B (distributors) and B2C (consumers), with bi-directional ERP synchronization to eliminate redundant manual data entry.

The entire system is built on Laravel + Filament, integrating ERP modules for products, inventory, customers, and orders, paired with ECPay payment services for online transactions, achieving a fully automated workflow from order placement to ERP accounting.

1963+
Products (ERP Synced)
B2B+B2C
Dual Business Model
3
ERP Sync Modules

Core Features

01

Bi-Directional ERP Integration

Bi-directional sync with KTNET TMS ERP system, covering product data (pricing, inventory, descriptions), customer data (B2B/B2C), and orders (creation + status write-back), using HMAC-SHA512 signature authentication

02

Filament Admin Panel

A full-featured e-commerce admin panel built with Filament, managing products, orders, customers, sales reps, and more, with manual ERP sync interface and flowchart visualization

03

ECPay Payment Integration

Integrated with ECPay payment services, supporting credit card, ATM transfer, convenience store payment, and more. B2B orders are pushed directly to ERP, while B2C orders sync automatically after payment

04

Multi-Tier Pricing & Inventory

Five-tier pricing synced from ERP, automatically matching prices based on customer level. Inventory quantities are updated in real-time from ERP to ensure frontend display matches actual stock

Technical Details

ERP Product Sync

Syncs product names, multi-tier pricing (five tiers), EAN barcodes, inventory quantities, listing status, and more via the ERP vendor API's /product/QueryList and /Stock/QueryList endpoints. Supports manual sync by specifying product codes, or one-click sync for all products marked as syncable.

ERP Customer Sync

Customer data supports bi-directional sync: pulling customer lists from ERP (automatically distinguishing B2B Client / B2C Customer by code prefix), and pushing locally created customers back to ERP. Synced data covers basic info, company details, invoice settings, shipping thresholds, bonus points, and more.

ERP Order Sync

Orders use an event-driven architecture: B2B orders are pushed to ERP immediately upon creation, while B2C orders are automatically triggered after ECPay payment completion. Order pushes include master data (customer, address, invoice), line items (product SKU, quantity, unit price), and bonus point deductions. The order number and status returned by ERP are written back in real-time.

Background Jobs & Queues

Bulk sync operations run in the background via Laravel Queue to prevent blocking frontend operations. The Filament admin panel provides real-time progress tracking, and CLI commands support scheduled automation and manual triggers.

Tech Stack

Backend

  • Laravel 11
  • Filament Admin Panel
  • Laravel Queue

ERP Integration

  • KTNET TMS API
  • HMAC-SHA512 Signature
  • Products / Inventory / Customers / Orders
  • Bi-Directional Sync

Payment

  • ECPay
  • Credit Card / ATM / Convenience Store
  • E-Invoice

Frontend

  • TailwindCSS
  • Vite Build Tool
  • Responsive Design

CONTACT US

Have a similar project? Let's talk

Whether it's an e-commerce platform, ERP integration, or payment processing, we can build a tailored solution for you.

Contact Us
Visit Website