EZ Documentation
Technical documentation for EZ-Commerce, EZ-AD TV, and Kachooni platforms.
Overview
EZ-Commerce is a comprehensive e-commerce platform designed to help businesses sell online efficiently.
Key Features
- Product catalog management
- Order processing and fulfillment
- Payment gateway integrations
- Inventory management
- Customer management
Team Structure
Sales Team
High-energy, technically savvy sales specialists who serve as the first point of contact with stores.
- Provide calls to stores regarding packages, offers, and website details
- Deliver training on available options and services
- Guide stores through package selection process
Onboarding Team
Highly trained experts dedicated to onboarding every store.
- Handle complete onboarding process for new stores
- Address technical issues during setup
- Ensure speedy and efficient store activation
Customer & Technical Support Team
Helpful, fast, and efficient support representatives.
- Aid in transition between sales and onboarding
- Ensure websites pass Quality Assurance checklist
- Provide ongoing technical support
- Serve as Account Managers for follow-up
Development & Design Team
Large team of engineers and developers maintaining and improving operations.
- Maintain smooth, effective operations
- Develop new features and functionality
- Support all teams with technical expertise
High-Level Process
- Data Sharing & Configuration - Data is shared and EZ-AD configures websites
- Quality Assurance - Every website verified for proper build and inventory
- Platform Activation - Ordering platform activated, Stripe setup
- Order Fulfillment & Payment - Stores fulfill orders, receive income via direct deposit
- Ongoing Support - Admin portal, IT help desk, and Account Managers available
EZ-Commerce Features Walkthrough
Overview of key EZ-Commerce platform features and capabilities.
POS and Vendor Catalog Integration
POS Integration
- Compatible with multiple POS systems including Epicor, Spruce, and DMSI Agility
- Allows seamless integration with any POS system
Vendor Catalogs
- Integrated with catalogs from major vendors like Orgill, Do It Best (DIB), and others
- Displays available store items sourced from large corporations
- Provides a complete inventory viewing experience
Artificial Intelligence (AI) Features
AI Product Builder
- Combines ChatGPT and Google Bard to automatically create product displays
- Based on instructions and questions provided
Product Database
- Built in-house with AI-optimized titles, descriptions, and product details
- Provides significant SEO boost through hyper-localized descriptions
Continuous Improvements
- Based on feedback from the ai-widget-logs channel
- Daily updates implemented
- Currently on third version of the AI tool
- 80-90% accuracy achieved through continuous refinements
Customization and Administration
Payment Options and Promo Codes
- Tools to manage payment methods
- Create discount codes
Product Editing and Locking
- For certain clients (such as Benjamin Moore), product details are locked and controlled
- Maintains consistency and inventory integrity
Custom Landing Page
- Functionality to create customized landing pages for stores
- Greater control over content presentation
SEO Optimization and Google Shopping
Google Shopping
- Set up with Google Merchant Center to have products appear in the shopping tab
- Enhances search visibility at no additional cost
Organic SEO
- All optimizations are organic, with no need for paid campaigns
- Leverages the AI tool to generate optimized content
International Compatibility
- Support for international clients (like Do It Best Barbados)
- Additional fees adjusted for currency exchange rates
Social Media Feature
Social Media AI
- AI trained with marketing materials and brand knowledge
- Facilitates customized social media content
- Integration with e-commerce currently in development
Core Features Summary
Overview of the core features available in EZ-Commerce.
1. Landing Page Editor
EZ-Commerce includes a fully drag-and-drop landing page editor that requires no developer or designer support.
Built-in widgets include:
- Image carousels
- Product swipers
- Testimonials
- Subscription forms
- Image swipers
- HTML editor
- Shop-by-department buttons
Text, layout, and images can be edited quickly, allowing instant updates to the homepage.
2. AI Widget Builder
Product displays can be created in two ways:
- Manual setup by searching specific SKUs or product categories
- AI-powered setup, where the system scans inventory and automatically populates widgets
The AI intelligently organizes featured products, best sellers, and relevant categories—eliminating the need for manual curation.
3. Header & Footer Customization
Stores can fully customize site navigation and footer content.
- Editing and organizing top-level navigation menus
- Adding external links (social media, manufacturer websites)
- Updating footer content for contact information, policies, and promotions
4. Custom Pages
EZ-Commerce allows the creation of unlimited custom pages for:
- Services
- Promotions
- Events
- FAQs and informational content
Custom pages support the same widgets as the homepage and can be scheduled with publish and expiration dates to automate campaign timing.
5. Promo Code Engine
The built-in promotion engine makes it easy to create and manage discount offers:
- Product-level and cart-level discounts
- Delivery and shipping promotions
- Buy One Get One (BOGO) offers
- Bundle deals and other custom promotions
6. Sub-accounts & Permissions
EZ-Commerce supports multiple employee accounts with role-based permissions.
- Creating individual logins for staff members
- Granting or restricting access to specific areas of the admin portal
- Supporting defined roles such as fulfillment, customer service, and marketing
This ensures secure access control while enabling teams to work efficiently.
Multi-Location Support
How EZ-Commerce supports retailers with multiple store locations.
EZ-Commerce is designed to support retailers with multiple store locations while maintaining a simple, consistent experience for customers.
Unified Storefront Structure
Retailers can operate all locations under:
- One website URL
- One shared design and theme
- One unified customer experience
This structure eliminates the confusion and SEO dilution caused by running separate websites for each location, while making it easier for customers to shop.
How It Works
- Customers are prompted to select a store location when they first visit the site
- Once a location is selected, the site refreshes to display that store's specific inventory
- The URL and overall layout remain the same to ensure brand consistency
- Customers can switch locations at any time to browse inventory from other stores
This approach balances simplicity for shoppers with flexibility for retailers.
Location Selector
Details about the location selector interface.
- Appears in top-right corner of website
- Shows all store locations with addresses and phone numbers
- Customer selects their preferred location
- Website refreshes to show that location's inventory
- URL, layout, and design remain identical
Location-Specific Customization
EZ-Commerce allows retailers to tailor each store's experience without creating separate websites.
Stores can:
- Display unique widgets per location
- Create custom landing pages for individual stores
- Run location-specific promotions while maintaining a cohesive brand look
Customization Example
- Location A promotes grills and outdoor equipment
- Location B promotes plumbing and HVAC
- Both maintain same brand look and feel
This provides flexibility at the store level while preserving a unified brand presence.
Product Page Experience
On product detail pages, customers can:
- View inventory availability for their selected location
- Check availability at other store locations
- Seamlessly switch locations to see real-time inventory updates
This transparency builds customer trust and encourages in-store visits or cross-location purchases.
Billing & Pricing
This section covers EZ-Commerce packages, pricing plans, and payment processing details.
EZ-Commerce Packages and Pricing
| Plan | Monthly Fee | Setup Fee | Billing Start |
|---|---|---|---|
| E2 - Basic | $49/month | None | Immediately upon Order Form signature |
| E1 | $199/month | $250 (one-time) | Setup fee + first month charged immediately upon OF signature |
| E1 Plus | $399/month | $1,000 (one-time) | Setup fee immediately; monthly starts when website goes live |
Plan Changes
Upgrades
- Customers can always move to higher-tier plans from lower plans
- New Order Form (OF) required for any upgrade
Downgrades
- Customers can always move to lower-tier plans from higher plans
- New Order Form (OF) required for any downgrade
Payment Processing
Billing Providers (Third-Party)
| Provider | Payment Method | Timeline |
|---|---|---|
| True Value E-Commerce | Cheque | No specific net days |
Direct Billing
| Source | Payment Method | Timeline |
|---|---|---|
| Stripe | Credit Card | Immediate |
| Shamrock Companies Inc. | ACH | Net 45-60 days |
- All setup fees are charged immediately upon Order Form signature
- Monthly fees begin immediately except for E1 Plus (starts when website goes live)
- Plan changes always require new Order Form documentation
E-commerce Plans
There are different plans based on the Company/distributor a store is associated with.
Main Plan Categories
- Plans with NO orders: Bronze/E2 & Gold with browse only/E2
- Plans with orders: Silver/E1 and Gold/E1+
- The difference between E1+ and E1 is the POS (Point of Sale Integration)
Plan Names by Company
True Value (TV) Plans
- E2
- E2 warehouse only/just catalog
- E1
- E1 warehouse only
- E1P (+)
- E2P (+)
Emery Jensen (EJ) Plans
- Bronze
- Silver
- Gold
- Gold browse only
What is a POS?
A POS (Point of Sale) is a system used by businesses to process transactions and manage sales. It typically includes hardware like a cash register and software to track sales, inventory, and customer data.
Plan Details & Onboarding
E2/Bronze (No Ordering) - LEB
Display CATALOG ONLY - No upload of any products allowed
| POS Integration | DR Needed | ET Needed | Onboarding Actions |
|---|---|---|---|
| N/A | N/A | N/A | TV stores: Change domain and complete setup wizard Other stores: Create the site, follow-up to get domain |
E1/Silver (Allows Ordering) - LES
Only show CATALOG - Can't manually upload products with any sheet - need to upgrade to + for that
| POS Integration | DR Needed | ET Needed | Onboarding Actions |
|---|---|---|---|
| N/A | N/A | YES | TV: Change domain & setup wizard EJ: Wait for data then schedule ET Other stores: Create website, schedule ET, get domain |
E1+/Gold Online Ordering
| POS Type | DR Needed | ET Needed | Onboarding Actions |
|---|---|---|---|
| Transact | NO | YES | Get Transact POS #, send tutorial video, email Transact to set up API (7-10 days) |
| Paladin | YES | YES | Create site, do DR, ET and spin the site |
| Epicor | YES | YES | Ask if they can log in to Epicor. Create site, do DR, ET and spin the site |
| Rock Solid Classic | YES | YES | Use Data Syncer. Create site, do DR, ET and spin the site |
| RockSolid/Max Spruce | YES | YES | Manual export reports needed. Ask about network drive, report experience, Crystal reports |
| Paradigm & others | YES | YES | Custom flow - Schedule Data consultation call |
- Don't allow recurring schedule for reports with UPC numbers
- For any NEW product to add to website, must manually export from custom_reports tab
- Must export IN_RGIS_INVENTORY Report directly to ezad_reports folder
E2+/Gold Browsing Online
Same POS requirements as E1+/Gold but for browse-only functionality.
Complete Pricing by Distributor
Current pricing structure across all distributors.
| Plan | Internal Name | Emery Jensen | Do It Best/Orgill | True Value |
|---|---|---|---|---|
| Bronze | E2 | $30/mo, $0 setup | $49/mo, $0 setup | $75/mo, $0 setup |
| Silver | E1 | $120/mo, $0 setup | $199/mo, $250 setup | $229/mo, $250 setup |
| Gold Browsing | E2 Plus | $120/mo, $500 setup | $199/mo, $1,000 setup | $239/mo, $1,000 setup |
| Gold Ordering | E1 Plus | $275/mo, $500 setup | $399/mo, $1,000 setup | $439/mo, $1,000 setup |
| Platinum | N/A | $399/mo, $1,000 setup | N/A | N/A |
Why Emery Jensen Pricing is Lower
- Preferred e-commerce partner through SavingSource (Ace Hardware division)
- Emery Jensen is Ace subsidiary
- SavingSource defines vendor pricing
- EZCommerce receives discounted pricing to pass to Emery Jensen stores
Platinum Plan (Emery Jensen Exclusive)
- Ship-to-home with no store fulfillment
- Orders fulfilled by Emery Jensen warehouse
- Store collects profit without handling delivery
- Can integrate secondary supplier catalogs (e.g., Orgill)
Website URL Formats
- True Value Store:
https://storename.shoptruevalue.com - Do It Best Store:
https://example.ezad.io
Key Abbreviations
| Abbreviation | Meaning |
|---|---|
| DR | Data Retrieval |
| ET | Expected Timeline/Training |
| LEB | Limited E-commerce Basic |
| LES | Limited E-commerce Standard |
| POS | Point of Sale system |
| UPC | Universal Product Code |
Stripe CAD Currency Fee Policy
Policy regarding Stripe fee charges for CAD currency transactions.
How It Works
- Payment Processing: We can charge stores in CAD currency through Stripe
- Currency Conversion: Stripe automatically converts CAD to USD when transferring funds to us
- Conversion Fees: Stripe charges a small conversion fee (amount varies based on transaction total)
- Fee Absorption: We absorb this conversion fee - it is NOT passed on to stores
Key Points
- Stores pay only the base transaction amount in CAD
- Currency conversion fees are handled internally
- No additional charges to stores for CAD processing
- Stripe handles the CAD to USD conversion automatically
Impact
- Simplified billing for Canadian stores
- No surprise fees for merchants using CAD
- Competitive advantage in Canadian market
Direct Billing with Co-ops
Overview of direct billing capabilities with major cooperatives.
Approved Direct Billing Partners
EZ-AD as a company can bill directly to:
- Ace Hardware
- True Value
- Orgill
- Do It Best (DIB)
Why Direct Billing Matters
This is a HUGE DEAL because:
- These companies can trust us
- We're not charging them via Credit Card
- Credit cards have issues including chargebacks
- When we bill directly to the Cooperative, we're 99% guaranteed to have all invoices fulfilled
How Direct Billing Works
- When a store signs up, they provide a Billing Number
- When you generate an invoice for the e-commerce site or other products:
- Invoice gets sent to the company (not the store)
- The company pays the bill
- The store gets an invoice with EZ-AD included
Onboarding
Complete guide to the E-commerce onboarding process for new stores.
What is E-commerce?
E-commerce (electronic commerce) is the buying and selling of products over the Internet. Customers can browse a website, select products, and make purchases with just a few clicks from the comfort of their home.
What does the EZAD E-commerce Platform Offer?
Customer View Components
- Logo of the store
- Search bar
- Navigation Menu (Home, Departments, Brands, etc)
- Carousel widget
- Product widget
- Other widgets
Admin/Back-End View Components
- Orders Page - Where store employees handle and fulfill all online orders
- Website Settings - Configured during employee training; can be edited anytime
Website Settings Structure
- Fulfillment Options
- Subaccounts
- Payment Options
- AI Widget Builder
- Landing Page
- Department Mapping
Onboarding Process
Initial Notification
When a store signs up for a plan, the onboarding team gets a Slack notification on the Liaison-Onboarding channel containing:
- Store name
- Store number
- Plan type
- Distributor
- Assigned onboarding specialist
- Salesperson (SDR)
- Current status
Lead Management
Access leads on the E-commerce Journey Page at: https://kachooni.com/admin:ecommercecustomerjourney/onboarding
Onboarding Steps & Lead Status
| Step | Description |
|---|---|
| 1. Waiting for Data Feed | Depends on distributor: True Value, Emery Jensen, Ace, Do It Best, or Orgill |
| 2. Data Mapping Request | Send request to developer (Usman) on "Ecommerce_customer_issues" Slack channel |
| 3. Spin the Site | Use E-commerce Setup page on Kachooni. Verify features match the plan. |
| 4. Schedule Data Retrieval (DR) | Required for E1+ or Gold with order plans ONLY. Different procedures based on POS. |
| 5. Schedule ET (Employee Training) | Session to explain website features, set up everything, and train staff. |
| 6. Connect Stripe | Can be done during ET or separate session. |
| 7. Domain Set-up | Help change to dedicated domain. Critical for SEO. |
| 8. GMC Set-up | Google Merchant Center setup. Only for E1/Silver and E1+/Gold plans. |
| 9. SEO Check-up | Final step. Send domain to SEO team for Google Search Console addition. |
- Custom domain on Google Business Profile
- Products only show if website has cart options
- Only available for E1/Silver and E1+/Gold order online plans
Register a Business in Kachooni
The Onboarding team must create a BID (Business ID) before spinning a site.
Information Source
Business information comes from Sales Reps on the Liaison-Onboarding channel on Kachooni:
- Corporate name (Emery Jensen, etc.)
- Store Number
- Store Name
- Store Contact (Name/email)
- Store Address
- POS system
- Business Plan (EZC Package level)
How to Create a New Business ID (BID)
Step 1: Navigate to Business Section
- On your Kachooni dashboard, go to the left side
- Search for "Business"
- Click on Business to open the business page
Step 2: Access Add New Business
- Click on the "Add New Business" button
- Important: This will open a page with an error message - SKIP IT
- Click "OK" on the Error pop-up
- Scroll down to find "Add New Business"
Step 3: Fill Required Fields
| Field | Instructions |
|---|---|
| Billing Method | Enter the Store name from drop-down list |
| Billing Enter ID | From Liaison Slack Channel |
| Username & Password | Add their business name in both fields |
| Country, Address, City, State, Zip | Enter store location details |
| Contact Person, Number, Email | Enter store contact information |
| Corporation | Select the same name from Billing Method |
| Business Plan | Always choose "Custom" |
Step 4: Add Notes
After clicking "Save Business", a pop-up will appear. Enter: "Created the business"
Step 5: Create FTP Credentials
- Scroll up on the business page
- Click on "Create FTP credentials"
- This is needed during data retrieval for specific POS systems
Step 6: Send BID to Sales Representatives
Send the Business ID number (BID) to Sales Representatives in the 'Liaison' Slack channel
/business/1234, then BID = 1234
Critical Actions Checklist
- Create BID before spinning any site
- Always choose "Custom" for Business Plan
- Create FTP credentials after saving business
- Send BID to Sales Reps via Liaison Slack channel
- Skip error pop-up when accessing Add New Business
E-commerce Setup Page
The E-commerce Setup Page on Kachooni is used to create and configure websites for stores.
How to Search
- Enter the name or Business ID in the search bar
- Click on the correct name from results
- Click the "Create Session" button
How to Spin a Site/Create a Website
Prerequisites
- Must have created a Business ID on the Kachooni "Business" Page first
- Don't have another E-Commerce Setup Page tab open in browser
- Always refresh the page to get the business loaded
Step 1: Basic Domain Information
| Field | Instructions |
|---|---|
| Business Name | Name that will show on the website |
| Website Domain | Leave blank (will be added in different section) |
| Primary Wholesaler | Choose from dropdown (TrueValue, Orgill, etc.) |
| New Order Emails | Email for order fulfillment |
| Contact Us Email | As provided by store |
Step 2: Subdomain Name Setup
- Go to "ECommerce Sitemaps" page on Kachooni
- Search in "URL contains" field
- Verify domain doesn't exist
- If domain exists: Add something unique (Business ID + name)
Step 3: Create Domain
- Hit "Create Domain" on E-commerce Setup Page
- Will show infinite loading - this is normal
- CRITICAL: Always hit the 2 buttons at right corner:
- Build Config Button
- Instant Build Button
How to Set Up Multistore Location Website
- Search the main site/BID → Click "Create Session"
- Scroll down to "Partner Businesses"
- Select the New Partner Business already created
- Add New Order Email for each specific location
- Choose Partner Business to merge
- Click "ADD" and hit both Build Config and Instant Build
How to Create/Edit Credentials for a Website
- Search BID or store name
- Create session
- Scroll down to "Business Email and Password"
- Enter login email
- Preferred password: "ezadtv"
- Save changes with Build Config → Instant Build
Config Setup Options
Remove Brand Names from Product Titles
Config Setup → Search "brand" → Products → Point 312 → Click "Yes"
Disable Ordering
Config Setup → Search "disableorder" → Products → Point 124 → Click "Yes"
Disable Special Ordering
Config Setup → Search "disablespecialorder" → Products → Point 225 → Click "Yes"
Hide Special Order Message Only
Config Setup → Option 351 → Click "Yes" (hides message on cart page only)
- Build Config Button (first)
- Instant Build Button (second)
Complete Configuration Keys Reference
Additional configuration options for dynamic site behavior.
| Key | Description |
|---|---|
products-disableOrdering |
Disables ordering ability while still allowing product visibility |
products-disableSpecialOrdering |
Prevents special orders for items marked as special order |
products-hideQuantity |
Hides product quantity/stock from customers |
products-showQtyInWidgets |
Displays available quantity in product widgets |
products.hideBrandFromTitle |
Removes brand name from product titles |
products-hideOutOfStockItems |
Hides out-of-stock products from listings and search |
products-showOutOfStockItems |
Shows out-of-stock products for customer viewing |
Data Retrieval
Data retrieval is needed when stores want to show on their website the data from their POS system.
When is Data Retrieval Needed?
- Only for stores with POS systems that want to show inventory on their website
- Required for: Gold plans (E1+ & E2+) only
- Not needed if: Client doesn't have a POS System
Compatible POS Systems
| System | Difficulty | Notes |
|---|---|---|
| Epicor Eagle | Easier | Easier to get and manipulate data |
| Rock Solid Classic | Easier | Must be cloud-based |
| Paladin | More Difficult | - |
| Transact | Easy | Simple API integration |
| ECI (Rock Solid Max/Spruce) | More Difficult | Requires Compass Reports |
Required POS Data Fields
Core data required for building and organizing an eCommerce website.
Core Product Data (Items in the Store)
- Item Number / SKU
- UPC Code
- Item Description
- Item Title
- Retail Price
- Quantity Available / Quantity on Hand
- Promotion Price
Store Organization & Structure
- Department Name / Department Code
- Location
- Fineline Name
- Class Name
- Vendor Name
- Items 1–7 define the actual products available for sale
- Items 8–12 define how products are organized within the store
- Together, these data points form the core structure of the eCommerce platform
Method Selection Guide
Overview of choosing the correct data retrieval method.
There are three primary methods used to retrieve POS data from stores, depending on their POS system. Choosing the correct method ensures reliable inventory, pricing, and site functionality.
| Method | When to Use | Best For | Advantage |
|---|---|---|---|
| EZ-AD Data Syncer | Preferred when supported by store's POS | Standard POS systems | Fully automated, maintained by EZ-AD |
| FTP Data Transfer | Advanced POS where Data Syncer not supported | Epicor, Compass, custom POS | Secure, works with complex systems |
| TransAct Direct Feed | Stores running TransAct POS exclusively | TransAct POS systems | Direct API integration with website |
- Accurate POS data is the backbone of the eCommerce platform
- Method selection depends on the store's specific POS system
- Proper setup ensures reliable inventory, pricing, and site functionality
Data Transfer Methods
FTP Data Transfer (Advanced POS Systems)
FTP transfer used when the Data Syncer is not supported.
FTP (File Transfer Protocol) data transfer is used for advanced POS systems where the EZ-AD Data Syncer is not supported.
When to Use FTP Method
- Advanced POS systems where Data Syncer is not supported
- Common for Epicor and Compass systems
- Custom POS implementations
How FTP Transfer Works
- Secure Folder Setup: An online secure folder is created
- Credentials: Access provided via randomly generated username and password
- Data Transfer: Store uploads data files to the secure FTP location
- Processing: EZ-AD retrieves and processes the data
Security Features
- Secure transfer protocol
- Randomly generated credentials for each store
- Does not compromise store data
- Isolated access - only authorized data transfer
1. Data Syncer (EZAD App)
Step 1: Email the Data Syncer App
- Go to customer's Business account on Business page
- Under "Send Datasync help," enter installer email
- Select POS system from dropdown
- Click "Send Email"
Step 2: TeamViewer Setup
- Have customer install TeamViewer
- Use TeamViewer/AnyDesk to log into their computer
- Download and install Data Syncer
Step 3: Data Syncer Wizard
- Select POS system
- Check ALL 4 "Information to Sync" boxes
- Set Sync Frequency to "1 hour"
- Click "Complete"
2. Epicor Compass
FTP Setup
- Visit business edit page on Kachooni
- Click "Create FTP Credentials"
Required Dimensions (in order)
- Item (no parent)
- UPC Code (with item)
- Retail Price (with Item Inventory)
- Department (no parent)
- Class (no parent)
- Vendor (no parent)
- Location (with item)
- Date Added (with item)
- Selling U/M (with inventory)
- Promotion Price (with inventory)
- Fineline (no parent)
- Manufacturer (with item)
- MFG Part# (with item)
- Date of Last Sale (with inventory)
- Discontinued Items (with inventory)
- Date of Old Promo End 1 (with inventory)
- Quantity Available (with inventory - "No Aggregative")
- Store (no parent - multi-location only)
- Replacement Cost (with inventory)
- UPC Primary (with inventory)
Schedule Setup
- Period: Daily
- Start: 1 hour before store opens
- Repeat: Every 3 hours
- End: 1 hour after close
FTP Settings
- Path:
ftp://ezadtv.com - Username/Password: From business page credentials
- MUST check "Use passive mode"
3. Rock Solid Classic
Must be cloud-based. No automatic upload due to ECI restrictions. Requires 2-3 minutes manual process daily.
4. Rock Solid Max/Spruce
Stock Status Reports
Main Menu → Inventory → Reports → Stock Status
- Select departments (first 10, repeat for all 99)
- Remove printer, uncheck "Print Report"
- Check "Output to File", CSV format
- Save to: R:Drive → Spruce Reports → Scheduled Reports → Inventory
- Schedule: Daily after store hours
IN_RGIS Reports (Manual)
Inventory → Reports → Custom Reports Library → IN_RGIS_Inventory_Export
- Cannot schedule recurring UPC reports
- Must manually export for new products
- Export directly to ezad_reports folder on R Drive
5. Transact
Simple API Integration - customer provides Transact Token and POS Serial Number.
Email contact: jon.love@psdg.com
Hi Jon,
Can you help me connect the store so we can get the data?
Business Name: [Enter Business Name]
Transact Token: [Enter Transact Token]
Transact POS Serial Number: [Enter Transact POS]
Best regards,
EZ-AD Tech Support
6. Other POS Systems (Epicor Profit 21)
- For clients with no taxonomy/organization
- Ask Usman to run UPC matching script against AI database
- Run AI taxonomy matching
- Additional fee required for custom AI taxonomy
Domain Change
Procedure for changing domains based on plan type and store status.
Domain Change for New Stores
Gold & Silver Stores
- Deadline to change domain: 3 weeks from signing the order form
- Sales team adds specific deadline date on the order form
- Make clear on the order form the last day stores need to provide domain credentials
- After deadline: We buy the domain and charge $30 per year
- Case by case complaints require Lawrence's approval for refunds
Bronze Stores
- Sales team asks during signing if they have their domain
- Credentials must be provided when signing the form
- If no credentials: We buy domain and charge $30 per year
Upgrading Clients (E2 to E2+)
- If using shoptruevalue.com or ezad.io for a long time and hesitant to change - Do not insist
- Buy a domain and redirect truevalue/ezad.io to new domain for SEO
- Position as "complimentary secondary domain to bring traffic"
Domain Change for Stores in Onboarding
- Proceed to buy new domain and add $30 per year to bill
- Complaints can be refunded after they provide their domain
Domain Change for Old Stores
Change domain only for:
- E1 (Silver)
- E1+
- E2+ (Gold)
Required action: Identify all old stores on E1, E1+, & E2+ plans that haven't changed their domain.
Domain Pricing Summary
| Scenario | Domain Cost |
|---|---|
| Store provides own domain | No charge |
| We purchase domain | $30/year |
AR/House Accounts
Guide for setting up and managing AR (Accounts Receivable) and House Accounts.
Understanding Customer House Accounts
Try to understand from the customer how House Accounts work for them:
- Tier Pricing - How pricing tiers are structured
- Category Pricing - Pricing based on product categories
- No Credit Card While Processing Order - Orders processed without credit card payment
Customer Reporting Requirements
The customer needs to run a customer report as a CSV file with the following fields:
- Customer Name
- Customer ID
- Charged Status: YES or NO?
Store Configuration Tasks
- Remove vendor for the store
- Remove QOH (Quantity on Hand) from items
- Force show out of stock items
Video Tutorial
Loom Video: AR Accounts Tutorial
This video provides guidance and instructions for working with AR Accounts in the EZ-Commerce platform.
Post-Webinar Email Templates
Email templates for follow-up communication with clients after the first webinar.
Email for E1+ & Gold Plan Clients
Subject: Welcome to EZ-Commerce - Your Login Credentials & Next Steps
Hello [Client Name],
Thank you for attending our recent webinar. We enjoyed having you join us, and I hope you found the session helpful for your goals.
As discussed during the webinar, I'm reaching out to provide you with the credentials necessary to access our platform. These credentials will enable you to log in and begin the next steps towards going live. You'll find the login details outlined below:
Website link: [WEBSITE URL]
Username: [USERNAME]
Password: [PASSWORD]
Please make sure to keep this information confidential and secure to maintain the integrity of your account.
Now that you have access to the platform, I'd like to outline the next steps in our process to ensure a smooth transition to going live. It is suggested to play around with the platform and finalize the next steps to go live. Here's a brief overview:
- Complete the Landing Page
- Complete the Brand settings
- Complete the Department Mapping
- Complete the Fulfillment Options
- Complete the Payment Process/Connect with Stripe
If you have any questions or need further clarification on any of the above steps, please don't hesitate to reach out. Our team is here to support you every step of the way.
Thank you once again for your participation in our webinar and for considering our services. We're excited to embark on this journey with you and look forward to assisting you in achieving your goals.
Best regards,
[Your Name]
Email for Bronze/Silver Plan Clients
Subject: Welcome to EZ-Commerce - Getting Started
Hello [Client Name],
Thank you for joining our webinar session. We're excited to have you on board!
Here are your login credentials to access the platform:
Website link: [WEBSITE URL]
Username: [USERNAME]
Password: [PASSWORD]
As a [Plan Name] plan client, your website is set up for [browsing only/online ordering]. Here are your next steps:
- Review your product catalog
- Customize your store information
- [Additional plan-specific steps]
Please reach out if you have any questions.
Best regards,
[Your Name]
Tips for Email Communication
- Send credentials email the same day after the webinar
- Include clear next steps based on their plan
- Offer to schedule follow-up calls if needed
- Keep subject lines clear and action-oriented
Sales to Onboarding Handoff
Standard operating procedures for sales to onboarding collaboration.
Once the order form has been signed, the Sales Team needs to follow the process below:
1. Commission Submission
- Submit the order form on the Commission Page in Kachooni
- In case of quotes page being used, use "add to commission" button
2. E2 Plans (No Online Ordering)
- Sales team needs to check the sales commission page regularly to see if EZAD has started receiving Spec98 data (in case of True Value)
- Verify that the site has been generated
3. Non-TV E2 Plans
- Sales team communicates to Onboarding team using the liaison channel on Slack
- Provide all business information along with order form (and NDA in case of Orgill)
- Onboarding team will spin up a site
4. E1/E1 Plus/E2 Plus Plans
Sales team schedules the initial call for onboarding team to conduct:
- ET (Employee Training) - depending on plan
- DR (Data Retrieval) - depending on plan
5. Call Scheduling Communication
Once call is scheduled, sales team communicates with onboarding team on liaison channel with:
- All store details
- BID (if exists)
- Date/time of scheduled meeting
6. Commission Claiming - E1/E1 Plus
Sales team ensures via communication with onboarding team:
- ET (Employee Training) has been conducted successfully
- Billing has been started
Only after confirmation, mark commission entry as live and claim commission.
7. Commission Claiming - E2 Plus
Sales team ensures via communication with onboarding team:
- DR/DC has been conducted
- Site is behaving properly
Then mark as live on commissions page and claim commission.
8. Post-Launch Follow-up
- After store is live and through onboarding process
- Sales team periodically checks in with clients
- Ensure continued satisfaction and address any issues
Quick Reference Summary
| Plan Type | Handoff Process | Commission Trigger |
|---|---|---|
| E2 (Bronze) | Verify Spec98 data & site generation | Site generated |
| Non-TV E2 | Liaison channel communication | Site spun up |
| E1/E1+ | Schedule ET & DR calls | ET complete + billing started |
| E2+ | Schedule DR/DC calls | DR/DC complete + site working |
Order Form Entry Process
Procedure for uploading order forms on Kachooni.
Location: Sales Commission Page
Step-by-Step Entry Process
1. Access Form
- Navigate to Sales Commission page
- Select "Add New"
2. Enter Required Information
- Business name
- Store number
- POS system
- Plan selection (Bronze/Silver/Gold)
- Monthly fee (auto-populates based on plan)
- Contact person
- Email address
- Website
- Notes (any relevant details)
3. Upload Documentation
- Drag and drop order form
4. Setup Fee Information
- Enter setup fee amount
- Add any special setup notes
- Custom development (if applicable):
- Add custom development details
- Upload custom development order form
After Submission
What You'll See:
- Entry ID number
- Timestamp of entry
- Creator name
- Lead owner (can be changed if necessary, typically not needed)
- Edit button for modifications
- All entered information displayed
Information Sources
For True Value Accounts
- Order form
- Call notes
- True Value supplier data
For Non-True Value Accounts
- Sales Drive
- Vendor-specific folders
- Order form
- Call conversations
Domain Setup and Website Hosting
Understanding domains, DNS configuration, and website hosting options.
Understanding Domains vs. Websites
| Component | Description | Example |
|---|---|---|
| Domain | Web address users type in browser. Can be owned/hosted by any provider. | claimsonline.com |
| Website | Actual content—pages, products, images, functionality. Can be hosted on different server. | EZ-AD servers |
Domain Connection Process
Scenario: Customer owns domain but wants EZCommerce website
- Step 1: Customer owns domain (purchased through GoDaddy, Namecheap, etc.)
- Step 2: EZ-AD provides DNS update instructions (A Records or CNAME Records)
- Step 3: Customer logs into domain provider and updates DNS settings
- Step 4: Domain now points to EZ-AD server
- Step 5: Website goes live at customer's branded domain
Example
- Domain: claimsonline.com (owned by store)
- Website: Created by EZ-AD
- Result: Customers visit claimsonline.com and see EZCommerce website
Subdomain Options
What is a Subdomain?
A prefix added to main domain (e.g., shop.claimsonline.com, hardware.claimsonline.com)
When to Use
- Customer has existing corporate website at main domain
- Wants to add e-commerce without replacing existing site
- E-commerce store lives on subdomain
Benefits
- Preserves existing corporate site
- Adds e-commerce functionality
- Feels integrated with brand
Default Setup
Hosted on EZAD.io domain (e.g., yourstorename.ezad.io)
Custom Domain Options
- Subdomain: shop.yourstorename.com
- Full domain: yourstorename.com
What EZ-AD Does
- Provides step-by-step DNS instructions
- Handles technical configuration
- Ensures smooth transition
Onboarding Process and Ongoing Support
Complete overview of the onboarding process and support services.
Onboarding Process
Step 1: Data Retrieval (POS-Integrated Plans)
- Onboarding team pulls data from your POS
- Supported: RockSolid, Epicor, Transact, Paladin, QuickBooks, others
Step 2: Data Consultation Call
- Team creates mock site using your data
- You review: products, departments, pricing, images
- You request: hide specific items/departments, adjust displays, custom pages
Step 3: Full Platform Training
- Order fulfillment process
- Website editing (landing page, custom pages)
- Payment processor setup (Stripe, PayPal, Authorize.net)
- Fulfillment options configuration
Result: Fully confident managing your e-commerce site.
Ongoing Support
Dedicated Support Specialist Assigned
- Technical support for issues
- Answers to day-to-day questions
- Simple customizations included (no extra charge)
Simple Customizations Included
- Theme changes
- Color scheme adjustments
- Banner updates
- Image updates
- Layout tweaks
Included Services
SEO Services
- Product feeds to Google via sitemaps
- On-page SEO optimization
- Organic search ranking assistance
Google Merchant Center Setup (Buying Plans Only)
- Pushes products to Google Shopping tab
- Products appear in Google search shopping results
Email & SMS Notifications (Free)
- Automated order notifications
- Sent to store staff and customers
- Triggers: order placed, processing, fulfilled, ready
- No third-party apps required
Custom Development
Platform Flexibility
- Built from ground up by EZ-AD team
- Can add new features based on needs
- Can integrate third-party systems
Examples
- Custom page layouts
- Unique modules or tools
- Advanced integrations
Process
- Submit feature request
- Team evaluates scope and complexity
- Provides custom quote
- If approved, builds it
Payment Processor Options
Default: Stripe
- Easiest to configure
- Widely trusted
- Fast setup
- EZ-AD provides setup walkthrough
Also Supported
- PayPal
- Authorize.net
- Other processors available upon request (custom quote)
Training
Documentation coming soon.
Employee Training (ET)
Complete guide for training store employees on EZ-Commerce platform after website creation and Data Retrieval.
Main Topics to Focus on in Your Presentation
Initial Login Setup
- Show them how to log in
- Go to the test site for their website (e.g., https://xxx.ezad.io)
- NOTE: This is the domain we create for them. They need to change later to their dedicated domain.
- Enter the customer credentials: email/password you have created for them
Walk Through the Interface
- Admin side view vs Customer side view
Website Settings
To go to the website setting, go to the nav bar and click on Website settings. This will open the page with:
- Website Content
- General Settings
Website Content Features
Under Website Content are listed 16 features:
- AI Widget Builder
- GMC Setup
- Discrepancy Report
- Brand Integrator
- Search Synonyms
- Special Fees
- Transactional Emails
- Header and Footer
- Custom Pages
- Landing Pages
- Brand Settings
- Department Mapping
- Product Editor
- Product Suggesters
- Top Banner
- About Us
- Locations
- User Inputs
Suggested features to cover first:
- AI Widget Builder
- Landing Page
- Brand Editing
- Department Mapping
- Product Editor
- About Us
AI Widget Builder
Helps stores update their landing page in just a few words. For example, with just one sentence "Highlight Christmas", click Save and Generate.
AI functions in two stages:
- Data Retrieval: Processes user prompts to identify related search terms and performs comprehensive searches
- Data Organization: A secondary AI categorizes, groups, and names sections
AI will generate 3 widgets automatically. Add another instruction to generate more widgets.
Transactional Emails
Manages all different emails that the business needs to send out. Navigate to Admin Side > Website Settings > Website Content.
Available email types:
- Successful Pickup/Curbside
- Successful Delivery
- Successful Shipping
- Prepared Pickup
- Prepared Delivery
- Prepared Shipping
- Cancelled Order
- Delivery Completed
- Shipping Completed
- Abandoned Cart Reminder
- Order Item Canceled
Variables can be added to customize messages with customer first/last name, business name, address, etc.
Landing Page
From Website Settings, navigate to the Landing page section to change your homepage look and feel.
A) Carousel
A rolling ad that showcases visually appealing ads on the landing page.
How to Add a Slide:
- Click Add
- Select Image Carousel
- Click Add Slide
How to Add Images:
- Click Add Slide button
- Click View Slide Library
- Select desired carousel slide or upload your own
- Click Add button
B) Product Swiper
Lists products by department or brand with pricing and links.
- Choose which store to show (for multiple stores)
- Add optional title
- Select brand or department
- Toggle loop option
- Toggle visibility
C) Other Widgets
| Widget | Description |
|---|---|
| Testimonials | Show customer reviews with name, role, message, and rating |
| Subscription Widget | Capture emails for mailing list |
| Image Swiper | Display top-selling brands with clickable images |
| HTML Widget | Import existing HTML code from another page |
| Fraola Editor | Templates for customization (e.g., pricing pages) |
| Shop by Department | Display department icons on landing page |
Brand Settings
Navigate to Brand Settings under Website Content. Everything is enabled by default.
Top toggles:
- Show Brands in Navigation
- Brand Filters in Search Result
- Show Brand Logo
For each brand you can:
- Change logo
- Add to carousel
- Enable/disable
- Assign/change alias (same alias combines brands)
Department Mapping
Manage departments, classes, and finelines. Group multiple categories into one alias.
EZ-Commerce uses a 3-level taxonomy:
- Departments
- Classes
- Finelines
How to Merge Departments:
- Click "Assign Alias" on first department
- Write the new department name
- Repeat for other departments with exact same name
AI Taxonomy & Descriptions: The AI Product Builder uses Google Bard and ChatGPT APIs to enhance product information, matching products by UPC (11 numbers required). Increases taxonomy efficiency by 60%.
Product Editor
Edit specific product details by searching with SKU or UPC code.
Editable items:
- Main product image
- Additional images
- Hide/show price
- Hide/show product
- Edit title
For Sale Details: Location, model number, limit order quantity, description, promo settings, tax rate override, available quantity buffer, meta page description.
For Rental: Rental deposit amount, custom rates, location, model number, limit order quantity.
- Saved edits override previous data and stop syncing until Refresh is pressed
- Never change SKU and Price from Product Editor - do it from POS
- Product Images are pulled from UPC
General Settings
Fulfillment Options
Configure the type of orders an e-commerce store may receive.
Step 1: General Options
- Allow users to save cart (for recovering abandoned carts)
- Specify applicable tax rate
Step 2: In-Store Pickup
- Choose which store to apply settings
- Enable/disable in-store pickup
- Add custom messages
Step 3: Local Delivery
- Specify delivery area codes
- Add delivery charges
- Configure date picker options (weekends, time slots)
Payment Options
| Option | Description |
|---|---|
| Pay in Store | Customer pays at the store |
| Stripe | #1 payment processor, chargeback protection, save card details |
| PayPal | Alternative online payment |
Sub Accounts
Give different permissions to store employees. Navigate to Subaccounts > Create Account.
Add employee info and assign specific permissions, or enable Admin Account for all permissions.
Orders Page
Click Orders on the nav bar to see all orders:
- Outstanding Orders: Not yet fulfilled
- Orders Ready: Ready for pickup
- Completed Orders: Picked up by customer
- Canceled Orders: Cancelled for various reasons
Order Fulfillment Process
- Claim Order: Click "Prepare Order" under Outstanding Orders
- Print Receipt: Print for organization and verification
- Enter in POS: Confirm order is entered in POS system
- Mark Fulfilled: Click Finish to send customer notification
- Mark Picked Up: When customer collects order, mark as complete
Alternate Tenders
For reconciliation and transaction tracking, create an alternate tender in POS specifically for online orders. Contact POS provider to create a new tender if needed.
Tutorials Page
Available tutorial videos:
- Introduction Onboarding Video
- Basics of Ordering
- Website Settings
- Stats and Analytics Page
- How to Map Departments
- Creating Promo Codes
- How To Set Up DNS For URL Routing
- Editing Products
- Home Page Editor
- Featured Products
- Carousel Ads
- Custom Pages
- Search Synonyms
- Brand Product Integrator
- Recurring Orders
- Products Suggester
- Transactional Emails
- Header and Footer
- Rentals
- User Input
- Top Bar
- Google Merchant Center
- AI Widget Builder
- Payment Options
- Sub Accounts
- Social Media Accounts
- Analytics Conversion Pixels
- Local Delivery
- In Store Pick Up
- Special Fees
- Special Order Items
- Shipping Options
- Custom Domain Setup
- Brand Settings
- Data Report
- Discrepancies Report
- About Us & Locations
- BOGO Promotions
Google Merchant Center (GMC) Setup
Complete guide for setting up Google Merchant Center to display products on Google Shopping.
Custom Domain Validation (January 16, 2026)
IMPORTANT: GMC Feature Access Requirements
Before proceeding with GMC setup, verify the store's domain configuration:
- LOCKED: Stores using
.ezad.io,.shoptruevalue, or.shoptruevalueonlinedomains will see GMC locked - REQUIREMENT: Store must have their own custom domain to access GMC functionality
Exception List: Some businesses are exempt. Contact Steven or Usman to add businesses to the exception list.
Plan Requirements
GMC setup is only available for stores with cart functionality:
- E1/Silver
- E1+/Gold with online ordering
Additionally, the store must have:
- A custom domain (not .ezad.io, .shoptruevalue, or .shoptruevalueonline)
- OR be included in the exception list
Call Script for GMC
"Hello this is [NAME] from EZAD. I am calling you as we need to set up the Google Merchant Center in order for Google to show your product on the Google shopping page. Do you know what GMC is?
It is one tab on Google that allows you to search for any product on Google. Practically, GMC is a tool that allows online stores to upload their product details to Google Shopping. It helps show your products to many potential customers, like having a top spot in Google's search results."
Pre-Setup Requirements
Information needed from the client:
- Verify Domain Access: Check if using custom domain or default EZAD domain
- Existing GMC Account? Get credentials to find Merchant Center ID
- If no existing account, need:
- Gmail email for GMC setup
- Phone number
- Store code from Google Business Profile
- Shipping offered? Determines if Free Local Listing and/or Free Listing applies
- GBP Owner? Need super admin email to link GBP with GMC
Free Local Listing vs Free Listing
| Type | Coverage | Requirement |
|---|---|---|
| Free Local Listing | Local area only | Requires Google Business Profile with store code |
| Free Listing | Worldwide on Google | No GBP required |
I. Link Existing GMC Account to EZ-AD E-commerce
How to Find the Merchant ID
- Sign in to Google Merchant Center
- Locate Merchant ID in the top bar next to the gear icon
- Enter the Merchant ID in EZ-AD and click Save
mechantcenter@ezadtv.iam.gserviceaccount.comgmc.ezadtv@gmail.com
Navigate to: GMC > People & Access > Add email > Standard user access
II. Create New GMC Account
Required information:
- Gmail email (Google requires Gmail for GMC management)
- Phone number
- Store code from Google Business Profile
Process:
- Click "Set up a New GMC account"
- Enter required information
- Click Save
- Phone Verification: Have client on call to receive and provide SMS verification code
How to Find Store Code in GBP
- Search business name in Google
- Click the 3 dots on top right of the business profile
- Select "Business Profile settings"
- Click "Advanced settings"
- Note the store code
III. Verify GMC Account Setup
Go to GMC account (merchants.google.com) and verify:
- Business address
- Store added (if GBP not linked)
- Tax rate
- Shipping info (if needed)
IV. Link GBP with GMC
Check if GBP is Linked
- Go to GMC account
- Navigate to Settings > Apps & Services
- Check if Google Business Profile is listed
- Verify store(s) are listed for multi-locations
If Not Linked
- Click Add Services > Google Business Manager
- Send request to the email managing GBP
Accept Link Request in GBP
- Log in to GBP
- Go to Business Profile Manager
- Find request in Linked Accounts
- Accept the request
V. Claim Website on GMC
- Sign in to GMC at merchants.google.com
- Navigate to Business Information (left menu)
- Click the Website tab
- Verify ownership using one method:
- Google Search Console
- HTML File Upload
- Meta Tag
- Google Tag Manager
- Click "Claim Website"
VI. Update GBP Website URL
- Go to Google My Business
- Select business location
- Find the "Website" field
- Paste new URL
- Save changes
Quick Links
- GBP: business.google.com
- GMC: merchants.google.com
Core Features Overview
Training module covering the core features of EZ-Commerce platform.
Core Philosophy
Goal: Update the site as much as possible without store intervention
- Minimizes work burden for retailers
- Extensive SEO optimization built into all pages
- AI-powered content curation and organization
- Backend portal for management
Platform Architecture
Sites maintain consistency while allowing customization:
- Consistent Elements: Core functionality and structure
- Customizable Elements: Colors, themes, logos, page content
- All powered by AI-selected, hand-chosen content
E-Commerce Platform Features
Navigation & Organization
- Department breakdowns with hierarchical structure
- Navigation bars for easy browsing
- Product search functionality
- Multi-level categorization: Department > Class > Fineline
Consumer-Facing Features
- Add to cart functionality
- Streamlined checkout process
- Detailed product pages
- "Customers also purchased" recommendation sections
- Hyperlocalized product information for easy reading and browsing
Key Competitive Advantages
Direct POS Integration
Major advantage over Shopify: Pulling data directly from Point of Sale systems
- Real-time inventory synchronization
- Automatic product updates
- Consistent pricing across channels
Content Automation Solution
Challenge: Hardware and paint retailers often lack product images, titles, descriptions, and marketing content.
Solution: EZ-Commerce provides automated content generation through AI and vendor catalog integrations.
Key Features Detail
1. Discrepancy Report IMAP
Purpose: Monitor pricing violations and maintain IMAP (Internet Minimum Advertised Price) compliance
- Identifies pricing discrepancies between IMAP and POS pricing
- Provides notifications for pricing errors
- Helps find products that may cause IMAP violations
- Generates actionable reports for POS system corrections
Actions Available:
- Use the report to identify items requiring price changes in your POS system
- Download CSV file containing items with resolved price discrepancies
- Monitor ongoing compliance to avoid violations
2. E-Commerce Trained AI for Content Creation
Purpose: Automated widget and social media content creation using AI
Capabilities:
- Takes search terms and requests (e.g., "Showcase Fertilizer Products")
- Leverages comprehensive product knowledge including:
- Product data and specifications
- Current pricing information
- Google search trends
- Product popularity metrics
- Creates both widgets and social media posts
Advanced Features:
- Hyper-Localized Descriptions: Uses placeholders for store-specific information
- Store name integration
- City and state customization
- Local market adaptation
Pre-Call Research Steps
Significant steps for pre-call research before contacting a prospect.
Before contacting a prospect, complete the following pre-call research steps to ensure accuracy, avoid duplication, and prepare for a productive conversation.
Pre-Call Research Checklist
1. Search the Lookup Page
Enter the first word of the business name only, without symbols, into the Lookup page.
2. Review Call & Lead History
Carefully read the Calls, Leads, and Business sections to determine:
- Whether another rep has worked the lead within the past 45 days
- Whether the business is already an existing customer
3. Check the True Value Main List
Verify whether:
- The store is currently assigned to another representative
- The store is already an existing customer
4. Confirm Eligibility to Proceed
If there has been no recent activity in the Calls, Leads, or Business sections and the store is not assigned to another rep on the True Value Main List, proceed to the next step.
5. Conduct External Research
Copy and paste the store's name, address, and phone number into three separate Google tabs to gather additional context and details.
6. Document Your Findings
- Write clear, detailed notes in the Calls page
- Update the calling card with any new or relevant information discovered
7. Identify the Decision Maker
Locate the primary decision maker—typically the Owner, President, or CEO.
8. Make the Call
Contact the decision maker using all insights gathered during your pre-call research.
Quick Reference Summary
| Step | Action | Purpose |
|---|---|---|
| 1 | Search Lookup Page | Find existing records |
| 2 | Review History | Check for recent activity |
| 3 | Check Main List | Verify assignment status |
| 4 | Confirm Eligibility | Avoid conflicts |
| 5 | External Research | Gather context |
| 6 | Document Findings | Record information |
| 7 | Identify Decision Maker | Target right contact |
| 8 | Make the Call | Execute outreach |
Detailed Verification Methods
Expanded guidance for verifying contact information.
Google Search Verification
- Copy business name and search in Google
- Verify the location matches (check city/state)
- Ignore irrelevant results from different locations
- Look for multiple sources to confirm accuracy
Facebook Verification
- Search for business Facebook page
- Verify phone number listed on Facebook
- Check if page is active (recent posts indicate active business)
- Review posting activity and dates to confirm business is operational
Yellow Pages/Directory Sites
- Cross-reference phone numbers
- Confirm business address
- Look for additional contact information
Finding Decision Maker Information
Research Sources:
- Local news articles about the business
- Business opening announcements
- Community involvement articles
- About Us pages on websites
- Social media profiles
- Online directories
Website Walkthrough
Guide for conducting website walkthroughs during training.
Getting Started
- Begin by opening the customer's website in customer view
- Provide a brief overview of the Landing Page
Key Areas to Highlight
Top Banner
Showcases fulfillment options available to customers.
Store Information
- About Us section
- Departments
- Brands
Colorful Widgets
Explain how widgets can be used to promote:
- Services
- Products
- Brands
- Special promotions
Training Tip
This walkthrough helps customers understand their website from their customers' perspective before diving into admin functions.
SDR Training Requirements
Training philosophy and requirements for Sales Development Representatives.
Training Philosophy
- Sales is a craft - this training is mandatory, not optional
- All content will be tested and evaluated in performance reviews
- SDRs must watch all videos, take detailed notes, and memorize key content
- Practice with mock calls and complete all exercises
What Training Covers
- Hardware retail industry overview and terminology
- EZ Commerce platform features and integrations
- CRM systems and account management
- Customer demos, scripts, and rebuttals
- KPIs and commission structure
Key Reminders
- Watch entire video training start to finish
- Take detailed notes on scripts, features, and techniques
- Memorize key content—you will be tested
- Complete practice exercises and mock calls
- Review and rewatch as needed
Making the Initial Call Protocol
Primary Objectives
- Gauge the interest
- Explain different packages
- Answer all questions
- Get a decision on the call
- Occasionally it takes 1 or 2 follow ups
Required Information to Verify
- How many Locations do you own?
- What is a good Email Address to receive the training and links?
- What is a good number to reach you at?
- Confirm the spelling of their First and Last Name
- Confirm the address you are calling on
- Confirm the spelling of the name of their Store
- Are you a branded True Value Store?
- Last but not least, what is your store number?
- What POS are you using? Is it the latest version?
- Ask if they have any questions
Next Steps
- Update spreadsheets immediately
- Check for duplicates in Kachooni
- Document all communication
Sales Best Practices and Demo Techniques
Guidelines for effective sales approach and demonstration techniques.
Sales Approach
- Always ask the two qualification questions first
- Listen to customer's business model
- Recommend plan that truly fits—don't force sales
- Use follow-up questions to confirm needs
- Be ready to upgrade or adjust based on responses
Demo Best Practices
- Have all necessary tabs open before calls
- Show seamless POS → Website flow
- Emphasize AI automation and zero manual data entry
- Demonstrate product editor flexibility
- Highlight automated notifications and fraud protection
What to Emphasize
- Platform is built FOR hardware retail industry
- Week-long onboarding timeline
- Dedicated support and simple customizations included
- Supplier catalog integration = expanded product selection
- Multi-location capability for growing businesses
- Emery Jensen exclusive pricing advantages
Required Demo Tabs
Have these tabs ready before every demo call:
- EZCommerce homepage
- Product detail page
- Custom page (e.g., Service & Repair)
- Store information page
Key Demo Points
- Show zero manual data entry process
- Demonstrate AI product matching
- Highlight automated notifications
- Show order fulfillment workflow
- Emphasize one-week setup timeline
Order Form Processing and Go-Live Protocol
Sales procedure for processing signed order forms and launching sites.
Receive Signed Order Form
Review Process
- Review the order form:
- Ensure all information has been filled out entirely
- Ensure there are no mistakes
- Call the customer to thank them for the signed order form
- Let them know we received it and will be working on their site
- Inform them if anything was missing and request complete resubmission
Upload and Processing
- Upload the signed order form to the Sales Commission Page
- Add detailed info to Order Notes section:
- Unknown POS Version
- Incompatible POS
- Wants rentals & Custom development
Data and Site Generation
- After 48 hours check Spec 98 for data
- Once data arrives, site and business should populate within 24 hours
- If no Spec 98 data within 2 days: message Sarah/Chance for True Value follow-up
- Plug the populated Bus ID into the field
- After refreshing: Generate Monthly Invoice
- Enter Bus ID and refresh page
- Generate the First Monthly Invoice
Website Review
If checklist not completed after 48 hours:
- Follow up in the Liaison channel
- Request checklist completion
- Conduct the Checklist yourself
- Send Credentials
Employee Training and Go-Live Process
Protocol for employee training sessions and site go-live procedures.
Employee Training Protocol
Send Training Email Rules
- No training email will be sent to E2 or E2W
- No training email will be sent to PLUS packages
Training Session Process
- During employee training session, salesperson can click Go Live button
- This sends the customer the credentials
- Go Live Button automatically sends welcome email
- Email sender: support@ezadtv.com
- If issues arise, replies go to help desk
- Note: When Go Live button clicked, no email sent to customer (they already have credentials)
PLUS Packages Special Handling
Schedule/Follow Up on:
- Data Retrievals
- Consultations
Liaison Responsibilities
- Assist in scheduling
- Assist in rescheduling
- Handle reminder calls
- Update the sales team
Sales Team Responsibilities
- Follow up on leads in Leads Meeting & Sales Meeting
- Enter detailed notes on both pages (assists greatly)
- After completion: Employee Training scheduled with Onboarding for live training session
Final Go-Live Steps
- Select the Green GO LIVE button
- Claim your commission
Customer Training Resources
Post-training resources and tutorial recommendations.
Tutorial Access
- Inform customers they can access Tutorials for additional training anytime
- Available 24/7 for ongoing learning
Strongly Recommended Videos
Priority viewing after the session:
- Onboarding Introductory Video
- Basics of Ordering
- Carousel Ads
- Home Page Editor
Self-Service Learning
Tutorials enable customers to:
- Reinforce training concepts
- Learn advanced features independently
- Reference specific processes as needed
Session Completion and Go-Live Process
Final Training Steps
- Order Fulfillment Demo - Demonstrate how to accept orders online
- Q&A Session - Open the floor for questions
- Go-Live Activation - Mark the customer as GO LIVE!
Completion Checklist
- Website walkthrough completed
- Admin portal access verified
- Key settings configured
- Order fulfillment demonstrated
- Customer questions addressed
- Customer marked as GO LIVE
Core Sales Pitch Framework
Complete pitch framework for presenting EZ-Commerce to prospects.
Pre-Call Setup
Have these tabs open before every demo:
- EZCommerce homepage
- Product detail page
- Custom page (e.g., Service & Repair)
- Store information page
The Complete Pitch
Opening Statement
"Let me introduce you to our state-of-the-art, all-in-one e-commerce solution: EZCommerce by EZ-AD TV."
Key Points to Cover
1. Industry-Specific Design
- Built for hardware retail
- Understands taxonomy and inventory needs
2. POS Integration
- Syncs products, prices, taxonomy, and quantity from your POS
- Works with major POS systems and Excel/CSV exports
3. AI Enhancement
- Matches data with 9M+ SKU database
- Adds professional product images
- Cleans up descriptions and titles
4. Beautiful Storefront
- Eye-catching landing page
- Detailed product pages for each item
- Advanced search facility
- Simple checkout process
5. Fulfillment Flexibility
- In-store pickup
- Local delivery
- Shipping options
6. Content Control
- Custom pages for services and promotions
- Banner creation
- Store information page with hours, address, phone
Closing Statement
"With our top-of-the-line onboarding staff, we can get you a fully functional e-commerce website from the ground up within one week."
Conference Room Usage Protocol
Guidelines for using conference rooms during data consultations and training sessions.
Required Call Setup
- Always dial the customer from the CRM and keep them on the phone while sharing your screen in the conference room
- This is required - all calls must be recorded for quality assurance
Conference Room Purpose
The conference room is to be used exclusively for:
- Providing employee training
- Supporting existing customers
- Working within the E1 platform
Session Management
Pre-Session Setup
- Always enter your conference room before the customer
- This ensures you have full control of the session
- Includes the ability to remove the customer if they do not exit the room on their own
Getting Assistance During Training
When assistance is needed at any point:
- Ping Kevin or Sarah to check availability
- Provide them:
- The conference room link
- A brief description of the issue needing attention
This allows them to join prepared and resolve the issue quickly.
Audio & Video Guidelines
Strict Requirements
- Do NOT enable your microphone in the conference room
- Do NOT enable your camera in the conference room
- The conference room should be used only for screen sharing
- All verbal communication must be conducted via phone through Kachooni
Communication Flow
| Channel | Purpose |
|---|---|
| Phone (via Kachooni) | Audio communication |
| Conference room | Screen sharing only |
SDR Quick Reference Checklist
Quick reference checklist for Sales Development Representatives.
Before Every Call
- ☐ Look up call ID
- ☐ Review existing contact information
- ☐ Google search business name
- ☐ Verify phone number (multiple sources)
- ☐ Check Facebook for activity
- ☐ Search for decision maker name
- ☐ Research business background/values
- ☐ Update notes in system
- ☐ Confirm information matches supplier data
During Every Call
- ☐ Use proper greeting
- ☐ Be actively listening
- ☐ Address all objections with rebuttals
- ☐ Answer all questions asked
- ☐ Take detailed notes
- ☐ Keep resources nearby
- ☐ Use proper closing
After Every Call
- ☐ Update notes immediately
- ☐ Update spreadsheet if needed
- ☐ Schedule follow-ups if applicable
- ☐ Enter order form if sale made
- ☐ Sync all systems with new information
Key Takeaways
| Principle | Details |
|---|---|
| Pre-call research | NOT optional - Required for every call |
| Notes = Preparation | Detailed notes prepare you, your team, and serve the customer |
| Professionalism | We are the face of EZAD - Professionalism in every interaction |
| Everything matters | No detail is too small to document |
| Update both systems | Call notes AND spreadsheet must match |
| Decision maker | Always research and ask for them by name |
| Address objections | Never ignore what customer says |
Pricing Quick Reference
- Bronze: $75/mo (Setup: $250)
- Silver: $199/mo (Setup: $500)
- Gold: $399/mo (Setup: $1,000)
Sales Qualification Strategy
Two-question method and decision matrix for plan recommendations.
The Two-Question Method
Always ask these questions before recommending a plan:
Question 1: SKU Mix
"Does your inventory consist mostly of [Supplier] SKUs, or do you also carry SKUs from other vendors?"
Question 2: Online Shopping Preference
"Are you looking for a full online shopping experience, or just a browsing-only website?"
Decision Matrix
| Customer's SKU Mix | E-commerce Preference | Recommended Plan |
|---|---|---|
| Mostly Supplier SKUs | No online shopping | Bronze |
| Mostly Supplier SKUs | Online shopping | Silver |
| Mix of Supplier + Non-Supplier | No online shopping | Gold Browsing Only |
| Mix of Supplier + Non-Supplier | Online shopping | Gold Online Ordering |
Follow-Up Questions (Critical)
After initial recommendation, confirm:
- "How important is it to show your non-supplier SKUs online?"
- If critical → Upgrade to Gold (needs POS)
- "How important is it to show your own pricing vs. suggested retail price?"
- If critical → Upgrade to Gold (needs POS)
Example Sales Call Script
Scenario: Bob's Store - 90% Supplier SKUs, No Online Shopping
| SDR: | "Hey Bob, does your inventory consist mostly of Emery Jensen SKUs, or do you carry SKUs from other vendors?" |
| Bob: | "Mostly Emery Jensen—about 90%." |
| SDR: | "And would you want customers to shop online, or just browse and then shop in-store?" |
| Bob: | "Just browse. I don't want them to shop online." |
SDR's Analysis: Bronze Plan recommended.
SDR continues: "Okay Bob, it seems like Bronze would work best. Now, you mentioned 10% are non-Emery Jensen SKUs—how important is it to show those online? And do you need your own pricing to show, or can you work with Emery Jensen's suggested retail price?"
SDR Note-Taking Best Practices
Guidelines for effective note-taking during sales calls.
Core Philosophy
"Treat it as transcribing the call" - Everything that happens needs to be documented in detail.
Why Notes Matter
- Helps entire team and company
- Enables better customer service
- Prepares SDRs for follow-ups
- Assists onboarding team after sale
- Supports liaisons in their work
- Sets team up for success
- Notes are the ONLY way to learn about a customer
- We are the face and voice of the company
Multiple Phone Numbers Protocol
When multiple numbers exist:
- List which number you dialed (1, 2, 3)
- Detail each call attempt
- Show which number was successful
- Note who was reached at each location
Example Note
Called #1 - went right to voicemail
Called #2 - TT/ Wendy (Gatekeeper) - transferred directly after asking questions, seemed skeptical
TT/ Mark (Decision Maker) - said he is really short staffed, seemed frustrated, pressed for time,
"afternoons are best" - offered Friday but was deterred when I had incorrect info -
try back after updating information
Information Updates
Detailed Note Format
Selected "PROMPT #"
TT/ Gatekeeper - asked for Sam - transferred
Bad connection
TT/ Sam Ransdell (Decision Maker)
Afternoons are best
Thursday 5pm EST is good for him
Asked for anything earlier: 3 PM Tuesday was the webinar final time
Confirmed email
POS: Epicor Eagle
Locations: 2
Consequences of Incomplete Notes
We short ourselves:
- Unprepared for follow-ups
- Unprepared for closes
- Unprepared for future calls
- Do not assist onboarding team
- Do not help liaisons whose jobs take place after us
What NOT to Do - Poor Example
BAD lead note: "This was a lead picked up from a previous employee"
What went wrong:
- No pre-call research conducted
- Did not reference nor update with info from True Value
- Did not make effort to find new number
- Simply dialed and moved on
Result: Waste of time and effort, disservice to customer
SDR Call Conduct Best Practices
Professional standards for SDR phone communications.
Opening the Call
Be Ready Immediately:
- Do NOT have a pause when customer picks up
- Have proper greeting prepared
Standard Greeting: "Hello, this is [YOUR NAME] from EZAD, how are you?"
During the Call
Active Listening & Response
- Be tuned in on every call
- Respond to what prospect/customer says
- Never ignore what's been said
Addressing Objections
Every objection needs a proper rebuttal.
Example Objection Handling:
- Customer: "I'm short staffed and frustrated"
- Response: "Hey no worries, I can give you a call back or we can work something out via email. It's no rush. Just let me know when you're ready and I can see if someone is available."
Process:
- First respond to what customer says
- Address their concern
- ONLY THEN proceed with flow of conversation
Answering Questions
- Always address questions asked
- Spend time with the customer
- Be fully engaged and ready to help
- Keep resources at hand
- Use search functions for answers
- Ping colleagues for help if needed
- If you need help, verify their email and get answer to them via email after call
Resource Management
Keep These Within Reach:
- Training materials
- Product information
- Announcements
- Resources provided
- Search functions for quick answers
Closing the Call
Standard Closing: "Thank you for your time. Goodbye."
Core Values & Responsibilities
Required Attributes:
- Performing duties with intent
- Focusing on task at hand
- Attention to detail
- Follow through
- Asking for help
- Being a team player
Every Call Requirements
- Pre-call research
- Detailed notes
- Professional conduct
- Proper follow-through
Key Performance Metrics
- Monthly sales growth
- Calls & Emails per rep (daily, weekly, monthly)
- Call Conversion Rate
- Sales Cycle Length
- Customer Retention
Google Merchant Center - Complete Guide
GMC integration policy, data limitations, and quota management.
GMC Integration Request
Ask client: Do you want to integrate with GMC? ☐ Yes ☐ No
Prerequisites for GMC Integration
MUST HAVE:
- POS integrated and showing product quantities updated regularly
- Physical location for the store
- Add to cart button on the site (transactions are possible - no catalog-only)
- Google Business Profile set up for Free Local Listing on GMC
Scope & Limitations
EZ-AD Responsibility
- Connecting the website/product feed to Google Merchant Center
- Configuring required basic feed settings
- Assisting with initial technical validation and submission
EZ-AD does NOT guarantee approval, indexing, or full product ingestion by Google.
Product Volume Limitations
- If the product catalog exceeds ~150,000 products, Google may limit or throttle product ingestion
- Full product submission is not guaranteed unless the client runs Google Ads campaigns or receives direct approval from Google
- Product limits are controlled solely by Google, not by EZ-AD
2026 Quota Guidelines
Default Product Limit
The standard default for a standalone account is 150,000 products.
- Google has implemented automatic quota adjustments
- As your account approaches the limit with good data quality, Google often increases it automatically
The "80% Rule"
To be eligible for a manual increase, you must be utilizing at least 80% of your current limit.
Default API Call Quota
- Rate Limit: 50,000 requests per minute per method
- Daily Quota: 2× your product quota (300,000 API calls/day for 150k products)
- Update Frequency: Update individual products no more than twice per day
How to Request Quota Increases
Eligibility Criteria
- Quota Usage: Using at least 80% of current quota
- Account Health: Under 20% disapproved/pending products
- Policy Compliance: No active suspensions
- Performance: Sufficient traffic and performance
Pre-Request Checklist
- ☐ Current quota utilization is 80% or higher
- ☐ Disapproved/pending products are under 20%
- ☐ No active account suspensions
- ☐ No policy violations on record
- ☐ Account demonstrates consistent, quality data management
Request Process
- Access the Merchant Centre Help Centre
- Locate the quota increase request form
- Complete the form with accurate information
- Provide justification for the increase
- Submit and wait for Google's evaluation
Google Merchant Center - Complete Training Guide
Comprehensive training module for Free Listings and Free Local Listings setup for hardware retailers.
Overview
Google Merchant Center is a platform where retailers upload their product data to make it available to Google Shopping and other Google services. For hardware retailers using EZ-Commerce, GMC is crucial for:
- Increasing online visibility
- Driving traffic to their e-commerce site
- Competing with larger retailers
- Showcasing local inventory
Key Benefits for Hardware Stores
- Zero advertising cost for Free Listings
- Local inventory visibility for walk-in customers
- Competitive advantage against big box stores
- Enhanced search presence for hardware products
Free Listings Program
What are Free Listings?
Free Listings allow products to appear in Google Shopping results, Google Images, and the Shopping tab without paying for ads. This is especially valuable for hardware retailers with extensive product catalogs.
Where Free Listings Appear
- Google Shopping Tab - Primary placement for product searches
- Google Search Results - Shopping carousel and product snippets
- Google Images - Product images with pricing information
- YouTube - Product shelves on relevant videos
Requirements for Free Listings
- GMC account verified and in good standing
- High-quality product data with required attributes
- Compliant website with clear pricing and availability
- Professional product images
Free Listings Setup Steps
- Enable Free Listings in GMC Settings
- Configure surfaces (Shopping tab, Search, Images)
- Set up product data feed with required attributes
- Verify data quality and fix any policy violations
Key Attributes for Hardware Products
Required Attributes
| Attribute | Description |
|---|---|
id |
Unique product identifier |
title |
Descriptive product name |
description |
Detailed product information |
link |
URL to product page |
image_link |
High-quality product image |
availability |
in_stock, out_of_stock, preorder |
price |
With currency |
condition |
new, used, refurbished |
Recommended for Hardware
brand- Manufacturer namempn- Manufacturer part numbergtin- Barcode/UPCproduct_type- Custom categorizationgoogle_product_category- Google's taxonomy
Free Local Listings Program
What are Free Local Listings?
Free Local Listings showcase products available at physical hardware store locations, helping customers find items nearby for pickup or immediate purchase.
Where Free Local Listings Appear
- Google Maps - "Available nearby" sections
- Local Search Results - Product availability at local stores
- Google Business Profile - Product inventory integration
- Mobile Shopping - "Available nearby" filters
Requirements
- Physical store location with verified Google Business Profile
- Local inventory data integration
- Store pickup capability or in-store availability
- Accurate business information (hours, contact, address)
Local Inventory Feed Attributes
| Attribute | Description |
|---|---|
store_code |
Unique identifier for each location |
quantity |
Available inventory count |
pickup_method |
buy_online_pickup_in_store, reserve_online_pickup_in_store |
pickup_sla |
Pickup availability timeframe |
sale_price |
Local pricing if different |
Setup Process for Hardware Retailers
Phase 1: Account Setup (Week 1)
- Create GMC Account
- Use business email address
- Verify website ownership
- Connect to Google Ads (optional but recommended)
- Verify Business Information
- Store name and address
- Business verification process
- Tax and shipping settings
Phase 2: Product Data Integration (Week 2)
- EZ-Commerce Feed Setup
- Configure automated product feed
- Map product attributes correctly
- Set up inventory synchronization
- Product Data Quality
- Review product titles and descriptions
- Ensure high-quality images
- Verify pricing accuracy
Phase 3: Local Integration (Week 3)
- Google Business Profile Connection
- Link existing business profile
- Verify store location accuracy
- Enable inventory features
- Local Inventory Configuration
- Set up store pickup options
- Configure local delivery zones
- Test inventory synchronization
Phase 4: Optimization & Launch (Week 4)
- Data Quality Review
- Fix disapproved products
- Optimize product titles
- Enhance product descriptions
- Performance Monitoring Setup
- Configure GMC reporting
- Set up Google Analytics integration
- Establish KPI tracking
Product Feed Optimization
Title Optimization for Hardware Products
| Example | Quality |
|---|---|
| "Drill Bit Set" | Poor |
| "DEWALT 29-Piece Titanium Drill Bit Set with Metal Case - DT7926" | Good |
Include: Brand name, Product type, Key specifications, Model number, Important features
Description Best Practices
- Start with key benefits for the specific trade/DIY use
- Include technical specifications (dimensions, materials, compatibility)
- Mention applications (what projects it's used for)
- Add warranty information when relevant
- Use keywords that contractors and DIYers search for
Image Requirements
- Minimum 100x100 pixels (recommended 800x800 or larger)
- White or lifestyle backgrounds
- Multiple angles for complex products
- Clear product visibility without excessive text overlays
- Accurate color representation
Category Mapping for Hardware
- Tools & Hardware > Power Tools > Drills
- Tools & Hardware > Hand Tools > Hammers
- Home & Garden > Lawn & Garden > Outdoor Power Equipment
- Tools & Hardware > Building Materials > Lumber
- Tools & Hardware > Plumbing > Fittings
Troubleshooting Common Issues
Product Disapprovals
| Issue | Solution |
|---|---|
| Missing Required Attribute | Ensure all required fields are populated; check for empty price, title, or image fields; verify GTIN/MPN for branded products |
| Image Quality Poor | Use minimum 800x800 pixel images; ensure clear product visibility; remove excessive watermarks or text |
| Pricing Mismatch | Verify price on website matches feed; check currency formatting; ensure prices include tax where required |
Feed Processing Errors
| Issue | Common Causes | Solutions |
|---|---|---|
| Feed Processing Delayed | Large feed size (>4GB), server connectivity, XML/CSV formatting errors | Split large feeds, verify server uptime, validate feed format |
Account Suspensions - Policy Violations
- Misleading content: Ensure accurate product descriptions
- Prohibited products: Review Google's prohibited items list
- Poor landing page experience: Ensure website functionality
Best Practices for EZ-Commerce Clients
1. Product Data Excellence
- Regular feed updates (at least daily for inventory)
- Seasonal optimization (adjust for peak hardware seasons)
- Competitive pricing monitoring and adjustment
- Rich product content with detailed specifications
2. Local Optimization
- Accurate store hours and holiday schedules
- Local inventory accuracy (sync with POS system)
- Store-specific promotions and pricing
- Local keyword optimization for service areas
3. Performance Monitoring
- Weekly GMC performance reviews
- Monthly product data quality audits
- Quarterly competitive analysis
- Seasonal campaign planning
4. Integration with EZ-Commerce Features
- Automated inventory sync between POS and GMC
- Bulk product updates through EZ-Commerce dashboard
- Multi-location management for chain hardware stores
- Promotional pricing synchronization
Training Checkpoints
Knowledge Check Questions
- What's the difference between Free Listings and Free Local Listings?
- Name 5 required attributes for hardware product feeds
- Where do Free Local Listings appear to customers?
- What are common causes of product disapprovals?
- How often should product feeds be updated?
Practical Exercises
- Setup Practice: Create a test GMC account and connect a demo store
- Feed Creation: Build a sample product feed for 10 hardware items
- Troubleshooting: Identify and fix common feed errors
- Optimization: Improve product titles and descriptions for better visibility
Getting Started Checklist
For Team Members Supporting Clients
- Complete this training module
- Practice with demo GMC account
- Understand EZ-Commerce GMC integration features
- Know escalation process for technical issues
- Familiarize with hardware product categories
For Client Implementation
- Verify business information
- Set up Google Business Profile connection
- Configure product feed automation
- Test local inventory synchronization
- Monitor first week performance
- Schedule ongoing optimization reviews
Data Consultation Training - 10-Step Process
Simplified 10-step employee training process.
Step 1: Website Overview (Customer View)
Open the customer's website in customer view and provide a brief overview of the landing page, including:
- Top banner showcasing fulfillment options
- Store Info (About Us)
- Departments
- Brands
- Promotional widgets
Step 2: Admin Portal Access
Log in to the Admin Portal using the customer's credentials to:
- Confirm access works correctly
- Keep the EZ-Commerce Setup Page open in case live changes are needed
Step 3: Data Flow Education
Explain how data flows between the POS and the website:
- POS changes → reflect on the website
- Website changes → do NOT sync back to the POS
Step 4: Brand Settings Review
- Note that all brands display by default from the POS
- Explain that the Admin Brand Settings page directly correlates with the customer-facing Brand Page
Step 5: Enable Required Brand Toggles
Ensure these toggles are enabled:
- ✅ Brands Filter in Search Results
- ✅ Show Brand Logos
Step 6: Brand Visibility and Aliasing
Demonstrate:
- Disable brands the customer does not want visible
- Use Assign Alias to rename or group brands
- Special case: If products should remain visible while the brand is hidden, keep Show Products enabled
Step 7: Department Mapping Review
Explain:
- All departments pull from the POS
- Hiding or aliasing departments does NOT affect POS data
Step 8: Department Settings Adjustment
Adjust as needed:
- Hide quantity and price
- Disable ordering, delivery, or shipping
- Merge or rename categories using aliases
- Only hide what the customer agrees should not be public
Step 9: Product Editor Demonstration
Show how to:
- Edit detailed product information via SKU or the Edit button
- Clarify which fields sync from the POS
Step 10: Final Review & Questions
- Review all changes made during the session
- Confirm customer understands the key concepts
- Address any remaining questions
- Provide information about ongoing support resources
Integrations
Documentation coming soon.
Nash Delivery Integration
Nash is a delivery integration system that connects the E-Commerce platform with Nash's delivery services.
Overview
- Nash provides an API that allows businesses to request and utilize Nash delivery services
- Acts as an intermediary layer between the E-Commerce platform and Nash
- Handles delivery quotes, order placement, tracking, and status updates
- Enables businesses to offer Nash delivery as a fulfillment option
Part 1: Configuration in Nash
Step 1: Configure Dispatch Strategy
Configure your Dispatch strategy and/or workflows/automations in your Nash dashboard (can be discussed with Nash support).
Step 2: Generate API Key
- In Nash, navigate to Settings > API Keys
- Click Create a new API Key
- Configure:
- Key Name: EZAD ecomm
- Description: integration with EZAD ecommerce
- Organization: Select your organization
- Feature Groups: Set "Read and Write" for Dispatch Strategy, Deliveries, Webhooks
- Click Save
- Store the API Key (starts with
nsh-...)
Step 3: Copy Organization ID
- Return to Settings > API Keys list
- Hover over your organization name in the Organization column
- Click the copy icon
- Store the Organization ID (starts with
org_...)
Step 4: Setup Webhook
- Navigate to Settings > Webhooks
- Click Add Endpoint
- Configure:
- Endpoint URL:
https://api.ezadlive.com/nash/webhook/[YOUR_SLUG] - Subscribe to Events: courier_location.updated, courier_name.updated, delivery.* (all)
- Endpoint URL:
- Click Create
- Click the eye icon to reveal the webhook secret
- Store the Webhook Secret (starts with
whsec_...)
Part 2: Configuration in EZAD Website
- Log into your website admin panel
- Navigate to Website Settings > General Settings > Fulfillment Options
- Locate the Nash section and click Configure
Step 1: Enter Webhook Secret
Under Webhook Setup > Webhook secret, paste the webhook secret (starts with whsec_...)
Step 2: Enable Nash Integration
Toggle the switch to Enable Nash integration
Step 3: Add API Key
- Click Manage Keys
- Click Add API Key
- Key Name: Production (or Live)
- API Key Value: Paste the API key (starts with
nsh-...) - Click OK
Step 4: Select API Key
In the API Key dropdown, select the Production key
Step 5: Enter Organization ID
In the Nash's Org ID field, paste the Organization ID (starts with org_...)
Step 6: Configure Fallback Options
Review the Fallback dimensions/weight option and configure according to your site's needs
Step 7: Set Pickup Instructions (Optional)
Set specific pickup instructions to help Nash couriers identify where to collect orders
Technical Details
Nash Enabled States
| Value | Meaning |
|---|---|
NULL |
Requesting access |
0 |
Disabled |
1 |
Enabled |
Security Features
- Webhook signature verification using HMAC-SHA256
- Redis-based replay attack prevention with 5-minute window
Order Management
- Automatic order shipping status updates based on Nash webhook notifications
- Real-time quote retrieval during checkout
Nash Dashboard
Nash separates concepts in their portal into two distinct areas: Orders and Deliveries. Understanding this distinction is important when viewing activity in the Nash dashboard.
Orders vs Deliveries in Nash
Orders in Nash represent draft/pre-dispatch records. These could be:
- A cart order (customer still shopping)
- A placed order (customer submitted but not yet paid)
- A paid order that hasn't been fulfilled yet in our admin
Deliveries in Nash represent orders that have been:
- Placed by the customer
- Paid for successfully
- Fulfilled (completed) in our admin panel
Only after fulfillment completion does a Nash Order become a Nash Delivery.
Nash Delivery - Cutoff Times & Delivery Windows
This section explains the timing rules that determine whether an order qualifies for same-day or next-day delivery via Nash.
Cutoff Time for Same-Day Delivery
6:00 PM EST (11:00 PM UTC)
- Orders placed BEFORE 6:00 PM EST get same-day delivery (if delivery window allows)
- Orders placed AT OR AFTER 6:00 PM EST get next-day delivery
Why 6:00 PM EST?
The 6:00 PM cutoff is based on store operational constraints:
- Stores close at 9:00 PM EST
- Staff needs 2 hours to prepare orders after they are placed
- Nash drivers need 1 hour to arrive at the store and pickup the order
- Result: Orders placed after 6:00 PM don't have enough time (3 hours needed) before store closing at 9:00 PM
Delivery Window
2:00 PM - 9:00 PM EST (14:00 - 21:00 UTC) - All Nash deliveries are scheduled within this window.
Business Rules
| Rule | Value | Description |
|---|---|---|
| Store Preparation Time | 2 hours | Time needed after order placed for staff to prepare |
| Nash Driver Pickup Time | 1 hour | Time for Nash driver to arrive at store |
| Minimum Delivery Window | 3 hours | Minimum time needed for Nash to complete delivery |
| Store Operating Hours | Until 9:00 PM EST | Store closing time (latest possible pickup) |
Same-Day Delivery Scenarios
| Order Time (EST) | Delivery Window | Notes |
|---|---|---|
| 10:00 AM EST | 2:00 PM - 9:00 PM same day | Full window available |
| 12:00 PM EST | 1:00 PM - 4:00 PM same day | Adjusted window |
| 1:00 PM EST | 2:00 PM - 9:00 PM same day | Within cutoff, full window |
Next-Day Delivery Scenarios
| Order Time (EST) | Delivery Window | Reason |
|---|---|---|
| 5:00 PM EST | Next day 2:00 PM - 9:00 PM | Less than 3-hour window remaining today |
| 6:00 PM EST | Next day 2:00 PM - 9:00 PM | At or after cutoff time |
| 8:00 PM EST | Next day 2:00 PM - 9:00 PM | After cutoff time |
Technical Details
- UTC Conversion: All times are converted to UTC for Nash API communication
- Future Scheduling: Delivery windows are always scheduled in the future
- Window Adjustments: Late same-day orders may have adjusted (shorter) delivery windows
- Automatic Next-Day: If less than 3 hours remain in the delivery window, the order is automatically scheduled for next day
POS System Pointers
Important information about POS systems, data quality, and the EZ-AD Report Card.
POS System Overview
The POS system is the central source of truth for a store's product data. Each store's POS contains thousands of items unique to that specific location.
Examples of POS Scale
| Store | Products in POS |
|---|---|
| Valleywide | ~100,000 products |
| Agway | 90,000+ products |
| Agway Warehouse | 70,000+ additional SKUs |
This highlights how critical POS integration is for accurately representing a store's full inventory online.
POS Data Quality & the EZ-AD Report Card
Common POS Data Challenges
Most stores do not maintain high-quality data within their POS systems. Common issues include:
- Incorrect or missing quantities
- Poor or inconsistent taxonomy
- Missing or low-quality images
- Incomplete titles and descriptions
- Missing specifications (weight, dimensions, etc.)
EZ-AD Data Report Card
The report card:
- Breaks down all POS data fields
- Clearly identifies data pain points
- Highlights gaps in inventory accuracy, taxonomy, images, and product content
All data fields can be exported, allowing the store to:
- Upload or improve images
- Enhance titles and descriptions
- Correct product attributes
EZ-AD also provides solutions for the majority of common POS data issues.
Product Data Definitions
| Term | Description |
|---|---|
| UPC | Universal Product Code - commonly known as a barcode; approximately 12 digits |
| SKU | Stock Keeping Unit - store's internal identifier for products |
| Taxonomy | Product categorization structure (Department > Class > Fineline) |
Supported POS Systems
Overview of EZCommerce POS integration capabilities and supported systems.
Directly Supported POS Systems
We have built-in integration support for the following POS systems:
- Epicor Eagle
- Rock Solid Classic
- Rock Solid Max
- Spruce
- Transact
- QuickBooks
Custom Integration Options
For Unsupported POS Systems
Even if a client uses a POS system not on our supported list, we can still integrate IF their system can:
- Export inventory files
- Generate inventory reports
- Export data in Excel format
- Export data in CSV format
Integration Process
When clients have alternative POS systems that meet the export requirements:
- Client exports their inventory data in compatible format (Excel/CSV)
- We integrate the exported data into our system
- Client's website stays synchronized with their inventory
Key Benefits
- Flexible Integration: Not limited to only directly supported systems
- Data Compatibility: Can work with any system that exports standard formats
- Inventory Synchronization: Maintains accurate product and stock information
- Expanded Client Base: Can serve clients regardless of their POS choice
POS System Categories
Overview of POS systems categorized by integration ease and reliability.
POS systems are divided into two main categories based on how easy it is to retrieve, manage, and troubleshoot data.
Best POS Systems
These systems make it easy to retrieve POS data, integrate it cleanly into the website, and quickly debug issues:
| POS System | Integration Method | Notes |
|---|---|---|
| Epicor Eagle | EZ-AD Data Syncer | Industry standard, well-supported |
| RockSolid Classic | EZ-AD Data Syncer | Very easy to work with, minimal complexity |
| TransAct | Direct API | One-click data sharing, minimal customer effort |
Other POS Systems
These systems are more complex, slower, and more dependent on the store to maintain data accuracy:
| POS System | Challenges | Recommendation |
|---|---|---|
| RockSolid Max / Spruce | More complex setup | Workable but requires more effort |
| Custom POS Systems | Variable compatibility | Requires custom development |
| Paladin | Difficult to debug, limited support | Not preferred - use alternatives if possible |
RockSolid Classic Details
- Fully supported by EZ-AD Data Syncer
- Reliable and automated data flow
- Low maintenance requirements
- One of the most straightforward integrations available
TransAct Details
- Uses direct API integration
- Customer initiates data sharing with a simple button click
- Data flows automatically into the system
- Minimal customer effort required
- No complex setup procedures
EZ-AD Data Syncer
Primary method for retrieving POS data from stores.
Overview
- Developed and maintained by EZ-AD
- Most preferred method when supported by the store's POS system
- Provides automated, reliable data synchronization
How It Works
- Installation: Installed directly on the store's POS computer
- Data Collection: Automatically pulls data from the POS system
- Data Transfer: Sends data to EZ-AD on a scheduled basis
- Automation: Minimal manual intervention required
When to Use
- This is the preferred method when the store's POS system supports it
- Provides the most reliable and consistent data flow
- Reduces manual work for store staff
Benefits
- Automated data retrieval
- Scheduled synchronization
- Direct integration with POS
- Maintained by EZ-AD team
TransAct Direct Feed
For stores running TransAct POS systems, a specialized direct feed integration is available:
- Direct API/AI-based calls to retrieve data
- Integrated directly with the website platform
- Real-time or near real-time data synchronization
Custom POS Systems
For custom POS systems not supported by the Data Syncer:
- Daily custom report generation required
- Manual uploads to FTP
- Store staff must be trained on report generation
- Consistent daily maintenance required
Epicor Eagle Integration
Guide for Epicor Eagle POS integration.
Category: Best POS System
Epicor Eagle can be used with or without Compass, each requiring different approaches.
Without Compass (Recommended)
- Data retrieved easily using EZ-AD Data Syncer
- Minimal setup required
- Straightforward integration process
With Compass
- Requires additional setup steps
- Issues must often be debugged first
- Best approach: Contact Epicor technical support first
- Once resolved, data retrieval proceeds smoothly
Epicor Eagle Browser & Compass Data Export Setup
Complete setup guide for configuring EZ-Commerce data exports from Epicor Eagle via Compass.
Overview
This document provides a detailed, step-by-step setup guide for configuring EZ-Commerce data exports from Epicor Eagle via Compass. It is intended for store operators, IT staff, or onboarding specialists who need to reliably send complete inventory data to EZ-Commerce.
Primary Objectives
- Ensure a full, unfiltered product data dump
- Export the correct columns required for pricing, inventory, and promotions
- Automate delivery using scheduled exports
- Send data securely via Email or FTP
- Verify successful execution and troubleshoot issues
0. Launching Epicor Compass & Eagle Browser
This process begins inside Epicor Compass, using a built-in tool called Eagle Browser. Eagle Browser is the environment where queries, schedules, and export tasks are created.
Step 1: Open Epicor Compass
- Locate the Epicor Compass icon on your desktop or system menu
- Double-click Epicor Compass to launch the application
- Log in using your assigned Compass credentials
Step 2: Open Eagle Browser
- Once logged in, navigate to Eagle Browser
- This may be accessible via a menu option, toolbar icon, or shortcut within Compass
- Double-click Eagle Browser to open it
Eagle Browser is where you will:
- Build and edit queries
- Preview data exports
- Create schedules
- Configure address book contacts
- Build tasks using the Task Wizard
1. Query & Data Preview Setup
Purpose of the Query
The query determines what data is exported and which columns are included. This is the foundation of the entire sync process.
Refresh & Data Validation
- Click Refresh to generate a preview of the report
- A warning pop-up should appear before the preview loads
Why the Pop-Up Matters
This pop-up confirms that the system is attempting to load a large, complete dataset. If the pop-up does not appear, it typically means:
- The store has fewer than ~15,000 products (uncommon), or
- Filters were accidentally applied to the query
Best Practice
- Always send all products, even discontinued or zero-quantity items
- Click Stop once the preview appears to review columns without fully loading the dataset
2. Key Columns to Export
These columns have been investigated and confirmed as the best baseline export for EZ-Commerce.
| Category | Columns |
|---|---|
| Core Product Identification | Item Number (SKU/UPC), Manufacturer Number, Vendor Name/Vendor ID |
| Pricing & Promotions | Regular Retail Price, Promo Price, Promotion Start/End Date, Manufacturer Replacement Cost |
| Inventory & Measurement | Quantity on Hand, Unit of Measurement, Physical Location |
| Product Lifecycle | Date Product Was Added, Discontinued Flag, Date Last Sold |
3. Adding or Modifying Columns
Accessing Additional Fields
- Go to Dimensions > Item
- Browse available attributes or use the Search tool
- Double-click a field to add it to the export
Common Optional Additions
- Category / Department
- Brand
- Size or Weight
- Tax Class
- Cost Variants
4. Saving the Query
When to Save
Save the query whenever columns are added or removed, column order is changed, or any configuration is adjusted.
Save Options
- Save as New Query: Recommended for testing or backups
- Overwrite Existing Query: Acceptable once configuration is finalized
Tip: Keep one untouched "master" query for recovery purposes.
5. Creating a Schedule
The schedule controls when and how often data is sent.
Recommended Schedule Strategy
- Frequency: Daily
- Start Time: ~1 hour after store opens
- Avoid first hour of operation (high POS activity)
Example Configuration
- Store opens: 8:00 AM
- Schedule start: 9:00 AM
Repeat Settings
Use Repeat Every to send updates throughout the day:
- Every 3 hours (high-volume or promo-heavy stores)
- Every 6 hours (standard)
- Every 12 hours (low-change environments)
End Time & Dates
- Set an end time near store closing (e.g., 9:00 PM)
- Effective Date: Today (or go-live date)
- Name clearly (e.g., EZ-Commerce Schedule)
6. Address Book Setup (Delivery Configuration)
The Address Book defines where the data is sent.
Creating a Contact
- Open Address Book
- Add New Contact
- Name: EZ-Commerce (or similar)
Delivery Methods
| Method | Best For | Setup |
|---|---|---|
| Stores under ~70,000 items | Paste EZ-Commerce-provided email address | |
| FTP | Stores with 70,000+ items | Enter FTP path, username, and password provided by EZ-Commerce |
7. Task Creation (Data Export Engine)
The task connects the query, schedule, and delivery destination.
Task Wizard Setup
- Open Task Wizard
- Create New Task
- Name example: EZ-Commerce Data Dump
Task Settings
- Action: Export Data
- Select the saved query
- Format: CSV ONLY (Excel will truncate large datasets)
- File Name: Auto-generated (recommended)
Final Review
Confirm correct query, CSV format, correct destination, and correct schedule. Optionally click Execute Now to test immediately, then click Finish to activate.
8. Monitoring & Troubleshooting
Task Execution Queue
- Shows current activity: Pending, In Progress
- Task disappears from queue when successful
- "Last Run" timestamp appears under Scheduled Tasks
Common Issues
| Issue | Solution |
|---|---|
| Task does not appear in queue | Task was not submitted correctly |
| Task stuck for 20-30 minutes | Possible company or system-level issue - contact support |
| Missing data | Check for filters in query, confirm pop-up appears on refresh |
Key Takeaways
- Always get the 15,000+ item pop-up - indicates full dataset export
- Use CSV format only - Excel corrupts large datasets
- Schedule during off-peak hours - avoid first hour of operation
- Monitor Task Execution Queue - verify successful completion
- Use FTP for large inventories (70,000+ items)
Epicor Eagle Browser - Export Columns Reference
Comprehensive list of available export columns in Eagle Browser for EZ-Commerce integration.
Overview
When setting up data exports in Eagle Browser (Epicor Compass), there are numerous columns available for selection. This reference provides a comprehensive list of available columns that can be exported to EZ-Commerce.
Core Available Columns
Product Identification
| Column | Description |
|---|---|
| Item Number | Primary SKU/Product ID |
| UPC Code | Universal Product Code/Barcode |
| MFG Part # | Manufacturer's part number |
Product Information
| Column | Description |
|---|---|
| Item Description | Product description/title |
| Manufacturer | Product manufacturer/brand |
Pricing Fields
| Column | Description |
|---|---|
| Retail Price | Standard selling price |
| Loyalty Promo Price | Promotional price for loyalty program members |
| Promotion Price | General promotional/sale price |
| Replacement Cost | Cost to replace/reorder the item |
Inventory & Stock
| Column | Description |
|---|---|
| Quantity on Hand | Current available inventory |
| Selling U/M | Unit of Measurement (each, pack, case, etc.) |
| Location | Physical storage location in store |
Product Organization/Taxonomy
| Column | Description |
|---|---|
| Department Code | Department identifier code |
| Department Name | Department name (e.g., Hardware, Plumbing) |
| Class Code | Product class identifier |
| Fineline Code | Most specific product category code |
| Fineline Name | Most specific product category name |
Vendor Information
| Column | Description |
|---|---|
| Vendor Code | Vendor/supplier identifier |
| Vendor Name | Vendor/supplier name |
Product Status & Dates
| Column | Description |
|---|---|
| Date Added | When product was first added to inventory |
| Date of Last Sale | Most recent sale date |
| Date Old Promo End | When previous promotion ended |
| Discontinued Item | Flag indicating if product is discontinued |
Extended Available Columns
Beyond core product data, Eagle Browser provides access to many additional fields:
Sales & Transaction Data
- Salesperson - Sales associate information
- Clerk - Clerk/cashier information
- Sales Detail - Detailed sales transaction data
- Terminal - POS terminal information
Financial & Accounting
- G/L Budget Code - General Ledger budget codes
- G/L Company - General Ledger company information
- G/L Account - General Ledger account details
- Gift Card Transaction - Gift card related transactions
Document Management
- A/R Document - Accounts Receivable document references
- Detail Document # - Detailed document numbers
- Header Document # - Header document numbers
Inventory Management
- ITR Inventory - Inventory transfer records
- Vendor - Additional vendor-related fields
Column Selection Strategy
Required Core Columns (Always Include)
- Item Number
- UPC Code
- Item Description
- Retail Price
- Quantity on Hand
Highly Recommended Columns
- Promotion Price
- Loyalty Promo Price
- Manufacturer
- Vendor Name
- Department Name
- Discontinued Item
- Selling U/M
- Date Added
- Date of Last Sale
Optional Enhancement Columns
- Replacement Cost
- Location
- Department Code
- Class Code
- Fineline Code
- Fineline Name
- Vendor Code
- Date Old Promo End
How to Find Additional Columns
Using the Search Function
- In Eagle Browser, go to Dimensions > Item
- Use the Search tool to look for specific data types
- Search terms might include: "Sales", "GL", "Document", "Inventory", "Vendor"
Browsing Available Fields
- Browse through all available dimensions and categories
- Many fields may not be immediately obvious but can provide valuable data
- Double-click any field to add it to your export query
Best Practices
- Export ALL available columns when possible - EZ-Commerce can utilize additional data
- Include discontinued items - Helps maintain data consistency
- Include zero-quantity items - Important for upcoming inventory
- Explore beyond basic fields - Advanced columns may provide unexpected value
Technical Considerations
- More columns = larger file sizes (consider FTP for extensive exports)
- Some advanced columns may be empty depending on POS configuration
- Always test with Refresh to ensure full dataset loads (15,000+ item popup)
Integration Benefits
Having access to all these columns allows EZ-Commerce to provide:
- Enhanced Product Matching - Multiple identifiers improve accuracy
- Better Categorization - Department/Class/Fineline data helps organize products
- Pricing Intelligence - Multiple price points enable sophisticated pricing strategies
- Inventory Management - Location and U/M data improves fulfillment
- Product Lifecycle Tracking - Date fields help identify trends and inactive products
- Advanced Analytics - Sales, GL, and document data enable deeper business insights
- Multi-location Support - ITR and location data supports complex inventory scenarios
Epicor Eagle Browser - Boilerplate Templates
Pre-configured export templates for standardized data exports from Epicor Eagle Browser.
Overview
To improve efficiency and standardize data exports, we maintain pre-configured boilerplate templates with commonly used column combinations. These templates can be quickly deployed during client setup, reducing configuration time and ensuring consistent data quality.
Standard Boilerplate Templates
1. Essential Export (Minimal)
Use Case: Small stores, basic e-commerce needs, or technical limitations
| Property | Value |
|---|---|
| Columns | Item Number, UPC Code, Item Description, Retail Price, Quantity on Hand, Department Name, Manufacturer, Discontinued Item |
| File Size | Smallest |
| Setup Time | ~5 minutes |
| Best For | <30K items, simple inventory |
2. Standard Export (Recommended)
Use Case: Most common deployment, balanced data vs. performance
| Property | Value |
|---|---|
| Columns | Item Number, UPC Code, Item Description, Retail Price, Loyalty Promo Price, Promotion Price, Quantity on Hand, Selling U/M, Department Name, Department Code, Class Code, Manufacturer, Vendor Name, Location, Date Added, Date of Last Sale, Discontinued Item, Replacement Cost |
| File Size | Medium |
| Setup Time | ~10 minutes |
| Best For | 30K-70K items, standard retail operations |
3. Complete Export (Maximum Data)
Use Case: Large stores, advanced e-commerce features, data analytics
| Property | Value |
|---|---|
| Columns | All Standard Export columns PLUS: Fineline Code, Fineline Name, Vendor Code, Date Old Promo End, MFG Part #, G/L Account, Sales Detail, ITR Inventory |
| File Size | Large (requires FTP) |
| Setup Time | ~15 minutes |
| Best For | 70K+ items, multi-location, advanced features |
4. Multi-Location Export
Use Case: Stores with multiple locations or warehouses
| Property | Value |
|---|---|
| Columns | All Standard Export columns PLUS: Location, Store, ITR Inventory, G/L Company, Detail Document #, Header Document # |
| File Size | Large |
| Setup Time | ~12 minutes |
| Best For | Chain stores, multiple warehouses |
5. Promo-Heavy Export
Use Case: Stores with frequent sales, loyalty programs, complex pricing
| Property | Value |
|---|---|
| Columns | All Standard Export columns PLUS: Loyalty Promo Price, Promotion Price, Date Old Promo End, Gift Card Transaction, Sales Detail, Clerk, Terminal |
| File Size | Medium-Large |
| Setup Time | ~12 minutes |
| Best For | Promotional retailers, loyalty programs |
6. Accounting Integration Export
Use Case: Stores needing detailed financial/accounting data integration
| Property | Value |
|---|---|
| Columns | Standard Export columns PLUS: G/L Budget Code, G/L Company, G/L Account, A/R Document, Detail Document #, Header Document #, Replacement Cost, Vendor Code |
| File Size | Large |
| Setup Time | ~15 minutes |
| Best For | Advanced accounting integration needs |
Implementation Process
Step 1: Template Selection
During client consultation, determine:
- Store size (item count)
- Business complexity
- E-commerce goals
- Technical capabilities
- File transfer preferences
Step 2: Template Deployment
- Access saved queries in Eagle Browser
- Select appropriate boilerplate template
- Customize if needed (add/remove specific columns)
- Test with Refresh (verify 15K+ popup appears)
- Save as client-specific query
Step 3: Template Customization
Common modifications:
- Remove columns not used by client
- Add store-specific fields discovered through search
- Adjust based on available data in their system
- Optimize for file size constraints
Template Management
Naming Convention
EZC_Essential_TemplateEZC_Standard_TemplateEZC_Complete_TemplateEZC_MultiLocation_TemplateEZC_PromoHeavy_TemplateEZC_Accounting_Template
Version Control
- Version 1.0: Initial template creation
- Version 1.1: Minor column additions/removals
- Version 2.0: Major template restructuring
Efficiency Benefits
Time Savings
- Setup Time Reduction: 60-80% faster than custom configuration
- Standardization: Consistent exports across clients
- Error Reduction: Pre-tested column combinations
- Training: New team members can deploy quickly
Quality Improvements
- Proven Combinations: Templates based on successful deployments
- Complete Data: Ensures important fields aren't missed
- Performance Optimized: Column combinations tested for export speed
- Compatibility: Verified to work with EZ-Commerce processing
Customization Guidelines
When to Customize Templates
- Client has unique data requirements
- Specific POS modules enabled/disabled
- File size constraints (email vs. FTP limitations)
- Performance considerations (very large inventories)
- Integration requirements (specific accounting/sales needs)
Safe Customization Practices
- Start with closest template (don't build from scratch)
- Add columns incrementally (test after each addition)
- Document customizations (for future reference)
- Verify data population (ensure custom columns have data)
- Test full export cycle (query → schedule → task → delivery)
Deployment Checklist
Pre-Deployment
- Client requirements assessed
- Appropriate template selected
- Template customized if needed
- Test refresh shows 15K+ popup
- Query saved with clear name
Post-Deployment
- Schedule configured appropriately
- Delivery method tested (email/FTP)
- Task execution verified
- Client notified of completion
- Template performance documented
Epicor Compass - Data Transfer Methods
Guide for Email vs FTP data transfer configuration in Epicor Compass.
Overview
Epicor Compass provides two primary methods for transferring data exports to EZ-Commerce: Email delivery and FTP transfer. The choice depends primarily on file size and inventory volume.
Transfer Method Selection
| Method | Recommended For | Advantages | Considerations |
|---|---|---|---|
| 70,000 products or less | Quick setup, immediate delivery | File size limitations | |
| FTP | More than 70,000 products | Handles large files reliably, no practical size limits | Requires FTP credentials from EZ-Commerce |
Task Wizard Setup Process
Step 1: Launch Task Wizard
- Open Task Wizard in Eagle Browser
- Click Create New Task
Step 2: Basic Task Information
- Name: Enter descriptive task name (e.g., "EZ-Commerce Data Export")
- Description: Enter task description (e.g., "Daily inventory export for EZ-Commerce integration")
- Click Next
Step 3: Select Export Action
- Select Export Data
- Click Next
Step 4: Query Selection
- Select the Query: Choose your configured export query
- Use boilerplate template or custom query
- Ensure query includes all required columns
- Click Next
Step 5: Export Options
- Leave the next window blank (default settings)
- Click Next
Step 6: File Format Configuration
- File Format: Select CSV File
- File Name: Select Auto-Generate
- Click Next
Email Delivery Setup
Address Book Configuration
- Go to Address Book
- Click Add New Contact
- Contact Information:
- Name: EZ-Commerce (or descriptive name)
- Email: Enter EZ-Commerce provided email address
- Method: Email
- Click Save
Task Wizard Email Selection
- In Task Wizard delivery step
- Select Email delivery method
- Choose EZ-Commerce contact from address book
- Confirm email address is correct
- Click Add
FTP Transfer Setup
Address Book FTP Configuration
- Go to Address Book
- Click Add New Contact
- Contact Information:
- Name: EZ-Commerce FTP (or descriptive name)
- Method: FTP Transfer
- FTP Details (provided by EZ-Commerce):
- FTP Path: [EZ-Commerce FTP server path]
- Username: [Provided username]
- Password: [Provided password]
- Port: [If specified]
- Check "Use Passive Mode" (bypasses firewalls)
- Click Test Connection (if available)
- Click Save
Task Wizard FTP Selection
- In Task Wizard delivery step
- Select FTP Transfer delivery method
- Choose EZ-Commerce FTP contact from address book
- Confirm FTP settings are correct
- Click Add
Task Monitoring
Selected Task Tab
After completing Task Wizard setup:
- Navigate to Selected Task tab
- View Active Tasks: Shows all configured export tasks
- Monitor Progress: Task status (Pending, In Progress, Completed), Last execution time, Next scheduled run
- Query Progress: Real-time status of data export
Task Execution Queue
- Check Task Execution Queue for active transfers
- Status Indicators:
- Pending: Task queued for execution
- In Progress: Currently transferring data
- Completed: Task finished successfully
Best Practices
File Size Planning
- Estimate inventory size before choosing method
- Test with sample export to gauge file size
- Consider growth: Plan for inventory expansion
Email Delivery Best Practices
- Verify email addresses before scheduling
- Test manual execution before automating
- Monitor email delivery for bounces/failures
- Have backup FTP method ready if files grow
FTP Transfer Best Practices
- Test FTP connection during setup
- Use passive mode to avoid firewall issues
- Verify credentials with EZ-Commerce team
- Monitor transfer completion in execution queue
- Document FTP settings for future reference
General Recommendations
- Schedule during off-peak hours (avoid first hour of operation)
- Monitor first few executions to ensure reliability
- Document configuration for troubleshooting
- Set up alerts for failed transfers (if available)
Common Issues & Solutions
Email Delivery Issues
| Problem | Solution |
|---|---|
| Email bounces or not received | Verify email address, check spam filters |
| File too large for email | Switch to FTP transfer method |
FTP Transfer Issues
| Problem | Solution |
|---|---|
| Connection timeouts | Verify passive mode enabled, check firewall settings |
| Authentication failures | Verify username/password with EZ-Commerce team |
| Files not appearing in destination | Check FTP path, verify write permissions |
General Issues
| Problem | Solution |
|---|---|
| Task stuck in execution queue | Contact support if >30 minutes, check system resources |
| CSV files corrupted | Ensure CSV format selected (not Excel), check query filters |
File Size Guidelines
| Product Count | Recommended Method |
|---|---|
| Under 50K products | Email works well |
| 50K-70K products | Email acceptable but monitor performance |
| Over 70K products | Switch to FTP |
Setup Checklist
Pre-Setup
- Inventory size assessed (email vs FTP decision)
- EZ-Commerce contact information obtained
- FTP credentials tested (if using FTP)
- Query configured and tested
During Setup
- Task Wizard completed with correct settings
- CSV format selected (not Excel)
- Auto-generate file naming enabled
- Address book contact configured correctly
- Delivery method tested
Post-Setup
- Task appears in Selected Task tab
- Manual execution tested successfully
- Schedule configured appropriately
- First automated execution monitored
- EZ-Commerce confirms data receipt
TransActPOS Integration
Overview of TransActPOS as a complete business retail system.
Overview
TransActPOS is a comprehensive business retail system designed to manage all retail needs, from mom-and-pop hardware stores to full-scale home centers complete with lumber, rental, and service departments.
Core Mission
Your inventory is your single greatest investment. TransActPOS helps you get the most out of every dollar spent by providing comprehensive inventory management and operational tools.
Key Features
Inventory Management
Purchase Order Module
- Order from multiple vendors
- Calculated minimums and recommended reorders
- Build and receive orders through handheld application
- Streamlined ordering process
Adding Inventory
- Electronic catalog integration
- Auto-adding through point-of-sale
- Handheld application support
- Purchase order integration
Inventory Maintenance
- Electronic catalog price updates
- Mass price changes
- Vendor promotions management
- Special pricing controls
Point of Sale
Simple and Easy-to-Use Interface
- Multiple item entry methods
- Various payment method acceptance
- Customer-specific request handling
- Quote generation
- Sales order creation
- Special order management
Rental Module
- Rental calendar with bird's-eye view of all rentals
- Rental wizard for simplified processes
- Complete rental inventory tracking
Service Module
- Track inventory tied up in service
- Warranty billing management
- Seamless integration with rental items
- Complete service workflow support
Multi-Store Management
- Manage multiple stores and locations
- Share customers across locations
- Unified inventory management
- Consolidated reporting across all locations
Reporting & Communication
- Various reporting features
- Automated daily reports
- Email delivery of reports
- Customizable favorite reports
- Customer invoice and statement email delivery
Support & Maintenance
- 24/7 US-based trained staff available
- Comprehensive maintenance plan included
- Automatic program updates
- Training services
- Online Help Center access
- Video library access
Scalability
TransActPOS accommodates businesses of all sizes:
- Small mom-and-pop operations
- Large home centers
- Any level of computer-based POS experience
- Any breadth of inventory
Inventory & Catalog Integration
Overview of how EZ-Commerce integrates in-store inventory and supplier catalogs.
EZ-Commerce integrates both in-store inventory and supplier catalogs to give customers a complete view of product availability—without requiring phone calls or in-person visits.
Dual Inventory Sources
EZ-Commerce connects to:
- Point-of-Sale (POS) systems to pull in-store inventory quantities
- Examples: RockSolid, Epicor, Paladin, Transact
- Supplier catalog feeds to display special-order items from distribution warehouses
- Examples: True Value, Orgill, Do It Best, Ace, Emery Jensen
This approach allows customers to see what is available in-store and what can be special ordered from suppliers in one unified shopping experience.
Department Mapping for Catalogs
POS categories and supplier catalog categories are aligned using the Department Mapping Tool.
This mapping:
- Matches supplier categories to existing POS departments
- Ensures consistent navigation across all product sources
- Creates a seamless browsing experience for customers
Whether products come from in-store inventory or a supplier catalog, shoppers experience a single, unified category structure.
How Supplier Catalogs Work
Supplier catalog feeds are refreshed every 24 hours to maintain accurate warehouse availability.
Catalog feeds include:
- Product titles
- SKUs
- Descriptions
- Images
- Warehouse availability
Local distribution warehouses are linked directly to the website, allowing customers to see which items are available for special order at the supplier level.
Special Order Products & Settings
Products that are not stocked in-store but are available from suppliers are displayed as special-order items.
Key features include:
- Clear labeling on product pages to indicate special-order status
- Displayed fulfillment timelines based on supplier availability
- Configurable Special Order Settings within the admin panel
Stores can tailor fulfillment expectations to match their supply chain. For example:
- If supplier trucks arrive weekly, the site can reflect a 7-day special-order fulfillment estimate
This transparency sets accurate customer expectations and improves the ordering experience.
Supplier Catalog Integration
How supplier catalog data integrates with your e-commerce store.
Dual Data Sources
| Source | Description | Display |
|---|---|---|
| POS System | In-stock items physically in your store | Shows real-time quantity levels and your actual pricing |
| Supplier Catalogs | Products available from supplier warehouse | Marked as "Special Order Available" with expected fulfillment timeline |
Result: Customers see complete catalog—both in-stock and available-to-order items.
Supported Suppliers
- True Value
- Do It Best
- Emery Jensen
- Orgill
- Ace Hardware
How It Works
Catalog Feeds
- Updated every 24 hours
- Includes: SKUs, titles, descriptions, images, warehouse availability, quantities
Warehouse Linking
- Each supplier has multiple regional warehouses
- EZCommerce links to your local supplier warehouse
- Customers only see products actually available from your supplier
Example: Florida store linked to Florida True Value warehouse sees only products available from that specific warehouse.
Department Mapping Integration
In the Department Mapping Tool:
- Some departments come from POS system
- Some departments come from supplier catalogs
- Customer sees unified navigation (doesn't know or care about source)
Example
- "Hardware" → From POS
- "Paint & Sundries" → From True Value catalog
- "Plumbing" → From POS
- "Electrical" → From True Value catalog
Special Order Timeline
Location: Website Settings → General Settings → Special Order Items
Customization
- Adjust timeline based on your delivery schedule
- If you receive deliveries once/week: Set to "5-7 business days"
- If you receive deliveries twice/week: Set to "3-5 business days"
- In-stock items: Fulfilled immediately
- Special orders: Must be ordered from supplier, wait for delivery, then fulfill
EJD Ship to Home Setup
EZ-E account setup and onboarding procedure for EJD Ship to Home.
Overview
EJD Ship to Home allows stores to route eligible ecommerce orders directly to EJD for fulfillment.
1. Store Sign-Up & Internal Request
- Store signs up for EJD Ship to Home
- Sales team submits a request to the EJD Team to create an EZ-E account
- Store is added to DB-Table EZ-E tracking
- EJD team receives daily email reminder to complete setup
2. Onboarding Team – Initial Store Contact
Purpose
To obtain the correct EJD portal credentials required for Ship to Home setup.
Required Credentials
- The main EJD portal admin credentials
Key Notes
- Creation of EZ-E credentials by the EJD team can take several weeks
- Onboarding team can monitor progress in the EJD portal once admin credentials are provided
3. Verifying EZ-E Account Creation
- Log in to the EJD portal using the admin credentials provided by the store
- If the EZ-E account is active, it will be visible immediately upon login
- No external confirmation is required once the EZ-E credentials appear in the portal
4. Request to Enable EJD Ship to Home in Ecommerce
Once the EZ-E account is confirmed as active:
- Submit a request in the Ecommerce Customer Issues channel
- Tag Dusky and request enabling EJD Ship to Home for the store
- Wait for confirmation from Dusky before proceeding
5. Store Setup Session – Enabling EJD Ship to Home
Step-by-Step Configuration
- Log in as Admin
- Navigate to Website Settings
- Click EJ Ship to Home
- Click Enable
- Log in using EZ-E credentials (username and password)
6. Order Routing Options
| Option | Description |
|---|---|
| Manual Fulfillment Decision | Orders arrive and the store decides whether to fulfill internally or allow EJD to fulfill |
| Automatic Routing to EJD | Orders are automatically sent to EJD for order processing |
7. Handling Fee Configuration
Decision Points
- Stores must decide whether the handling fee should be enabled or disabled during setup
- This is a store decision and should be explicitly confirmed during the onboarding session
- Typically, stores apply a handling fee of 10–15%
Administration
Documentation coming soon.
Microsoft Authenticator Setup
Instructions for setting up Microsoft Authenticator for secure admin access.
Overview
For secure admin access, all team members must set up Microsoft Authenticator on their mobile phone for two-factor authentication.
Setup Instructions
- Download Microsoft Authenticator app on your phone
- Configure the app for your admin account during the login setup process
- Use the authenticator for secure admin login verification
Security Benefits
- Adds an extra layer of security beyond just username/password
- Protects admin accounts from unauthorized access
- Required for all administrative functions
Admin Portal Access
Guide for accessing the admin portal and login process.
Login Process
- Navigate to steveland.ezad.io
- Click "Sign In" or add
/adminto URL - Enter credentials (email format: steveland@ezadtv.com)
- Complete two-factor authentication via Authenticator app
- Access admin dashboard
Security Requirements
- Keep credentials secure
- Ensure 2FA is set up before first login
- Use company email format for all accounts
Admin Portal During Training Sessions
Login Steps
- Log in to the Admin Portal using the customer's credentials
- This reassures the customer that their login credentials work correctly
Best Practice
- Keep the EZ-Commerce Setup Page open during training
- This allows for real-time changes if needed during the session
Purpose
- Validates customer access
- Provides immediate troubleshooting capability
- Builds customer confidence in the system
Subaccounts & Permissions
Guide for creating individual logins for employees with role-based access.
Purpose
Create individual logins for employees with role-based access to the admin portal.
How to Create
- Go to Subaccounts in admin portal
- Click "Add User"
- Enter employee information
- Set permission levels
Example Scenarios
| Role | Access Level |
|---|---|
| Order Fulfillment Staff | Orders page only |
| Marketing Staff | Landing page editor only |
| Manager | Full access |
| Part-Time Staff | Limited specific modules |
Product Editor
Guide for editing product information and understanding data behavior.
Overview
The Product Editor allows editing of detailed product information pulled from the POS or catalog.
Recommended Access Method
The best way to access the Product Editor is NOT from the Admin side. Instead:
- Click on the product from the Customer side
- Select the Edit Product button available on each product
- This automatically opens the Product Editor with that specific product loaded
Alternative Access Methods
- Enter a SKU directly in the Product Editor search
- Click the Edit button directly from the product page
Editable Options
The following can be modified in the Product Editor:
- Product images
- Promotional price
- Quantity
- Messaging
- Online-only price
Data Behavior Rules
- Fields are continuously updated from the POS unless a custom entry is made
- Any changes made in Product Editor:
- Affect only the website
- Do NOT update the POS
Refresh Button Behavior
- Toggling the Refresh button will revert all changes back to the data from the store's POS system
- Make sure the store knows this option exists
Product Images
- If a product has no image, the store can upload one
- Tip: Searching the product UPC on Google will usually return an image (about 9 out of 10 times)
- If not found, the store must upload an image manually
Pricing Rules
Restricted Fields
Never change these fields:
- SKU (grayed out)
- Warehouse Cost (grayed out)
Online-Only Price Strategy
Recommended as a strategy to:
- Drive online traffic
- Encourage online ordering
- Better control fulfillment timing
- Manage in-store traffic flow
Business Benefits
Using online-only pricing helps retailers:
- Differentiate online vs. in-store experience
- Create incentives for digital adoption
- Optimize operational efficiency
Brand Settings
Guide for managing brand visibility and settings.
Default Behavior
All brands are shown by default, based on data from the POS.
Critical Data Flow Understanding
| Direction | Behavior |
|---|---|
| POS to Website | Changes made in the POS reflect on the website |
| Website to POS | Changes made on the website do NOT sync back to the POS |
Recommended Enabled Settings
Always ensure the following are toggled Enabled:
- Brands Filter in Search Results
- Show Brand Logos
Brand Visibility Controls
Quick Visibility Toggle
Anything the customer does not want visible can be disabled with one click.
Brand Logos
- The system supports logo uploads for brands
- Larger, well-known brands (e.g., Helmet, Weber) typically already have logos
- Smaller vendors usually do not have logos initially and may require manual uploads
Assign Alias Feature
The Assign Alias feature serves two key purposes:
- Renaming brands for cleaner or more consistent display names
- Combining multiple brands under a single brand category
How Aliasing Works
- When brands share an alias, they are automatically grouped together on the customer side
- This helps consolidate related brands, clean up brand organization, and improve customer navigation
Brand Naming and Grouping
- To rename or group brands, use Assign Alias
- This page directly correlates with the Brand Page on the website
- Any Admin Portal changes are reflected immediately on the site
Special Use Case
If a store wants products visible but the brand hidden from the Brand page:
Solution: Disable the brand but keep Show Products enabled.
Real-Time Updates
All changes made in the Admin Portal are reflected immediately on the website.
Department Mapping
Guide for organizing products using the hierarchical category structure and department mapping functionality.
Category Hierarchy Structure
The product organization follows this hierarchy:
- Department (top level)
- Classes (sub-categories under departments)
- Fineline (most specific product categories)
Department Mapping Feature
Purpose
Department mapping allows stores to merge and organize their product categories for better customer navigation.
Key Functionality: Merging Departments with Aliases
- Problem: Stores may have multiple departments with the same or similar names
- Solution: Use department mapping to assign aliases
- Result: Customers see one unified category even though the store's backend has separate departments
SKU Settings Control
Within department mapping, you can adjust various settings for SKUs through the menu:
Product Visibility Controls
| Setting | Description |
|---|---|
| Hide Products | Remove specific products from customer view |
| Hide Prices | Display products without showing pricing information |
| Hide Messages | Suppress product messages or notifications |
Transaction Controls
| Setting | Description |
|---|---|
| Hide Ordering | Disable the ability to order certain products |
| Hide Shipping | Remove shipping options for specific items |
Pricing Controls
- Override Tax Rate: Set custom tax rates for specific products or departments
Website Option Settings
Key points about department mapping in website settings.
Initial Load Time
- Department Mapping may take some time to load initially
- Always inform the customer in advance so they don't get alarmed about the loading delay
Product Source Indicators
Each department will clearly indicate whether its products are loaded from:
- POS system, or
- Store catalogue
Empty Departments
- If there are no products listed under a department, it will be automatically hidden
- Always keep this in mind when reviewing departments with customers
Hiding Departments Correctly
To completely hide a department and its products from customers:
- Go to Settings
- Hide the department there
This process should always be clearly explained to the store.
Assign Alias Feature
The Assign Alias option is used to:
- Combine multiple departments, or
- Give a department a different display name
This is an important feature to highlight to customers.
Department Management
Guide for managing department visibility and settings.
Department Data Source
All departments are pulled directly from the POS. Hiding departments or assigning aliases does not change POS data.
Website Display Best Practices
- Hide any departments not meant for public viewing
- This improves site clarity and user experience
Department Settings Options
From the settings menu, you can:
- Hide quantity and price
- Disable ordering
- Disable delivery and shipping
- Merge or rename categories using Assign Alias
Training Recommendation
During training, hide any departments the customer agrees should not be visible. This helps personalize the experience and improves site clarity.
About Us Page Management
Guide for editing the About Us section.
Demonstration Process
- Show how easy it is to update the About Us section using a blog-style editor
- Ask the customer three questions about their store
- Enter the answers live during the training session
Editor Options
Full Editor
Blog-style editor with full formatting capabilities.
Simplified Editor
- Available directly on the About Us Admin Page if needed
- Streamlined interface for basic updates
Training Benefits
- Live demonstration builds confidence
- Interactive approach engages the customer
- Shows real-time publishing capabilities
Fulfillment Options Configuration
Guide to configuring order fulfillment options in the admin portal.
Location: Admin Portal → Website Settings → General Settings → Fulfillment Options
1. In-Store Pickup (Curbside)
- Customer orders online
- Store packs order
- Customer picks up at store
- Custom messages and disclaimers available
Best for: Immediate needs, saving shipping costs, driving foot traffic
2. Local Delivery
Features
- Zip code restrictions (control delivery areas)
- Custom delivery fees per zip code
- Scheduled delivery dates (customer chooses via date picker)
- Custom messaging
Best for: Defined local areas, high-value orders, customer loyalty
3. Shipping
Option A: Flat Rate Shipping
- Fixed fees set by store
- Price for first item + price for additional items
- Maximum product limit per cart
- Store handles carrier relationships and labels
Best for: Simple setups, predictable costs
Option B: Advanced Shipping Module
| Detail | Information |
|---|---|
| Cost | $75/month add-on |
| Carrier Integration | UPS, USPS, FedEx accounts |
| Rate Calculation | Real-time based on weight/dimensions |
| Customer Options | Select carrier and speed at checkout |
| Label Generation | Generate from admin portal |
Best for: National shipping, high volume, exact cost pass-through
Automated Notifications
- Email and SMS sent automatically (included free)
- Notifications for: order received, being packed, fulfilled, ready
- Sent to both store and customer
- No manual communication needed
Landing Page Editor
Guide to using the drag-and-drop landing page editor and AI widgets builder.
Location: Website Settings → Landing Page
No coding required. Fully visual interface.
Available Widgets
- Image Carousel - Homepage slideshow
- Product Swipers - Scrollable product rows
- Testimonial Widgets - 5-star reviews
- Subscription Widget - Email collection
- Image Swiper - Images with clickable URLs
- HTML Editor - Custom content for advanced users
- File Editor - Upload documents/media
- Shop by Department Buttons
- Recently Viewed Products
- Store Information - Address, phone, hours
- Contact Us form
AI Widgets Builder
Purpose: Automatically organize products for homepage display
Two Methods
| Method | Process | Time Required |
|---|---|---|
| Manual Selection | Search by product name, department, or brand; add products one by one | 30-40+ minutes |
| AI Auto-Population | Click AI Widgets Builder; AI scans inventory and organizes products by category | ~1 minute |
Result: Push organized product displays to landing page with one click.
Header & Footer Customization
Header (Top Navigation)
- Edit main navigation links
- Reorder links
- Add external links (social media, manufacturer sites)
- Create custom page links
- Build dropdown menus
- Create mega menus (multi-column dropdowns)
Footer
- Add documents (policies, returns)
- Add links (social, resources)
- Add images (partner logos, certifications)
Order Management and Payment Processing
Complete guide to order fulfillment workflow and payment options.
Customer Checkout Journey
- Add products to cart (automatic tax calculation)
- Check out as guest or login
- Choose fulfillment method
- Enter contact/delivery information
- Complete payment
Store receives instant email/SMS notification with fulfillment link.
Order Management Tabs
Location: Admin Portal → Orders
| Tab | Description |
|---|---|
| Outstanding Orders | New orders waiting to be fulfilled |
| Ready Orders | Packed and ready for pickup/delivery/shipping |
| Completed Orders | Delivered, shipped, or picked up |
| Canceled Orders | Canceled by customer or staff |
Order Fulfillment Process (Step-by-Step)
- Process Order - Click to begin
- Claim Order - Assigns order to your user account (prevents duplicate work)
- Review Details - Verify customer info, SKUs, pricing, taxes, totals
- Charge Card - Finalize payment (only authorization collected at checkout)
- Can cancel and auto-refund if needed
- Fraud Check - AI evaluates order for fraudulent risk
- Shipping Label - Create/print label (if applicable)
- Print Receipt with UPC Barcode - For POS entry
- Enter in POS - Scan barcode, select "Alternate Tender"
Why Alternate Tender? Payment already collected online; this records sale and updates inventory without duplicate charge.
- Confirm POS Entry - Critical step to avoid inventory discrepancies
- Mark as Fulfilled - Customer gets instant notification
- Final Verification - Verify ID/card for shipping orders (if applicable)
- Update Status - Mark as shipped/delivered/picked up → moves to Completed Orders
Payment Options
Option 1: Pay In Store (Reservation System)
- Customer places order online
- No payment collected
- Customer pays at pickup
- Best for: Traditional in-person payment, local customers
Option 2: Pay Online (Standard E-commerce)
- Customer pays at checkout
- Supported Processors:
- Stripe (most common, easiest)
- PayPal
- Authorize.net
Language Selection Configuration
Configuration guide for Benjamin Moore store language options.
Overview
Benjamin Moore stores can configure the language conversions available to customers. They can independently enable or disable options to customize the language selector dropdown.
Configuration Process
Access Path
Admin side → Benjamin Moore Plugin → Language Selection
Steps to Configure
- Navigate to the Admin panel
- Go to Benjamin Moore Plugin section
- Select Language options
- Choose the preferred languages for the website
Available Language Options
| Language | Description |
|---|---|
| English US | English (United States) |
| English CA | English (Canada) |
| French | French language support |
| Spanish | Spanish language support |
Feature Benefits
For Store Administrators
- Customization Control: Select only relevant languages for their market
- Simplified Management: Enable/disable languages based on customer base
- Localized Experience: Tailor language options to geographic location
- Flexible Configuration: Independent control over each language option
For Customers
- Relevant Options: Only see language choices applicable to the store
- Improved User Experience: Cleaner language selector dropdown
- Regional Accuracy: Appropriate language variants (US vs CA English)
- Accessibility: Better support for multilingual customers
Use Cases
Regional Stores
- US-focused stores: Enable only English US
- Canadian stores: Enable English CA and French
- Border regions: Enable multiple relevant languages
- Spanish markets: Include Spanish option for Hispanic customers
Technical Considerations
- Ensure content is available in enabled languages
- Minimal impact on site performance
- Improved SEO for enabled languages
- Customer language choice maintained throughout session
Security
Documentation coming soon.
Scammer Prevention & Email Verification
Essential security practices to protect against scammers and verify legitimate communications.
Scammer Detection Rules
Email Verification - First Line of Defense
- Check the email domain: Legitimate emails come from
@ezadtv.com - If email is NOT from @ezadtv.com: Definitely a scam
- If email IS from @ezadtv.com: Could still potentially be a scam - use additional verification
Secondary Verification Steps
When receiving emails that appear to be from team members:
- Confirm with the sender directly - Contact the person through official channels to verify they sent the email
- Remember our communication standards:
- EZ-AD TV team primarily uses Slack for internal communication
- Any emails or texts (including WhatsApp) should be treated with extra caution
- When in doubt, verify through Slack
Red Flags - Information Requests to Watch For
Scammers typically ask for:
- Phone numbers
- Account details
- Gift cards (this is the new preferred scam method)
- Credit cards have strong security measures
- Scammers have "upgraded" to requesting gift cards instead
- Never send gift cards based on email requests
Best Practices
- Use your discretion when evaluating information requests
- When in doubt, verify through official channels (Slack)
- Never provide sensitive information via email without confirmation
- Report suspicious emails to your supervisor immediately
Clients & Partners
Documentation coming soon.
EZAD's Big Clients (Cooperatives)
The core market that EZ-Commerce handles is hardware stores, which are part of large cooperatives (Co-ops) such as Ace Hardware, Do It Best, and True Value.
What is a Co-op?
A cooperative is a business model in which a group of independent stores or businesses collectively own and operate the organization. In the hardware retail industry, Co-ops provide their member stores with purchasing power, marketing resources, and product catalogs. The stores themselves own a share of the cooperative and have a say in its operations.
The Big Five Companies
True Value
- Mindset: Progressive minded
- Structure: Co-op and distributor
- Branding: Has a brand; stores have the option to use True Value branding or not
- Independence: Many TV stores maintain an independent presence and branding in their community
- Supply: Roughly 80% of products are supplied by TV
- Special Feature: Bargain of the Month - Can be auto-injected on the EZ E-commerce platform
Do It Best
- Mindset: Conservative mindset
- Structure: Co-op and distributor
- Branding: Has a brand; stores have the option to use Do It Best branding or not
- Supply: Roughly 80% of products are supplied by Do It Best
- Business Impact: 60-80% of our business comes from Do It Best
- Special Feature: Price Buster - Can be auto-injected on the EZ E-commerce platform
Ace Hardware
- Mindset: Franchise minded
- Structure: Co-op and distributor
- Branding: Stores MUST use Ace Hardware branding
- Requirements: Ace requires stores to have Ace sign on the building
- Supply: Roughly 90% of products are supplied by Ace Hardware (regulated)
- Brand Control: Ace is strict at controlling the integrity of their brand
- Special Features: Red Hot Buys and Instant Savings
Emery Jensen
- Structure: National distributor
- Background: Ace launched Emery Jensen Distribution to serve non-Ace independent retailers
- Formation: Created after acquisitions of The Emery-Waterhouse Company (Feb 2014) and Jensen Distribution Services (Jan 2015)
Orgill
- Mindset: Traditionally minded
- Structure: Wholesaler
- Branding: They don't have a brand
- Supply Variation: Many stores only order 10%-30% of their inventory from Orgill
- Special Feature: Door Busters - Can be auto-injected into EZ e-commerce platform
- Partnership: We are a vendor of Orgill
Benjamin Moore (BM)
- Structure: Operates through independently owned distributors and authorized retailers
- Services: Localized expertise, product availability, dealer training, premium paints
- Partnership: We are a preferred vendor for BM
Franchise vs Co-op
| Franchise | Co-op |
|---|---|
| Operates under larger company's brand and guidelines | Owned and operated by a group of individuals for mutual benefit |
| Must follow stricter corporate rules | Store owners have freedom to run operations as they see fit |
| Less freedom and control over store operations | Greater purchasing power and ability to tailor to local market |
| Franchise owners don't own the trademark | Individual stores own a share of the company |
Billing Advantages
Direct Billing to Cooperatives
EZ-AD can bill directly to each of these 5 big companies. This is a HUGE DEAL because:
- 95% guaranteed payment fulfillment when billing directly to the cooperative
- Avoids issues with individual store billing, credit card chargebacks, and payment complications
How Direct Billing Works
- When a store signs up, they provide the Sales team with a Billing Number
- When the Billing team generates an invoice, it goes to the associated big company (not the individual store)
- The big company pays the bill
- The store gets an invoice showing EZ-AD services
True Value Co-op
Overview of True Value partnership and characteristics.
Partnership Status
As of February 3rd, 2021, EZ-AD has official partnership with True Value to build an ecommerce platform together.
Company Characteristics
- True Value is both a Co-Op and a distributor
- Has their own brand
- Progressive minded approach
Store Branding
- Stores have the option to use True Value branding or not
- Many True Value stores maintain an independent presence/branding in their community
- Roughly 80% of products are supplied by True Value in True Value stores
Bargains of the Month
Special Promotion Program:
- True Value's highlighted special is called "Bargains of the Month"
- We can auto-inject the Bargains of the Month into any True Value store ez-commerce platform
- Stores can choose to participate or not
- Participating stores adopt the pricing for Bargains products to be highlighted on their website front page
Do It Best Co-op
Overview of Do It Best (DIB) cooperative and business characteristics.
Company Characteristics
- Do It Best is both a Co-Op and a distributor
- Has their own brand
- Conservative minded approach
Flexible Branding Policy
- Stores have the option to use Do It Best branding or not
- Many Do It Best stores maintain independent presence/branding in their community
- Do It Best gives the most freedom to their co-owners
- Has the least amount of regulation regarding enforcing their branding
- Roughly 80% of products are supplied by Do It Best
Business Impact
- 60-80% of our business comes from Do It Best
- You'll get a lot of objection when pitching to Do It Best stores
- General culture: they are nice people, usually willing to have the conversation
PriceBuster Program
Special Promotion Program:
- Do It Best's main highlighted specials are called "PriceBusters"
- We can auto-inject the PriceBusters into any Do It Best store ez-commerce platform
- Stores can choose to participate in PriceBusters or not
- Participating stores adopt the pricing for PriceBuster products to be highlighted on website front page
Emery Jensen Distribution
Overview of Emery Jensen Distribution as a national distributor.
Company Profile
- National distributor
- Launched by Ace to serve non-Ace independent retailers
Formation History
Formed after strategic acquisitions:
- The Emery-Waterhouse Company (February 2014)
- Jensen Distribution Services (January 2015)
Both companies continue to operate independently under the Ace Wholesale Holdings umbrella.
Distributor Overview
Overview of major distributors and co-op vs franchise characteristics.
Co-op vs Franchise
Main characteristic of a co-op compared to a franchise: Stricter corporate rules apply to franchises.
Store Count by Major Distributors
| Distributor | Store Count |
|---|---|
| Do It Best (DIB) | 4,000 locations |
| True Value | 3,000 locations |
| Orgill | 8,000-10,000 locations |
| Ace Hardware | 5,000 stores |
Key Considerations
- Make sure any company you choose works with these franchise companies
- Billing and payment processing is a big deal
- Over 5,000 vendors sell hardware products
Support & Troubleshooting
Documentation coming soon.
Common Issues & Solutions
Troubleshooting guide for common e-commerce issues.
Issue 1: POS Crashes Due to More Than 20K SKUs
Problem: This issue occurs when trying to retrieve data for Rock Solid Max/Spruce with large inventories.
Solution:
- Select items with less than 20k SKUs
- Get in touch with ECI to map the Cloud Drive on your PC
- Copy the generated reports and add them to FileZilla
Video: Isaac walks through the issue and solution
Issue 2: Data Syncer Failed
Video: Isaac explains the Data Syncer failure issue
Issue 3: Wrong Items Added in Compass Data Retrieval
Problem: When you mistakenly add wrong items in Compass Data Retrieval.
Video: Kevin explains the debugging process
Issue 4: How to Create a Subdomain
Video: Kevin explains the subdomain creation process
Issue 5: How to Create AR/Contractor Account
Video: AR/Contractor account creation tutorial
Issue 6: Alt Tenders
To streamline reconciliation and accurately track transactions, please create an alternate tender specifically for online orders.
Options:
- If you have an extra unused tender in your POS, repurpose it for online sales
- Otherwise, create a new tender by contacting your POS provider
Issue 7: How to Scrap Rentals
Process:
- Ask in the E-commerce_Customer_Issue channel for our developer (currently Muhammad Nouman) to scrap the rental data
- Provide the business ID and specific rental requirements
Improving Feature Testing
Guidelines for comprehensive testing of EZ-Commerce features.
Current Testing Challenges
The onboarding process and other key features in ez-commerce need more comprehensive testing to ensure a smooth user experience.
Areas Requiring Enhanced Testing
1. Onboarding Process
- Initial Setup Flow: Test the complete journey from account creation to first product sync
- POS System Integration: Verify connectivity with various POS systems during onboarding
- Wholesaler/Brand Catalog Connection: Test catalog syncing and product import processes
- User Interface Navigation: Ensure intuitive flow through setup steps
- Error Handling: Test recovery mechanisms when setup steps fail
2. Core Feature Testing Improvements Needed
POS Integration Testing
- Connection stability across different POS systems
- Data synchronization accuracy
- Real-time inventory updates
- Transaction processing
Catalog Management Testing
- Bulk product imports
- Product data accuracy
- Image handling and optimization
- Category mapping and organization
E-commerce Frontend Testing
- Cross-browser compatibility
- Mobile responsiveness
- Page load performance
- Search functionality
- Checkout process
Recommended Testing Improvements
1. Automated Testing Strategy
- Implement end-to-end testing for critical onboarding flows
- Set up integration tests for POS and catalog connections
- Add performance testing for large product catalogs
2. User Acceptance Testing
- Create standardized test scenarios for new retailers
- Develop testing checklists for different hardware store types
- Implement feedback collection during onboarding
3. Monitoring and Analytics
- Track onboarding completion rates
- Monitor common failure points
- Implement error logging for better debugging
Success Metrics
- Increased onboarding completion rate
- Reduced support tickets related to setup issues
- Faster time-to-value for new retailers
- Improved user satisfaction scores
Effective Client Communication
Guide for turning unhappy clients into happy ones.
1. Immediate Response Protocol
Listen First, React Second
- Acknowledge their frustration immediately
- Let them fully explain the issue without interruption
- Show empathy: "I understand how frustrating this must be for your business"
- Take ownership: Even if it's not directly your fault, own the resolution
Initial Response Framework
"Thank you for bringing this to our attention. I can see how this [specific issue]
is impacting your store operations, and I want to make this right for you.
Let me [specific action] to resolve this immediately."
2. Common Client Issues & Solutions
POS Integration Problems
Typical Complaint: "My POS isn't syncing properly, I'm losing sales!"
Response Strategy:
- Immediate acknowledgment of business impact
- Provide temporary workaround if available
- Give specific timeline for permanent fix
- Offer compensation if downtime was significant
Catalog Sync Issues
Typical Complaint: "My products aren't showing up online correctly"
Response Strategy:
- Screenshot/document the specific issues
- Explain what caused the problem (in simple terms)
- Fix the immediate issue
- Implement checks to prevent recurrence
Slow Support Response
Typical Complaint: "It takes too long to get help when I need it"
Response Strategy:
- Apologize for response time
- Explain current support improvements
- Provide direct contact information for urgent issues
- Set clear expectations for response times
3. The HEART Method for Unhappy Clients
| Letter | Action | Details |
|---|---|---|
| H | Hear Them Out | Listen actively, ask clarifying questions, don't interrupt |
| E | Empathize Genuinely | "I completely understand your frustration" |
| A | Apologize Sincerely | Take responsibility, don't make excuses |
| R | Resolve Quickly | Provide immediate action steps, give realistic timelines |
| T | Thank and Follow Up | Thank them, check back to ensure satisfaction |
4. Proactive Communication Strategies
Regular Check-ins
- Monthly "How are things going?" calls
- Proactive updates about new features that benefit their store type
- Seasonal business preparation support
Educational Approach
- Share best practices from similar hardware stores
- Provide training on underutilized features
- Send relevant industry updates
5. Escalation Guidelines
When to Escalate:
- Client threatens to leave the platform
- Issue affects multiple stores/customers
- Technical problem beyond first-level support
- Client requests refund or compensation
Claude Code Setup and Configuration
Guide for setting up Claude code integration and development environment.
Overview
This guide covers setting up Claude code integration and configuring repositories and database connections for the ez-commerce platform.
Prerequisites
- Access to ez-commerce development environment
- Valid Claude API credentials
- Database administrator privileges
- Git repository access
Claude Code Setup
1. Installation
# Install Claude SDK
npm install @anthropic-ai/sdk
# Or using yarn
yarn add @anthropic-ai/sdk
2. Environment Configuration
Create or update your .env file:
CLAUDE_API_KEY=your_claude_api_key_here
CLAUDE_MODEL=claude-3-sonnet-20240229
CLAUDE_MAX_TOKENS=4096
Repository Configuration
1. Clone the Repository
git clone https://github.com/your-org/ez-commerce.git
cd ez-commerce
2. Branch Structure
main- Production branchdevelop- Development branchfeature/*- Feature brancheshotfix/*- Hotfix branches
3. Git Configuration
# Set up git hooks
npm run setup:hooks
# Configure remotes
git remote add upstream https://github.com/ez-ad/ez-commerce.git
git remote add origin https://github.com/your-fork/ez-commerce.git
Database Configuration
1. Database Setup
-- Create ez-commerce database
CREATE DATABASE ezcommerce_dev;
CREATE DATABASE ezcommerce_test;
CREATE DATABASE ezcommerce_prod;
-- Create user and grant privileges
CREATE USER 'ezcommerce_user'@'localhost' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON ezcommerce_*.* TO 'ezcommerce_user'@'localhost';
FLUSH PRIVILEGES;
2. Connection Configuration
Update config/database.js with appropriate environment variables for development, test, and production configurations.
Data Validation: Email Addresses and Phone Numbers
Guide for validating customer data using AI-powered solutions and code implementations.
Overview
Maintaining clean, validated customer data is crucial for successful e-commerce operations. This guide covers methods to validate email addresses and phone numbers using AI-powered solutions and code implementations within EZ-Commerce.
Email Address Validation
1. Format Validation (Regex)
Basic email format validation using regular expressions:
// Basic email validation regex
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
function validateEmailFormat(email) {
return emailRegex.test(email);
}
// Enhanced email validation
const enhancedEmailRegex = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
2. Domain Validation
Check if email domains are valid and deliverable:
// Domain validation function
async function validateEmailDomain(email) {
const domain = email.split('@')[1];
try {
// Check MX records
const mxRecords = await dns.resolveMx(domain);
return mxRecords.length > 0;
} catch (error) {
return false;
}
}
3. Disposable Email Detection
Identify and filter temporary/disposable email addresses:
// Common disposable email domains
const disposableDomains = [
'10minutemail.com', 'tempmail.org', 'guerrillamail.com',
'mailinator.com', 'yopmail.com', 'temp-mail.org'
];
function isDisposableEmail(email) {
const domain = email.split('@')[1].toLowerCase();
return disposableDomains.includes(domain);
}
4. Real-time Email Verification APIs
async function verifyEmailWithAPI(email) {
const apiKey = 'your-api-key';
const response = await fetch(`https://api.emailjs.com/api/v1.0/email/${email}/verify`, {
headers: {
'Authorization': `Bearer ${apiKey}`
}
});
const result = await response.json();
return {
valid: result.valid,
deliverable: result.deliverable,
riskLevel: result.risk
};
}
Phone Number Validation
1. Format Standardization
Normalize phone numbers to a consistent format:
function normalizePhoneNumber(phone, countryCode = 'US') {
// Remove all non-numeric characters
const cleaned = phone.replace(/\D/g, '');
// Add country code if missing
if (countryCode === 'US' && cleaned.length === 10) {
return `+1${cleaned}`;
}
if (cleaned.length === 11 && cleaned.startsWith('1')) {
return `+${cleaned}`;
}
return cleaned.length >= 10 ? `+${cleaned}` : null;
}
2. Comprehensive Phone Validation
Using libphonenumber-js for robust validation:
import { parsePhoneNumber, isValidPhoneNumber } from 'libphonenumber-js';
function validatePhoneNumber(phone, countryCode = 'US') {
try {
const phoneNumber = parsePhoneNumber(phone, countryCode);
return {
valid: phoneNumber.isValid(),
formatted: phoneNumber.formatInternational(),
national: phoneNumber.formatNational(),
type: phoneNumber.getType(),
country: phoneNumber.country,
carrier: phoneNumber.carrier || 'Unknown'
};
} catch (error) {
return { valid: false, error: error.message };
}
}
3. SMS Deliverability Check
Verify if phone numbers can receive SMS (using Twilio Lookup API):
async function checkSMSDeliverability(phoneNumber) {
const apiKey = 'your-twilio-api-key';
const accountSid = 'your-account-sid';
try {
const response = await fetch(`https://lookups.twilio.com/v1/PhoneNumbers/${phoneNumber}?Type=carrier`, {
headers: {
'Authorization': `Basic ${Buffer.from(`${accountSid}:${apiKey}`).toString('base64')}`
}
});
const data = await response.json();
return {
valid: true,
carrier: data.carrier,
type: data.carrier.type, // mobile, landline, voip
smsCapable: data.carrier.type === 'mobile'
};
} catch (error) {
return { valid: false, smsCapable: false };
}
}
AI-Powered Data Validation with Claude
Batch Data Cleaning
Use Claude API for intelligent data cleaning:
async function cleanDataWithClaude(customerList) {
const prompt = `
Please clean and validate this customer data. For each entry:
1. Standardize email format
2. Normalize phone numbers to international format
3. Flag suspicious entries
4. Suggest corrections for obvious typos
Data: ${JSON.stringify(customerList)}
Return as JSON with validation status for each field.
`;
const response = await fetch('https://api.anthropic.com/v1/messages', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'your-claude-api-key'
},
body: JSON.stringify({
model: 'claude-3-sonnet-20240229',
max_tokens: 4000,
messages: [{ role: 'user', content: prompt }]
})
});
return await response.json();
}
Intelligent Duplicate Detection
AI-powered duplicate customer detection considering similar names, multiple emails, and address similarities.
EZ-Commerce Integration
Customer Import Validation
class EZCommerceValidator {
async validateCustomerImport(csvData) {
const results = [];
for (const row of csvData) {
const validation = {
rowIndex: row.index,
email: await this.validateEmail(row.email),
phone: await this.validatePhone(row.phone),
overall: 'valid'
};
if (!validation.email.valid || !validation.phone.valid) {
validation.overall = 'invalid';
}
results.push(validation);
}
return results;
}
}
Real-time Form Validation
// Real-time validation on form fields
document.getElementById('email').addEventListener('blur', async function() {
const email = this.value;
const isValid = await validateEmailFormat(email);
if (!isValid) {
this.classList.add('invalid');
showError('Please enter a valid email address');
} else {
this.classList.remove('invalid');
hideError();
}
});
Implementation Best Practices
Validation Pipeline
class DataValidationPipeline {
async process(customerData) {
const steps = [
this.formatValidation,
this.domainValidation,
this.disposableCheck,
this.aiEnhancement,
this.duplicateDetection
];
let result = customerData;
for (const step of steps) {
result = await step(result);
}
return result;
}
}
Performance Optimization
- Implement caching for repeated validations
- Use batch processing for large datasets
- Set up rate limiting for API calls
- Consider asynchronous processing for bulk operations
Integration with EZ-Commerce Features
Customer Management
- Validate data before storing in customer database
- Flag suspicious or invalid entries for manual review
- Automatically clean data during bulk imports
Marketing Campaigns
- Ensure email lists are clean before sending campaigns
- Validate phone numbers before SMS marketing
- Segment customers based on data quality scores
Order Processing
- Validate contact information during checkout
- Prevent orders with invalid contact details
- Improve delivery success rates
Monitoring and Reporting
Validation Metrics to Track
- Email validation success rate
- Phone number validation accuracy
- Data quality improvement over time
- Cost savings from reduced bounces/failed deliveries
Regular Audits
- Schedule periodic data quality audits
- Monitor for new disposable email domains
- Update validation rules based on new patterns
- Review and improve AI prompts for better accuracy
Peer Code Review Training Guide
Best practices for code reviews on the EZ-Commerce development team.
Why Code Reviews Matter
For EZ-Commerce Platform
- Maintain code quality across POS integrations and e-commerce features
- Prevent bugs in critical retail functionality (inventory, payments, orders)
- Knowledge sharing across team members
- Security consistency for payment processing and customer data
- Performance optimization for high-traffic retail sites
Business Impact
- Reduced production bugs = fewer client support issues
- Faster onboarding of new developers
- Consistent architecture across the platform
- Better maintainability of complex retail integrations
Code Review Process
1. Pre-Review Checklist (Author)
Before requesting a review:
- Code compiles without warnings
- All tests pass (unit, integration, e2e)
- Self-review completed
- Branch is up to date with main/develop
- Commit messages are clear and descriptive
- Related documentation updated
- No debugging code or commented-out blocks
- Security considerations addressed
2. Review Request Guidelines
- Small, focused PRs (ideally <400 lines of code)
- Clear description of what the change does
- Link to relevant tickets/issues
- Highlight areas needing special attention
- Include testing instructions if needed
3. Review Timeline Expectations
- Initial response: Within 4 hours during business hours
- Complete review: Within 24 hours for standard PRs
- Urgent/hotfix reviews: Within 1 hour
- Large feature reviews: Schedule dedicated time, break into smaller PRs
What to Look for in Code Reviews
1. Functionality & Logic
- Does the code do what it's supposed to do?
- Are edge cases handled properly?
- Is error handling comprehensive?
- Are there any logical flaws or bugs?
EZ-Commerce Specific Error Handling
// ❌ Bad: Generic error handling
try {
const response = await posApi.syncInventory(products);
return response;
} catch (error) {
console.log('Error occurred');
}
// ✅ Good: EZ-Commerce specific error handling
try {
const response = await posApi.syncInventory(products);
return response;
} catch (error) {
logger.error('POS inventory sync failed', {
posSystem: client.posSystem,
productCount: products.length,
clientId: client.id,
error: error.message
});
if (error.isRetryable) {
return await retryPosSync(products, client);
}
throw new PosIntegrationError('Inventory sync failed', error);
}
2. Code Quality & Standards
- Naming conventions are clear and consistent
- Functions are single-purpose and reasonably sized
- Code is readable without excessive comments
- DRY principle applied appropriately
- SOLID principles followed
Code Style Example
// ❌ Poor naming and structure
function process(d, t) {
if (t == 'pos') {
if (d.items) {
d.items.forEach(i => {
if (i.qty > 0) {
// ... nested code
}
});
}
}
}
// ✅ Clear naming and structure
async function syncProductsWithPosSystem(productData, targetSystem) {
validateProductData(productData);
const activeProducts = filterActiveProducts(productData.items);
const syncResults = await Promise.all(
activeProducts.map(product => syncSingleProduct(product, targetSystem))
);
return formatSyncResults(syncResults);
}
3. Security Considerations
- Input validation and sanitization
- SQL injection prevention
- XSS protection
- Authentication/authorization checks
- Sensitive data handling
// ✅ Good: Input validation for EZ-Commerce APIs
async function updateProductPrice(productId, newPrice, clientId) {
// Validate inputs
if (!isValidProductId(productId)) {
throw new ValidationError('Invalid product ID format');
}
if (!isValidPrice(newPrice) || newPrice < 0) {
throw new ValidationError('Invalid price value');
}
// Authorization check
const hasPermission = await checkClientProductAccess(clientId, productId);
if (!hasPermission) {
throw new AuthorizationError('Client cannot access this product');
}
// Use parameterized queries
const result = await db.query(
'UPDATE products SET price = $1 WHERE id = $2 AND client_id = $3',
[newPrice, productId, clientId]
);
return result;
}
4. Performance Considerations
- Database query efficiency
- N+1 query problems
- Memory usage for large datasets
- API response times
- Caching strategies
// ❌ N+1 Query Problem
async function getProductsWithCategories(clientId) {
const products = await Product.findAll({ where: { clientId } });
for (let product of products) {
product.category = await Category.findById(product.categoryId);
}
return products;
}
// ✅ Optimized Query
async function getProductsWithCategories(clientId) {
const products = await Product.findAll({
where: { clientId },
include: [{ model: Category }]
});
return products;
}
How to Give Effective Feedback
Feedback Tone and Style
- Be constructive, not critical
- Explain the "why" behind suggestions
- Provide alternatives when pointing out problems
- Acknowledge good code when you see it
- Ask questions instead of making demands
Feedback Examples
| Type | Poor | Good |
|---|---|---|
| Issue | "This is wrong." | "This approach might cause issues with large product catalogs. Consider using pagination to avoid memory issues, similar to the inventory sync module." |
| Naming | "Bad naming." | "Could we use a more descriptive name? Something like calculateDiscountedPrice would make it clearer for future maintainers." |
| Positive | N/A | "Great job handling the edge case where the POS system returns null inventory data. This will prevent the sync failures we've seen before." |
Categorizing Feedback
- MUST FIX: Security issues, bugs, breaking changes
- SHOULD FIX: Code quality, performance issues, maintainability
- CONSIDER: Suggestions, alternative approaches, minor improvements
- IDEA: Future enhancements, architectural considerations
How to Receive Code Review Feedback
Mindset for Authors
- Feedback is about the code, not about you personally
- Every reviewer is trying to help improve the codebase
- Ask for clarification if feedback isn't clear
- Thank reviewers for their time and insights
- Learn from every review
Good Responses
- "Great catch! I'll add the authorization check."
- "I see your point about performance. Let me implement pagination."
- "Could you clarify what you mean by 'more defensive'? An example would help."
- "Thanks for the suggestion. I implemented it in commit abc123."
Poor Responses to Avoid
- "This works fine."
- "It's not my fault the requirements changed."
- "This is how we've always done it."
- "The tests pass, so it's good."
EZ-Commerce Specific Guidelines
1. POS Integration Code Reviews
- Error handling for external API calls
- Data transformation between POS and EZ-Commerce formats
- Retry logic for network failures
- Logging for troubleshooting client issues
- Rate limiting compliance with POS system APIs
2. E-Commerce Frontend Reviews
- Mobile responsiveness (hardware stores have mobile customers)
- Performance on slow connections
- Accessibility compliance
- Cross-browser compatibility
- SEO considerations for product pages
3. Database Migration Reviews
- Backwards compatibility during deployment
- Performance impact on large datasets
- Rollback strategy if needed
- Index creation for new queries
- Data integrity preservation
4. Payment Processing Reviews
- PCI compliance for payment data handling
- Error handling for failed transactions
- Logging (without sensitive data)
- Testing with sandbox environments
- Refund/void functionality
Common Pitfalls to Avoid
Reviewer Pitfalls
- Nitpicking style issues instead of focusing on logic
- Rewriting code in your style instead of suggesting improvements
- Approving without actually reviewing
- Being overly critical of junior developers' code
- Not explaining the reasoning behind suggestions
Author Pitfalls
- Making PRs too large to review effectively
- Not testing changes thoroughly before requesting review
- Arguing with every piece of feedback
- Not providing context for complex changes
- Rushing to merge without addressing feedback
Review Checklist Template
For Reviewers
Functionality:
- Code does what it's supposed to do
- Edge cases are handled
- Error handling is comprehensive
- Logic is correct and efficient
Quality:
- Code is readable and well-structured
- Naming is clear and consistent
- Functions are appropriately sized
- No code duplication without good reason
Security:
- Input validation present
- SQL injection prevented
- Authentication/authorization checked
- Sensitive data handled properly
Performance:
- Database queries are efficient
- No obvious performance bottlenecks
- Appropriate use of caching
- Memory usage is reasonable
EZ-Commerce Specific:
- POS integration follows error handling patterns
- Client data isolation maintained
- Logging follows company standards
- API responses follow established formats
Mobile Responsive Design Best Practices
Best practices for building mobile-responsive EZ-Commerce applications.
Why Mobile-First for Hardware Retailers?
- 73% of customers research products on mobile before visiting stores
- Contractors and DIYers often shop while at job sites
- Quick product lookups and price checks are common mobile behaviors
- Local inventory searches happen frequently on mobile devices
Mobile-First CSS Architecture
Start with mobile styles and add larger screen styles progressively:
/* Mobile-first approach - Start with mobile styles */
.product-grid {
display: grid;
grid-template-columns: 1fr; /* Single column on mobile */
gap: 1rem;
padding: 1rem;
}
.product-card {
background: white;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
padding: 1rem;
}
/* Then add styles for larger screens */
@media (min-width: 768px) {
.product-grid {
grid-template-columns: repeat(2, 1fr);
padding: 2rem;
}
}
@media (min-width: 1024px) {
.product-grid {
grid-template-columns: repeat(3, 1fr);
}
}
@media (min-width: 1280px) {
.product-grid {
grid-template-columns: repeat(4, 1fr);
}
}
EZ-Commerce Standard Breakpoints
| Breakpoint | Min Width | Target Devices |
|---|---|---|
sm |
640px | Large phones |
md |
768px | Tablets |
lg |
1024px | Desktop |
xl |
1280px | Large desktop |
2xl |
1536px | Extra large screens |
CSS Custom Properties for Responsive Design
:root {
/* Spacing scale */
--spacing-xs: 0.25rem;
--spacing-sm: 0.5rem;
--spacing-md: 1rem;
--spacing-lg: 1.5rem;
--spacing-xl: 2rem;
/* Typography scale */
--text-sm: 0.875rem;
--text-base: 1rem;
--text-lg: 1.125rem;
--text-xl: 1.25rem;
--text-2xl: 1.5rem;
}
/* Responsive adjustments */
@media (min-width: 768px) {
:root {
--spacing-md: 1.25rem;
--spacing-lg: 2rem;
}
}
Product Grid Layout with CSS Grid
/* Responsive product grid */
.products-container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 1.5rem;
padding: 1rem;
max-width: 1400px;
margin: 0 auto;
}
.product-card {
display: flex;
flex-direction: column;
background: white;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.product-card:hover {
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
.product-image {
aspect-ratio: 1;
object-fit: cover;
width: 100%;
}
Responsive Typography System
/* Fluid typography that scales with screen size */
h1 {
font-size: clamp(1.75rem, 4vw, 3rem);
line-height: 1.2;
}
h2 {
font-size: clamp(1.5rem, 3vw, 2.25rem);
line-height: 1.3;
}
h3 {
font-size: clamp(1.25rem, 2.5vw, 1.875rem);
line-height: 1.4;
}
p {
font-size: clamp(1rem, 1.5vw, 1.125rem);
max-width: 65ch; /* Optimal reading length */
}
/* Increase line height on smaller screens */
@media (max-width: 767px) {
body {
line-height: 1.7;
}
}
Touch-Friendly Interface
Button and Interactive Element Sizing
/* Touch-friendly button sizes */
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 44px; /* Apple's recommended touch target size */
min-width: 44px;
padding: 0.75rem 1.5rem;
border: none;
border-radius: 8px;
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: all 0.2s ease;
}
/* Larger buttons on mobile for easier tapping */
@media (max-width: 767px) {
.btn {
min-height: 48px;
padding: 1rem 1.75rem;
font-size: 1.1rem;
}
}
/* Touch-friendly form inputs */
.form-input {
min-height: 44px;
padding: 0.75rem 1rem;
border: 2px solid #e5e7eb;
border-radius: 8px;
font-size: 1rem;
}
.form-input:focus {
outline: none;
border-color: #3b82f6;
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
Responsive Navigation
/* Responsive navigation with Flexbox */
.navbar {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem;
background: white;
}
.nav-menu {
display: none; /* Hidden on mobile */
}
.nav-menu.active {
display: flex;
position: absolute;
top: 100%;
left: 0;
right: 0;
flex-direction: column;
background: white;
z-index: 1000;
}
.hamburger {
display: block;
}
/* Desktop navigation */
@media (min-width: 768px) {
.nav-menu {
display: flex !important;
position: static;
flex-direction: row;
}
.hamburger {
display: none;
}
}
Images & Media Optimization
/* Responsive images */
.product-image {
width: 100%;
height: auto;
object-fit: cover;
}
/* Lazy loading with blur placeholder */
.image-container {
position: relative;
background-color: #f3f4f6;
}
.image-container img {
opacity: 0;
transition: opacity 0.3s ease;
}
.image-container img.loaded {
opacity: 1;
}
/* Responsive video */
.video-container {
position: relative;
padding-bottom: 56.25%; /* 16:9 aspect ratio */
height: 0;
overflow: hidden;
}
.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
Hardware Retail Specific Considerations
Product Specification Tables
/* Responsive tables for product specs */
.specs-table {
width: 100%;
border-collapse: collapse;
}
@media (max-width: 767px) {
.specs-table thead {
display: none;
}
.specs-table tr {
display: block;
margin-bottom: 1rem;
border: 1px solid #e5e7eb;
border-radius: 8px;
padding: 1rem;
}
.specs-table td {
display: flex;
justify-content: space-between;
padding: 0.5rem 0;
border-bottom: 1px solid #f3f4f6;
}
.specs-table td::before {
content: attr(data-label);
font-weight: 600;
}
}
Add to Cart Button
/* Sticky add-to-cart for mobile */
@media (max-width: 767px) {
.product-actions {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: white;
padding: 1rem;
box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);
z-index: 100;
}
.add-to-cart-btn {
width: 100%;
min-height: 52px;
font-size: 1.1rem;
}
/* Add padding to body for fixed button */
body {
padding-bottom: 80px;
}
}
Performance Best Practices
- Use responsive images with srcset and sizes attributes
- Lazy load images and non-critical content
- Minimize CSS and JavaScript for initial load
- Use CSS containment for complex components
- Test on real devices and slow connections
Testing Checklist
Devices to Test
- iPhone (various sizes)
- Android phones (various sizes)
- iPad and Android tablets
- Desktop at various viewport sizes
What to Check
- Touch targets are at least 44x44px
- Text is readable without zooming
- Forms are easy to fill out on mobile
- Navigation works on all screen sizes
- Images load appropriately for screen size
- Page performs well on 3G connections
Clean Code Standards & Best Practices
Clean code standards and best practices for EZ-Commerce development.
Naming Conventions
Variables and Functions
Use descriptive, meaningful names that clearly indicate purpose and context.
// Poor naming
const d = new Date();
const u = users.filter(x => x.a);
const calc = (p, t) => p * t;
// Good naming
const currentDate = new Date();
const activeUsers = users.filter(user => user.isActive);
const calculateTotalPrice = (price, taxRate) => price * taxRate;
EZ-Commerce Specific Examples
// Generic naming (avoid)
const data = await api.get('/products');
const result = processData(data);
// EZ-Commerce specific naming (preferred)
const productCatalog = await posIntegrationApi.fetchProducts(clientId);
const synchronizedProducts = synchronizeWithPosSystem(productCatalog);
Boolean Variables
Use is/has/can/should prefixes:
const isProductActive = product.status === 'active';
const hasInventoryData = product.inventory && product.inventory.quantity > 0;
const canProcessPayment = paymentGateway.isAvailable();
const shouldSyncWithPos = client.posIntegration.enabled;
Collections and Arrays
Use plural nouns or descriptive collection names:
const products = await Product.findAll();
const activeClients = clients.filter(client => client.isActive);
const pendingOrders = orders.filter(order => order.status === 'pending');
Constants
Use UPPER_SNAKE_CASE for constants:
const MAX_PRODUCT_SYNC_BATCH_SIZE = 1000;
const DEFAULT_POS_TIMEOUT_MS = 30000;
const PAYMENT_GATEWAY_RETRY_ATTEMPTS = 3;
const INVENTORY_UPDATE_INTERVAL_MINUTES = 15;
Function Design Principles
Single Responsibility Principle
Each function should do one thing well.
// Bad: Function doing too much
async function processOrder(orderData) {
// Validates, calculates, updates inventory, sends email, syncs POS
// All in one function...
}
// Good: Broken into focused functions
async function processOrder(orderData) {
validateOrderData(orderData);
const orderTotal = calculateOrderTotal(orderData.items);
const processedOrder = await createOrderRecord(orderData, orderTotal);
await Promise.all([
updateInventoryForOrder(orderData.items),
sendOrderConfirmationEmail(orderData.customerEmail, processedOrder),
syncOrderWithPosSystem(processedOrder)
]);
return processedOrder;
}
Function Length
Keep functions small and focused (ideally under 20 lines).
Function Parameters
Limit parameters (max 3-4), use objects for complex data:
// Too many parameters (avoid)
function createProduct(name, description, price, category, sku, weight, dimensions, supplier, tags) {
// ...
}
// Use configuration object (preferred)
function createProduct(productConfig) {
const {
name,
description,
price,
category,
sku,
specifications = {},
supplier,
tags = []
} = productConfig;
// ...
}
// Usage
await createProduct({
name: 'DEWALT Circular Saw',
description: '7-1/4" Circular Saw with Electric Brake',
price: 199.99,
category: 'power-tools',
sku: 'DWE575SB'
});
Class Design Principles
// Well-structured class for EZ-Commerce
class PosIntegrationService {
constructor(posType, configuration) {
this.posType = posType;
this.config = configuration;
this.apiClient = this._createApiClient();
this.rateLimiter = new RateLimiter(configuration.rateLimit);
}
// Public methods
async syncProducts(clientId) {
try {
const products = await this._fetchProductsFromPos();
const transformedProducts = this._transformProductData(products);
return await this._saveProductsToDatabase(transformedProducts, clientId);
} catch (error) {
this._handleSyncError(error, 'product-sync');
throw error;
}
}
// Private methods (prefixed with _)
_createApiClient() {
return new PosApiClient({
baseUrl: this.config.apiUrl,
apiKey: this.config.apiKey,
timeout: this.config.timeout || 30000
});
}
_transformProductData(posProducts) {
return posProducts.map(product => ({
sku: product.item_code,
name: product.description,
price: parseFloat(product.unit_price),
category: this._mapPosCategory(product.category)
}));
}
}
File Structure for EZ-Commerce
src/
├── controllers/ # API endpoint handlers
│ ├── product-controller.js
│ ├── order-controller.js
│ └── client-controller.js
│
├── services/ # Business logic
│ ├── pos-integration/
│ │ ├── index.js
│ │ ├── square-integration.js
│ │ └── lightspeed-integration.js
│ ├── payment-service.js
│ └── inventory-service.js
│
├── models/ # Data models
│ ├── product-model.js
│ └── order-model.js
│
├── utils/ # Utility functions
│ ├── validation-utils.js
│ └── transformation-utils.js
│
├── middleware/ # Express middleware
│ ├── authentication.js
│ └── error-handling.js
│
└── config/ # Configuration
└── database.js
Comments and Documentation
When to Comment
Good comments explain WHY, not WHAT:
class PosRateLimiter {
constructor(maxRequestsPerMinute = 60) {
// Square POS API allows 60 requests per minute per location
// We use a sliding window to track requests more accurately
this.maxRequests = maxRequestsPerMinute;
this.requestTimestamps = [];
}
}
JSDoc for Functions
/**
* Synchronizes product data between POS system and EZ-Commerce database
* @param {string} clientId - The client's unique identifier
* @param {Object} options - Sync options
* @param {boolean} options.fullSync - Whether to perform full sync or delta sync
* @param {string[]} options.categories - Specific categories to sync (optional)
* @returns {Promise<SyncResult>} - Sync results with success/failure counts
* @throws {PosIntegrationError} - When POS system is unavailable
*/
async function syncProductData(clientId, options = {}) {
// Implementation
}
Error Handling
Custom Error Classes
// Specific error types for EZ-Commerce
class EzCommerceError extends Error {
constructor(message, code, details = {}) {
super(message);
this.name = this.constructor.name;
this.code = code;
this.details = details;
this.timestamp = new Date().toISOString();
}
}
class PosIntegrationError extends EzCommerceError {
constructor(message, posSystem, originalError) {
super(message, 'POS_INTEGRATION_ERROR', {
posSystem,
originalError: originalError?.message
});
}
}
class ValidationError extends EzCommerceError {
constructor(message, field, value) {
super(message, 'VALIDATION_ERROR', { field, value });
}
}
Error Handling Patterns
async function processProductUpdate(productId, updateData, clientId) {
try {
// Validate input
validateProductUpdateData(updateData);
// Check permissions
await verifyClientProductAccess(clientId, productId);
// Update product
const updatedProduct = await Product.update(productId, updateData);
// Sync with POS (optional operation)
try {
await syncProductWithPos(updatedProduct, clientId);
} catch (posError) {
// Log POS sync failure but don't fail the entire operation
logger.warn('POS sync failed for product update', {
productId,
clientId,
error: posError.message
});
// Queue for retry
await queuePosSync(productId, 'update');
}
return updatedProduct;
} catch (error) {
// Add context and log
logger.error('Product update failed', {
operation: 'product-update',
productId,
clientId,
error
});
throw error;
}
}
Performance Best Practices
Database Optimization
- Use indexes on frequently queried fields
- Avoid N+1 queries - use eager loading
- Limit result sets with pagination
- Use connection pooling
Avoid N+1 Query Problems
// N+1 Query Problem (avoid)
async function getProductsWithCategories(clientId) {
const products = await Product.findAll({ where: { clientId } });
for (let product of products) {
product.category = await Category.findById(product.categoryId);
}
return products;
}
// Optimized Query (preferred)
async function getProductsWithCategories(clientId) {
const products = await Product.findAll({
where: { clientId },
include: [{ model: Category }] // Single query with join
});
return products;
}
Code Review Checklist
| Category | Check |
|---|---|
| Naming | Variables and functions have clear, descriptive names |
| Functions | Functions are small and do one thing well |
| Error Handling | Errors are caught and handled appropriately |
| Performance | No N+1 queries, efficient database access |
| Security | Input validation, no SQL injection risks |
| Testing | Adequate test coverage for new code |
Policies
Documentation coming soon.
Confidentiality Agreements
EZ-AD maintains confidentiality agreements with all e-commerce clients to protect sensitive business data and ensure secure handling of store information.
Data Handling Process
1. Data Sharing
- Data is shared with EZ-AD through secure channels
- All shared data is protected under confidentiality agreements
- Data includes inventory information, pricing, and store-specific details
2. Website Configuration
- EZ-AD configures each website based on specific inventory and options selected
- Configuration is tailored to store's unique requirements
- All configuration work maintains confidentiality of store data
3. Quality Assurance
- Every website verified for proper build
- Inventory levels accurately reflected
- QA process maintains strict confidentiality protocols
4. Platform Activation
- Ordering platform activated based on selected plan
- Stripe payment processing setup
- All activation procedures follow confidentiality guidelines
5. Order Fulfillment & Payment
- Stores fulfill orders placed through their websites
- Stores receive income via direct deposit
- Secure transaction processing maintained
Key Confidentiality Principles
Data Protection
- All store data handled according to confidentiality agreement terms
- Secure data transmission and storage protocols
- Access limited to authorized personnel only
Service Delivery
- All services provided while maintaining strict confidentiality
- Store-specific information protected throughout entire process
- Confidentiality maintained across all teams and service levels
Ongoing Compliance
- Regular review and compliance with agreement terms
- Continuous staff training on confidentiality requirements
- Secure systems and processes to protect client information
Policy for Handling Unresponsive Clients
Procedures for handling clients who become unresponsive during or after onboarding.
1. 60-Day Unresponsive Policy
Any store that becomes unresponsive should follow this policy:
- After 60 days: Send email indicating they have been unresponsive
- Notify: They are contractually obligated to get their site live
- Action: Start monthly billing as per contract terms
2. Stripe Setup Policy for Unresponsive Clients
For clients not yet on Stripe who become unresponsive:
- Default Setting: Make them "Pay-in-store" by default
- Benefit: Allows them to still receive orders
- Communication: Send email explaining how to revert to Stripe if desired
3. 30-Day Billing Policy
If clients become unresponsive for more than 30 days:
- Requirement: Must have documented 4 calls & 4 emails proving contact attempts
- Action: Start monthly billing after documented attempts
- Rationale: Cannot wait indefinitely for client response
Email Template for Stripe Setup Follow-up
Subject: Follow-Up on Payment Setup for Your EZAD E-commerce Website!
Hi [Client Name],
I hope this email finds you well!
I have been trying to get in touch with you regarding the payment setup for your e-commerce website but you have been unavailable.
As discussed during our Employee Training, you can offer either "Pay in Store" or "Pay on Website" options for order fulfillment. Currently, the "Pay in Store" option is activated by default.
To enable the "Pay on Website" option, please follow these steps once you have your Stripe account details ready:
1. Log in to your website as an Admin
2. Navigate to the Admin Side
3. Go to Website Settings
4. Select Payment Options
5. Enable "Pay on Website"
To connect Stripe for online payments:
6. Click on "Connect to Stripe"
7. Complete the connection process
8. Enable Live payment processing
9. Click Save
If you have any questions or need assistance, please don't hesitate to reach out.
Best regards,
[Your Name]
Data Uploads & POS Changes Policy
Policy on onboarding, data uploads, POS changes, and image import procedures.
Effective Date: February 2025
Purpose
This policy outlines updated procedures and responsibilities for the onboarding process, particularly in cases involving data uploads from secondary POS systems, POS changes, and product image imports.
1. Uploading Data from a Secondary POS
When a store requests to upload data originating from a different POS system than the one originally used during Data Retrieval:
- Explain Data Inconsistencies: Clearly explain to the customer that data from a different POS may have inconsistent formatting (including UPC conflicts and mismatched fields)
- Custom Development Requirement: Inform them that integrating a new POS format requires custom development by our team unless they can provide cleaned and properly formatted data directly from the POS provider
- Custom Quoting: Custom quoting will apply for all data uploads that deviate from standard POS formats
- Additional Charges: Customers must be advised that additional charges will apply for uploading product data (including UPCs or SKUs) from a secondary POS system
- Escalation Process: If a customer objects to the additional fee, escalate the case to Lawrence for review and potential fee adjustment approval
- No-Charge Acknowledgment: If EZAD chooses to process the data upload at no charge, the customer must first acknowledge in writing that EZAD will not be responsible for discrepancies or data issues caused by conflicting formats
2. Change of POS
If a store changes its POS system after the initial Data Retrieval:
- Explain Requirements: Explain that this will require a new Data Retrieval and data rework by our development team
- Service Classification: This process is treated as a new service request
- Additional Fees: Standard fees apply for new Data Retrieval
3. Product Image Imports
For customers requesting bulk image imports:
- Images must be provided in standard formats (JPG, PNG)
- File naming convention should match product SKU or UPC
- Bulk imports may incur additional processing fees
Quick Reference
| Scenario | Action Required | Fees |
|---|---|---|
| Secondary POS Data Upload | Custom development | Custom quote |
| POS System Change | New Data Retrieval | Standard DR fees |
| Bulk Image Import | Processing support | May apply |
Copyright and Content Integrity
Onboarding team responsibilities for platform content integrity.
Platform Integrity Requirements
To maintain the integrity of the EZAD eCommerce platform:
Prohibited Activities
Customer Communication Requirements
During customer sessions, support representatives must clarify:
- EZAD does not provide graphic design services
- EZAD does not create or upload content for stores
- It is the store's responsibility to provide their own content
- EZAD staff may only assist with guidance on how to place content within widgets and site modules
Employee Compliance
Key Reminders
- Always direct customers to provide their own original content
- Offer guidance on content placement, not content creation
- Maintain strict adherence to copyright compliance policies
Change of POS After Initial Setup
Process for handling POS system changes after initial onboarding.
When This Applies
When a store changes its POS system after the initial Data Retrieval has been completed.
Required Process
- New Data Retrieval: A complete new Data Retrieval process must be performed
- Data Rework: Our development team will need to rework all data to accommodate the new POS format
Service Classification
- This process is treated as a new service request
- An additional fee will be incurred for this service
Customer Communication Requirements
Escalation Process
If the customer raises concerns or requests a discount:
- Escalate the request to Lawrence for review
- Lawrence can provide approval for possible fee adjustments or discounts
Uploading Data from a Secondary POS System
Policy for handling data uploads from different POS systems than originally used.
When This Applies
When a store requests to upload data originating from a different POS system than the one originally used during Data Retrieval.
Key Customer Communications
1. Data Formatting Warning
Clearly explain to the customer that data from a different POS may have inconsistent formatting, including:
- UPC conflicts
- Mismatched fields
- Format incompatibilities
2. Development Requirements
Inform customers that integrating a new POS format requires:
- Custom development by our team, OR
- Cleaned and properly formatted data directly from the POS provider
Pricing and Fees
- Custom Quoting: All data uploads that deviate from standard POS formats require custom quoting
- Additional Charges: Customers must be advised that additional charges apply for uploading product data (including UPCs or SKUs) from a secondary POS system
Fee Objection Process
If a customer objects to the additional fee:
- Escalate the case to Lawrence for review
- Lawrence can approve potential fee adjustments
No-Charge Processing Protocol
- Discrepancies caused by conflicting formats
- Data issues resulting from format conflicts
Image Copyright Responsibility Policy
Client acknowledgment form for image copyright compliance.
Purpose
This policy defines responsibility for copyright compliance related to images reused from a previous website during website migration, redesign, or development services.
Policy Statement
If a store elects to copy, reuse, or transfer images from a previous website, the store assumes full responsibility for ensuring that all such images are legally owned, properly licensed, or otherwise authorized for use.
Responsibilities
Store Responsibilities
- The store is solely responsible for verifying image ownership, licensing rights, and compliance with applicable copyright and intellectual property laws
- The store must ensure that any reused images do not infringe upon third-party rights
EZAD Responsibilities
- We do not conduct copyright verification or licensing validation for images provided or reused by the store unless explicitly agreed to in writing
Limitation of Liability
We assume no liability for:
- Copyright infringement
- Intellectual property disputes
- Legal claims arising from the store's reuse of images from a previous website
Client Acknowledgment Form
Acknowledgment
By choosing to reuse images from a previous website, the store acknowledges and accepts full responsibility for copyright compliance related to those images. I further agree that any future claims or complaints related to image uploads performed under this procedure fall outside the scope of EZAD's service obligations, and EZAD bears no liability in such cases.
| Store Owner Name: | _______________ |
| Signature: | _______________ |
| Date: | _______________ |
Cancellation Process Protocol
Procedure for handling customer cancellation requests.
Initial Customer Contact
When customer calls with cancellation concerns:
- Always look up the account of the business
- Let customer know it will be a moment as you review the account
- Use lookup page to find account (sometimes multiple accounts exist)
- Keep business IDs in mind for Slack messaging to Ishtar
Account Review Checklist
Check the following:
- When were they last invoiced and what amount?
- Is billing correct and up to date?
- Do they have current signed order form on file? (Keep this)
- When did they sign up?
- Are they in a contract?
For EZ-AD TV Accounts
- How many units do they have?
- How active are their screens?
- Check by "Logging in" as the business
- Review the screen page
For E-Commerce Accounts
- Look at leads page report or commissions table
- Determine where they are in the process
- Are they live?
- Are they responsive and active on the website?
Historical Analysis
Read ALL NOTES to determine:
- Is this a pattern of complaints?
- What are previous issues?
- How often was this issue happening?
- What was the problem resolution?
- Who was involved?
Customer Communication Protocol
- Return to customer and confirm account review
- Go over signed order form and account details
- Listen to concerns, offer resolutions outside of canceling
- Never say that you will cancel them
- Always escalate cancellation calls to manager
Key Phrases
- "I can understand how that could be ____. Please explain more about your concerns and I will escalate this to my supervisor."
- "We do not want you to have a bad experience, and we apologize you went through that. I want to be sure to get it right, and correct the problem."
Cancellation Resolution Strategies
Problem-specific solutions and escalation process for cancellation requests.
Problem-Specific Solutions
Not Timely Issues
- Explain that manager will review this
- Ensure they will be handled more promptly
Not Enough Sales
Ask customer about marketing efforts:
- What steps have you taken to inform customer base of new website?
- Have you marketed it on your phone prompt?
- Have you marketed on social media?
- Have you sent out local flyers?
- Are you implementing in-store marketing materials showcasing online ordering?
Improper Billing
- Explain manager will review this
- Ensure billing department will be in touch
- Review the discrepancies
Tech Issues
- Explain manager will review this
- Ensure tech team will handle
Integration Problems
- Explain manager will review this
- Ensure tech team will handle
- Note: Many integration issues are on 3rd party side
- Many companies don't have EZ-AD's development team skill level
Information Gathering Requirements
Collect the following:
- Name
- Business IDs
- Purpose for the call
- Interesting findings while researching customer accounts
- What the customer requested
- Number of screens/units (if EZ-AD TV)
- Customer Name, Plan, and Store # (if e-commerce)
- Notes from the call
- Link to call where conversation took place
Required Documentation Links
- Calls page
- Leads Page
- Business Page
- LEAVE CANCELLATION NOTES ON EVERY PAGE
- Screenshot of EMAIL if it was via email
Escalation Process
- Submit information to EZ-Commerce Cancellation Request Channel
- Tag Sarah & Ishtar
- Sarah reviews and informs True Value of results
- Sarah fills out email template and submits to True Value
- Sarah updates SDR of resolution in cancellation channel
- Sarah makes call to customer with final resolution
- If no answer, email is sent as well
- Upload notes, emails, and final resolution to business page
Change of Ownership Protocol
Procedure for handling store ownership changes.
Information Gathering
When customer calls about change of ownership, collect:
- When will the change of ownership take place?
- Do you know who the buyer is?
- Will they be keeping the store name?
- Are they aware you have this website?
- Do they have a current signed order form on file? (Keep this)
- When did they sign up?
- Are they in a contract?
Management Protocol
- Always escalate ownership changes to manager
- Follow same escalation process as cancellations
Documentation Requirements
Submit to EZ-Commerce Cancellation Request Channel:
- Who made the call
- Purpose for the call
- "This customer is changing ownership"
- Customer Name, Plan, and Store #
- Notes from the call
- Link to call conversation
- Links to: Calls page, Leads Page, Business Page
- LEAVE NOTES ON EVERY PAGE
- Screenshot of EMAIL if via email
- Tag Sarah & Ishtar
Resolution Process
- Sarah reviews and informs True Value
- Sarah fills out email template and submits to True Value
- Sarah updates SDR in cancellation channel
- Sarah calls customer about processing change of ownership
- Change finalized once True Value deactivates store #
- If no answer, email sent as well
- Upload notes, emails, and final resolution to business page
True Value Email Template
Hello Theresa & Lisa,
This store below has been in communication with us regarding a cancellation. The resolution and details are explained below:
Store Name (Store #):
Ez - Commerce Plan:
Cancellation reason:
Cancellation resolution:
Final Billing:
Date:
Action needed if any:
Once True Value deactivates the store # they will be automatically deactivated with EZ-AD as well. Please let me know if you need any further information on this issue.
Image Uploads Policy and Procedure
Policy and acknowledgment form for product image uploads.
Importing Product Images
When a customer wishes to enhance their online store by importing images, inform them of the two acceptable submission methods:
Method 1: Spreadsheet Method
Columns must include:
- UPC, SKU, or Model Number
- URL link to the image
Method 2: Image File Method
- A folder containing JPEG or PNG files
- Each image must be named using the UPC or SKU number
Required Documentation
- Review the Image Upload Acknowledgment Form
- Sign the form
- Return the completed form
Image Upload Acknowledgment Form
IMAGE UPLOADS PROCEDURE
I understand and acknowledge that the procedure to upload images in the EZAD eCommerce platform at no charge is as follows:
Manual Upload Option
For small updates, I may manually upload product images using the Product Editor in the Admin panel by:
- Searching for the desired product via UPC or SKU
- Uploading the image directly
Bulk Upload Options
For bulk uploads, I can send data to the EZAD team in one of these formats:
- Spreadsheet Format: Contains columns for UPC, SKU, or Model Number and the image URL
- Image Folder Format: JPEG or PNG format files, with file names matching the UPC or SKU
Disclaimer
All images uploaded through this process are the responsibility of the store and are for illustrative purposes only. EZAD does not claim ownership of these images, and any copyright issues or disputes must be handled directly by the store.
I further agree that any future claims or complaints related to image uploads performed under this procedure fall outside the scope of EZAD's service obligations, and EZAD bears no liability in such cases.
| Store Owner Name: | _______________ |
| Signature: | _______________ |
| Date: | _______________ |
SEO Policy - Website Transfer & Due Diligence
Checklist for clients migrating an existing e-commerce website.
1. Domain & Ownership Confirmation
Client must confirm and provide:
- ☐ Domain registrar name (usually GoDaddy) and login access
- ☐ Domain ownership is current, authority is provided and uncontested
- ☐ No disputes or blacklists on the domain
Client Acknowledgment: I confirm I am the lawful owner or authorized controller of this domain.
2. Previous Website & Platform History
- ☐ Do you currently have a live website? (Yes/No)
2.1 Content Pages
- ☐ Content Pages: Did product pages, categories, or checkout pages exist?
- If yes, list the URLs
2.2 Important URLs & Redirects (Critical for SEO)
- ☐ Are there any URLs from your current website that must transfer to the new site?
- Examples: URLs integrated into 3rd party circulars, fliers in store, or on your POS system
4. SEO Assets & Data Transfer
Client must confirm availability of:
- ☐ Google Search Console access
5. Legal & Liability Acknowledgment (SIGNATURE REQUIRED)
Client SEO Risk Acknowledgment
I understand that domain and website migrations, especially from previously active e-commerce sites, may result in temporary or permanent changes to search rankings, traffic, and revenue.
I acknowledge that SEO results cannot be guaranteed and that prior domain history, backlinks, penalties, or content decisions may affect performance beyond the provider's control.
| Client Name: | _______________ |
| Signature: | _______________ |
| Date: | _______________ |
Frequently Asked Questions
Common questions about EZ-AD Digital Commerce features, capabilities, and benefits.
1. What is an EZ-AD Digital Commerce POS System?
EZ-AD Digital Commerce is a comprehensive POS system designed for e-commerce, seamlessly integrating with your existing POS to transform your inventory into a dynamic online store. It's a trusted solution in the e-commerce service provider market across America.
2. How does the system integrate with my existing POS?
Our system integrates effortlessly with various POS systems, including:
- Epicor Eagle
- ECI Spruce
- Rocksolid Classic
- Paladin
- And others
3. Can EZ-AD Digital Commerce handle vendor catalog integrations?
Yes, our platform supports integrations with major vendors:
- TrueValue
- DoItBest
- Orgill
- Ace
This allows extensive browsing options for your customers.
4. What are the key features?
- Robust POS integration
- Credit card checkout
- Vendor catalog integrations
- Advanced SEO optimization
- Various fulfillment options
- User-friendly interface
5. What sets EZ-AD apart in terms of SEO?
Our sites and products are heavily SEO-optimized, ensuring prominent placement in local Google searches and increasing visibility to drive traffic and sales.
6. What payment options are available?
We support secure payment processing through:
- Stripe - Credit card processing
- PayPal - Convenient checkout option
7. How does multi-store location support work?
Our platform integrates unlimited store locations under one EZ-AD Digital Commerce system, each customized to your specific needs, ensuring a cohesive experience across all locations.
8. What plans are available?
| Plan | Description |
|---|---|
| Bronze | Catalog-only functionality |
| Silver | Enhanced e-commerce features |
| Gold | Complete POS integration solution |
Overview
EZ-AD TV is a digital signage and advertising platform for managing displays and content across multiple locations.
Key Features
- Digital signage management
- Content scheduling
- Multi-location support
- Analytics and reporting
- Remote display control
EZ-AD TV Box Features
Overview of the EZ-AD TV box hardware and features.
What is the EZ-AD TV Box
The EZ-AD TV box is a simple Android-based device designed for digital signage. It comes with two essential programs: the ad launcher and the EZ-AD app. The device connects to screens via HDMI input and is controlled through the EZ-AD portal, allowing users to easily manage content and displays remotely.
How to Connect to a TV
All you need is the EZ-AD TV power supply and HDMI cable. You will find all required components in the EZ-AD TV BOX.
Inside the Box
Every user will have the following:
- Installation manual
- EZ-AD TV box
- Power supply
- Remote control
- HDMI cable
Box Ports & Connections
Top Side of the Box
| Port | Purpose |
|---|---|
| AV | Where you plug the Power supply |
| LAN | Connect via ethernet cable |
| HDMI | Connect HDMI cable to the TV |
| DC | Helps to restart the box |
Left Side
USB ports that can be used to connect with a mouse or keyboard, which are very helpful for setup and navigation.
Box Programs
The box comes with two main programs:
- AD Launcher: Runs the home screen when you do the setup of the box
- EZ-AD App: An app that has all the features of the box
WiFi Connection Setup
Once you have connected EZ-AD TV with the TV, you will see the setup view. The first step in setup is to choose your WiFi network and enter the password.
Setup Steps
- Power on the box and TV
- Select your WiFi network from the list
- Enter your WiFi password
- Wait for connection confirmation
- The serial number will display on screen
- Add the serial number to your admin portal
Key Features
- Android-based operating system
- Remote management through EZ-AD portal
- HDMI connectivity for any TV
- WiFi or Ethernet connectivity options
- USB ports for keyboard/mouse
- Offline playback capability (ads stored locally)
Sales Training
Documentation coming soon.
Sales Level 1 Training
Complete training notes for EZ-AD TV sales presentations and demonstrations.
Pre-Video Setup Requirements
Before presenting the demo, ensure you have:
- Main EZ-AD homepage (ezadtv.com) open
- "How it Works" tab open and ready
- Login page accessible with credentials ready
Product Overview: EZ-AD TV
Market Position
- Tagline: "The easiest digital signage system"
- Global Reach: Used in over 7 countries
- Units Sold: Over 30,000 units
Major Clients
- Verizon
- Spectrum
- Walmart
- True Value
- Ace Hardware
- Also trusted by: 3M, ADP, FEMA, TSA, and Blood Works
Hardware Setup Process
Step 1: Media Player Connection
What's Included:
- Media player device (shipped to customer)
- Remote control
- HDMI cable
Hardware Compatibility:
- Works with any TV (universal compatibility)
- Any size, any brand
- Connection via HDMI port
Step 2: Internet Connection
Connection Options:
- WiFi (wireless)
- Ethernet (wired connection)
Screen Layout Options
| Layout | Description | Best For |
|---|---|---|
| Full-Screen Vertical | Content fills screen vertically | Vertical videos, tall images |
| Full-Screen Horizontal | Content occupies entire screen horizontally | Impactful videos, captivating images |
| Horizontal Split Screen | Divide screen into multiple horizontal sections | Multiple content types simultaneously |
| Vertical Split Screen | Divide screen into three sections | Image/video + logo + scrolling ticker |
7 Core Features of EZ-AD TV
1. Upload Feature
Upload images or videos from computer or phone directly to EZ-AD TV screens.
- Select specific screens for content display
- Organize content in folders
- Set start and end dates for advertisements
- Schedule content for specific time periods
2. YouTube Loader
Import YouTube videos directly to screens without advertisements.
- Copy and paste YouTube video URLs
- Import videos without YouTube ads
- Trim videos to desired length
- Mute videos (remove audio)
3. Template Builder
Create professional advertisements using pre-designed templates.
- Search templates by holiday or category
- Edit templates: change text color, size, add images/shapes
- SKU Generator: Import products by SKU, UPC, or model number
4. PowerPoint Presenter
Upload and display PowerPoint presentations on screens.
- Upload .pptx files
- Process slides automatically
- Review and delete unwanted slides
5. Ticker Feature
Create scrolling messages similar to news channel tickers.
- Customize ticker style and color
- Add company logos
- Display announcements, offers, store hours
6. Social Media Manager
Automatically post advertisements to social media platforms.
- Supported: Facebook, Twitter/X, Instagram
- Coming Soon: TikTok
- Schedule daily posts
- Manage multiple accounts from one dashboard
7. Video Gallery (Vendor Gallery)
Access a curated library of promotional videos from various brands.
- Browse videos from multiple brands
- Pre-approved brand content ready for use
- No need to create content from scratch
Additional Platform Features
Video Studio
- Background customization
- Video layers via YouTube URL or upload
- Text editing and overlays
- Timeline editing
Weather Feature
Display automated weather updates requiring postal code, city, state, and country.
Print Sign Feature
Generate printable advertisements: full page, 2, 4, or 6 ads per page.
On Demand Feature
Play specific videos directly for customers upon request via remote control.
Priority Ads Feature
Synchronize advertisements across multiple screens simultaneously.
Co-Op Ad Programs
| Company | Signature Program |
|---|---|
| True Value | Bargains of the Month |
| Ace Hardware | Red Hot Buys |
| Do It Best | Price Busters |
| Orgill | Doorbuster Ads |
Pricing & Plans
Hardware
| Item | Price |
|---|---|
| 4K Media Player | $180 (one-time) |
| Vertical Stand (Optional) | $150 (special) |
Silver Plan - $65/player
- Co-Op Ads (automatic monthly ads)
- Template Builder
- YouTube Loader
- 1x EZ-AD Mobile App
- 250k+ Vendor Videos
- Phone Support
- Upload Image & Video
- Unlimited Storage
- Sub Accounts
- Unlimited Warranty
Gold Plan - $85/player
Includes ALL Silver Features PLUS:
- Print Signs
- Social Media Manager
- Ticker Scroller
- Video Studio
- Weather Forecast
- EZ-AD On Demand Scanner
- Priority Ads
- 3x EZ-AD Mobile Apps
- PowerPoint Uploader
Volume Pricing (Silver)
| Players | Monthly | Per Player |
|---|---|---|
| 1 | $65 | $65 |
| 3 | $90 | $30 |
| 6 | $160 | ~$27 |
| 10 | $220 | $22 |
| 15 | $260 | ~$17 |
Key Pricing Advantages
- No Contract, No Commitment: Month-to-month billing, cancel anytime
- 30-Day Money-Back Guarantee: Full refund on media player
- Flexible Billing: Starts 15 days after media player is shipped
- Volume Discounts: More players = lower per-unit cost
Sales Call Script Framework
Opening
- Identify yourself from EZ-AD TV
- Mention you're the preferred digital signage provider for their co-op
- Reference existing customer base
Value Proposition
- Emphasize ease of use ("straightforward system")
- Highlight automatic content delivery
- Mention vendor video library (250,000+ videos)
- Reference top brands (Milwaukee, DeWalt, Stanley)
Pricing Transition Script
"Now that I've showed you the features, let's go to the pricing. Our pricing is very straightforward and very inexpensive."
Preparation Checklist
Before presentations, have these 10 screens ready:
- Upload page
- YouTube loader with DeWalt video search ready
- Template builder with template selected
- PowerPoint Presenter with training file
- Ticker feature
- Social media manager
- Vendor gallery
- Steveland (login ready)
- True Value page
- Ace Hardware Digital Network page
Billing Overview
Billing is an important component of EZ-AD TV operations. This section covers payment methods, billing providers, and how money flows from customers to the company.
Billing Methods
We collect payments from customers in two ways:
- Billing Provider - Third-party companies that act as intermediaries. They send bills to customers, collect payments, and remit to us.
- Direct Billing - Charging customers directly through our payment processors.
Billing Providers
The following companies act as billing providers for us:
- True Value
- Ace Hardware
- Orgill
- Emery Jensen
- Do It Best
- Lumbermans Merchandising Corporation (LMC)
Direct Billing Sources
- Shamrock Companies Inc.
- Stripe
Payment Methods and Timelines
Direct Billing
| Source | Payment Method | Timeline |
|---|---|---|
| Stripe | Credit Card | Immediate |
| Shamrock Companies Inc. | ACH (Automated Clearing House) | Net 45-60 days |
Billing Providers
| Provider | Payment Method | Timeline |
|---|---|---|
| True Value (EZ-AD TV) | ACH | No specific net days |
| True Value (E-Commerce) | Cheque | No specific net days |
| Ace Hardware | ACH | 30-60 days |
| LMC | ACH | 30 days |
| Orgill | Cheque | 45-70 days |
| Do It Best | Cheque | 30 days |
| Emery Jensen | Cheque | 30-60 days |
Credit System for Unreturned EZ-AD TV Units
This policy outlines the credit system for customers who have unreturned EZ-AD TV units.
Standard Credit Policy
- Maximum automatic credit: 3 months
- Eligibility: Customers with unreturned EZ-AD TV units
- No exceptions to the 3-month limit without approval
Extended Credit Process
For any credit requests beyond the 3-month limit:
- Approval Required: All requests must be approved by Ishtar
- Communication Method: Send request via Slack to Ishtar
- No automatic processing: Do not process any credits beyond 3 months without explicit approval
Orders & Replacements
EZ-AD TV box ordering process, plans, and replacement policies.
EZ-AD TV Box Plans & Orders
We sell EZ-AD TV in 2 different ways:
- Through our company (Sales team) - Ishtar sends the orders
- Through Amazon
Plans Sold by Our Team
Box Price: $180 (Only Ishtar can specify when she gives other deals. Usually on Conventions, we offer different prices. Always follow Ishtar's instructions when placing orders for the price.)
Silver Plan - $65/month
- YouTube Loader
- EZ-AD Mobile App
- Upload Img/Video
- VIP Warranty
- Template Builder
- 250,000 Video Gallery
- No Ads From EZ-AD
Gold Plan - $85/month
Includes everything Silver has, plus:
- Social Media Manager
- Scrolling Ticker
- Video Editor
- Weather Forecast
- EZ-AD On Demand
- Priority Ads
Warranty Policy
- Both plans include warranty for media player replacements
- Free replacement boxes
- Only shipping charges applied
Plans Sold by Amazon
Free Plan
- Free of cost with limited features
- Includes tech support
- Allows up to 50 slides per EZ-AD TV box
Amazon-Gold - $15/month
- Includes all features and tech support assistance
EZ-AD TV Orders Process
How to Handle an Order for an EZ-AD TV Box
When a client buys a box & plan from us, you will receive a request from Ishtar to place the order.
Order Processing Steps
- Receive order request from Ishtar
- Verify customer information
- Confirm pricing and plan selection
- Process the order through the system
- Ship the box to the customer
- Activate the subscription after shipment
Replacement Process
When a Customer Needs a Replacement
- Verify the warranty status
- Confirm the issue with the original box
- Process replacement order (free box, shipping charges apply)
- Instruct customer to return faulty box within 30 days
Support & Troubleshooting
Comprehensive tech support handbook for EZ-AD TV digital signage media players.
Quick Overview - What You Support
- Main product: EZ-AD TV digital signage media player (Android-based)
- Other features: Print Signs, Template Builder, Studio (video editor), Ticker, YouTube Loader, Social Media Manager (Facebook/Twitter), EZ-AD Mobile App, EZ Commerce, TrueValue MTS, Saturn Text blast, On-Demand, Priority Ads, Weather, Gallery, AI Price Comparable (POS integration)
- Sales channels: Direct (Ishtar / sales team) and Amazon (self-signup)
How Customers Reach Support
| Channel | Details |
|---|---|
| Phone | Grasshopper — Extension 3 = Tech Support (call first) |
| Live Chat | Website (ezadtv.com) — respond immediately |
| Direct or forwarded by Ishtar. Professional signoffs required | |
| Mobile app/Contact form | Treat like tickets, ask best callback number |
| Slack | For replacements, order info, escalations |
Call Script & Opening
Answer: "Thank you for calling EZ-AD! This is [your name]. How can I help you?"
- Pull up the business page immediately:
https://ezadtv.com/admin:businesses - Ask for customer name & business name, then confirm address
- Use their name often. Be polite and personal
- End calls: "My pleasure — is there anything else I can assist you with today?" then "We here at EZ-AD appreciate your business. Have a wonderful day!"
Finding the Correct Account
- Search by business name, address, phone, email, ZIP, or co-op number
- If multiple accounts appear, pick the one with most screens or billing enabled
- If signed up via mobile and missing features → likely created a second account: merge accounts (need Base Account & Business ID; contact Belbron & Lawrence)
Units vs Screens
- Unit count = number of physical media players (different serial numbers)
- Screen count = number of enabled screens on a unit (what's displayed)
- Check for duplicate screens (sometimes old unit screens need to be deleted/cleaned)
Serial Number
- Serial appears on TV after first setup (after orientation + connectivity)
- Serial is needed to Add Screen: Dashboard → Screens → Add Screen → enter serial
- For Amazon clients: register via
ezadtv.com/amazonusing Amazon order number - Invalid serial? Clear app data to generate a new one
Installing / Re-installing EZ-AD APK
- Home Screen → Utilities
- Utilities → Browser
- In browser type:
ezadtv.com/dlq→ allow download if prompted - After download, Home → Utilities → AppInstaller
- Find EZ AD TV APK, choose Install/Update
- Once installed, click Open
- If prompted for Super-User select it and Remember forever
App Formats & Upload Limits
| Type | Requirements |
|---|---|
| Images | 1920 x 1080 px @ 72 dpi, max 50 MB |
| Video formats | avi, m4v, mp4, mpg, mpeg, wmv, mov |
| Web upload limit | Max 300 MB per upload |
| Backend upload limit | Up to 1024 MB |
Common Issues & Fixes
Screen shows red (offline)
Check internet (Wi-Fi/Ethernet) and whether device is powered. Offline screens still play downloaded content but won't get new uploads.
Screens not downloading new content
Check content was added to Library → Add → select screen, then ask customer to reboot box and wait for download.
Invalid serial or app flicker
Home → Settings → Apps → See all apps → Show system apps → find EZ-AD TV → Clear data → confirm. Then open app; it will generate new serial.
Video upload failing
Might exceed size limit — ask customer to send file so you can upload via backend (limit 1024 MB).
Wi-Fi / Network Troubleshooting
- Ask which network — is it open (guest) or private? EZ-AD needs private network or Ethernet
- Check network on box: Home → Settings → Network & Internet
- MAC address whitelist: if firewall/IT block, provide MAC address (printed on back of box)
- Reboot box: unplug power, wait 60 sec, plug back in
- Reset box (last resort): paperclip into AV reset button, hold ~30s. Warning: reset clears EZ-AD interface
Replacement Policy
Replace if:
- Box constantly crashes/restarts
- Wi-Fi fails after full troubleshooting
- Device is older than ~2016
- Customer is frustrated (customer experience > troubleshooting)
Replacement Steps
- Log a Slack message to Tech Support: "Replacement Unit Needed" + reason + business page link + shipping address
- Add replacement request to Shipping Doc (Google Sheet)
- Tell customer: replacement will arrive in 5–7 business days. Must return old unit within 30 days
- After Lawrence confirms returned units, mark units as received in BID → Replacement
Pricing Summary
| Item | Price |
|---|---|
| Box price (direct) | $180 |
| Silver Plan | $65/month |
| Gold Plan | $85/month |
| Amazon Free Plan | Free (limited features) |
| Amazon Gold | ~$15/month |
Internal Contacts
| Contact | Responsibility |
|---|---|
| Ishtar | Orders & pricing exceptions |
| Lawrence | Shipping tasks, final postage, replacements audit |
| Belbron | Merging accounts & replacements |
| Krishna | Pricing/product catalog issues |
| Ramon | Amazon order format checks |
| Steven/Farhad | Dev/database escalations |
Quick Reference
- APK download link:
ezadtv.com/dlq - Box minimum software version: >169 (below → replace)
- Old box cutoff: 2016 or earlier → replace
- Amazon order format: 123-1234567-1234567 (3–7–7)
EZ-AD TV Portal Login Support - Password Reset via Kachooni
When EZ-AD TV customers cannot log into the EZ-AD TV portal, account representatives and customer service agents can assist them through the Kachooni admin platform.
Who Can Help
- Account representatives
- Customer service agents
Steps to Reset Password
- Access Kachooni: Log into the Kachooni admin platform
- Navigate to Business: Go to the customer's business edit page
- Choose Reset Method: You have two options:
- Reset Password: Generate a new permanent password for the customer
- Generate One-Time Password: Create a temporary password for immediate access
- This process should be used when customers are locked out of the EZ-AD TV portal
- Both permanent password resets and temporary one-time passwords can be generated
- Ensure proper customer verification before performing password resets
Operations
Documentation coming soon.
International Shipping
Process for shipping EZ-AD TV media players to international markets.
USA to Argentina Shipment Process
Shipping Chain
| Step | Description | Details |
|---|---|---|
| Step 1 | USPS to Miami | Ship media players to Miami distribution point |
| Step 2 | Fletex International Shipping | Freight company handles international leg |
| Step 3 | Final Delivery & Sales | Local contact receives and lists products |
Fletex International Shipping
- Freight Company: Fletex (https://fletexar.com/)
- Process: Fletex picks up from Miami, weighs boxes, provides final quote
- Estimated Cost: $300-$450 for international shipping
Argentina Market
- Sales Platform: Mercado Libre (https://www.mercadolibre.com.ar/)
- Note: Amazon is not available in Argentina, hence using Mercado Libre
- Requirement: Local contact needed to receive and handle shipments
Action Items for International Shipments
- Follow up with Fletex for pickup confirmation
- Confirm final shipping cost once weighed
- Coordinate with local contact for final delivery
- Prepare marketplace listing
VAT Compliance & Country Requirements
Policy and procedures for international shipping and VAT compliance across different countries.
Team Responsibilities
| Team Member | Responsibilities |
|---|---|
| Roman (Manager) | Customs management, Amazon operations |
| Hamza | Shipping coordination, Finding resources |
| Ann | SimplyVAT liaison |
SimplyVAT Management
Contacts
- Liane McEwen (Onboarding Administrator): liane.mcewen@simplyvat.com
- Tamara Senekal: tamara.senekal@simplyvat.com
- Admin Overview: admin@simplyvat.com
Registration Numbers by Country
| Country | VAT | EORI | Other |
|---|---|---|---|
| Canada | - | - | BN#: 758689020, RM: RM0001 |
| France | FR17941237109 | FRUS941237109 | RII/WEE required |
| Spain | ESN0320070F | FRUS941237109 | RII/WEE: 18806 |
| Germany | DE450493952 | FRUS941237109 | - |
| United Kingdom | GB488987883 | GB488987883000 | - |
| Mexico | - | - | RFC: AMA010419PW8 |
Country-Specific Shipping Requirements
Dubai
Mexico
- Preferred Carrier: FedEx
- Process: Always call after shipping to charge duties to our FedEx account (738922441)
- Required: RFC number AMA010419PW8 for Amazon + EZADtv USA EIN on invoice
Spain
- Preferred Carrier: DHL
- Status: Golden with DHL after latest EORI & RII updates
Canada
- Preferred Carrier: UPS (best and cheapest)
- Requirement: Need CBSA Importer account
Australia
- Special Requirement: Power supplies must always be shipped
Carrier Contacts & Accounts
DHL
- Contact: Kym Kerr (Mgr. of Int'l Sales)
- Email: Kym.Kerr@dhl.com
- Phone: 800-527-7298
UPS
- Contact: Shianne Brewer (NRI Sales Specialist)
- Email: sbrewer@ups.com
- USA Account: K01794
- Canada Account: J599D8
FedEx
- Account (Mexico duties): 738922441
Country of Origin: USA
Carrier Contacts (DHL, UPS)
Complete contact directory for DHL and UPS shipping services.
DHL Contact Information
Phone Numbers
| Department | Phone |
|---|---|
| DHL Express U.S. | (877) 297-6031 |
| DHL General Contact | 1 (800) 225-5345 |
| DHL Customer Service | (800) 805-9306 |
| DHL Tech Support | (800) 527-7298 |
Customer Support: customersupportus@dhl.com
DHL Specialized Contact
Kym Kerr (Mgr. of Int'l Sales)
- Email: Kym.Kerr@dhl.com
- Phone: 800-527-7298
UPS Contact Information
Phone Numbers
| Department | Phone |
|---|---|
| Investigation Department | (866) 706-6896 |
| International Investigation | (866) 706-6896 |
| International Claims | (877) 884-1211 |
| International Packages | (800) 782-7892 |
| International Shipment Resolution | (866) 225-8308 EXT 1022474 |
| Direct Line | (866) 706-6894 |
| Canada UPS Main | (888) 520-9090 |
| Canada UPS Alternative | (514) 633-0010 |
Email Contacts
| Department | |
|---|---|
| Payment Plan Setup | paymentplansetup@ups.com |
| Billing Center Support | billingcentersupport@ups.com |
| AR Adjustments (Canada) | aradjustmentsca@ups.com |
| International Shipment Resolution | dulcevreyes@ups.com |
UPS Sales Contact
Shianne Brewer (NRI Sales Specialist)
- Email: sbrewer@ups.com
UPS Account Numbers
- USA Account: K01794
- Canada Account: J599D8
UPS Canada Brokerage
Canada Brokerage Email Contacts
| Department | |
|---|---|
| Canada Billing | csbillingsupport@ups.com |
| Brokerage Account Updates | brokacctupdate@ups.com |
| Brokerage Customer Service | canadabrokeragecs@ups.com |
| Canada Customer Resolution | crgaen@ups.com |
| OMD (Non UPS Shipments) | omdteam@ups.com / omdbilling@ups.com |
| Delivery Delays | fsgca@ups.com |
| CUSMA (FTA Agreement) | cusmaprocessing@ups.com |
| CARM (CBSA) | carm@ups.com |
FedEx Contact Information
Phone Numbers
| Department | Phone |
|---|---|
| FedEx Mexico | 52 555 228 9904 |
| FedEx International | (800) 247-4747 |
FedEx Account
- Account Name: EZ-AD TV
- Account Number: 738922441
Related Services
Stamps.com Direct Line: (855) 889-7867
- International Shipment Resolution Group hours: 8 AM to 5 PM E.T.
- Use International Claims for damage/loss claims on international shipments
- Use DHL Express number for priority shipments
Adding Data from New Vendors
Process for adding data from vendors not currently in our system.
When a client requests to add data from a vendor we don't currently have in our system, follow this process:
Step 1: Database Search
- Search the existing database to verify if we already have data from this vendor
- Check all relevant data sources and catalogs
Step 2: Customer-Vendor Connection
- Speak with the customer about facilitating a connection between EZ-AD TV and the vendor
- Determine if there are any existing relationships or channels to acquire the data
- Explore potential integration opportunities through the customer's existing vendor relationship
Step 3: Manual Database Search
- If direct vendor connection is not possible, search manually for available database sources
- Note: This process is more time-consuming and can be challenging
Important Notes
- Always exhaust Steps 1 and 2 before proceeding to manual search
- Set appropriate expectations with clients regarding timeline, especially for appliance data
- Document any successful new vendor integrations for future reference
Overview
Kachooni is a business management platform that integrates various tools and services for streamlined operations.
Key Features
- Business dashboard
- Integration management
- User administration
- Analytics and insights
- API access management
Internal Communication
Slack is the main channel of communication used throughout the company for:
- Task assignments
- Work coordination
- Team collaboration
- General company communication
All team members should use Slack as the primary method for internal communication and work-related discussions.
Industry Concepts
Key concepts commonly used in hardware retail and e-commerce.
Cooperative (Co-Op)
A co-op, or cooperative, is a business model in which independent stores collectively own and operate a larger organization.
In the hardware retail industry, co-ops provide member stores with:
- Increased purchasing power
- Shared marketing resources
- Access to extensive product catalogs
Each store owns a share of the cooperative and typically has a voice in how it operates, while still remaining an independent business.
Key Characteristics
- Store owners have full control over day-to-day operations
- Greater flexibility to tailor inventory, pricing, and marketing to the local market
- Individual stores own a share of the cooperative itself
Major Co-Ops in Hardware Industry
- Ace Hardware
- Do It Best
- True Value
- Orgill
Franchise Model
Franchises operate under a centralized corporate structure with strict rules and guidelines.
Key Characteristics
- Must follow corporate branding, purchasing, and operational rules
- Limited freedom in how the store is run
- Owners typically do not own the franchise brand or trademark
- Ownership is limited to the individual store location, not the parent company
Franchise owners are essentially licensed operators who pay to use the brand and systems.
Franchise vs. Cooperative Comparison
| Aspect | Franchise | Cooperative |
|---|---|---|
| Control | Centralized corporate control | Store owner independence |
| Branding | Strict brand consistency | Flexible local branding |
| Ownership | License to operate | Share ownership in organization |
| Operations | Must follow corporate rules | Independent decision-making |
Distributor
A distributor acts as an intermediary between manufacturers and retailers. Distributors purchase products from manufacturers and resell them to retailers—or sometimes directly to consumers—usually at a profit.
Distributors help manage logistics, inventory availability, and product distribution at scale.
Wholesaler
A wholesaler purchases goods in large quantities from manufacturers and sells them in smaller quantities to retailers or other businesses.
Wholesalers typically offer products at lower prices than retail, enabling retailers to maintain margins when selling to end customers.
Brand
A brand is the distinct identity of a product, service, or company. It often includes elements such as:
- Name
- Logo
- Visual design
- Reputation and customer perception
A brand represents the values, promises, and overall experience associated with an organization or product.
Billing Operations
This section covers how to identify and manage billing for EZ-AD TV and EZ-Commerce customers from the Kachooni admin platform.
EZ-AD TV - In-Store Signage System
What is EZ-AD TV?
- Simple box called EZ AD Media Player that enables hardware stores to display ads or content on LCD/Display devices
- Simple to install and very affordable
- Easily integrated with YouTube for channel video playback
- Can integrate with Social Media Pages
- Supports many different templates
EZ-AD TV Features
- Create playlists of videos and display on screen
- Control multiple EZ AD Screens from one page
- Automatically download and display ads to the EZ AD Media Box
- Schedule content for specific times
- Scale from one screen to hundreds with centralized control
How to Identify EZ-AD TV Billing
- In the Business Page, the EZ Commerce Monthly Billing amount will show as ZERO (customer not using EZ Commerce)
- Look for different serial numbers attached to the company - this shows how many EZ-AD TV boxes they have acquired
- Billing is calculated according to the number of boxes
- The Current Monthly Price shows the amount to be invoiced
EZ-Commerce Details
What is EZ-Commerce?
- E-commerce site for online orders & curbside pickup
- Showcases rental products with interface for customers & distributors
- Multi-Store capability - Multiple locations of a single store on one site
EZ-Commerce Billing Plans
| Plan | Monthly | Setup Fee |
|---|---|---|
| E2 (Basic) | $49 | None |
| E1 | $199 | $250 |
| E1 Plus | $399 | $1,000 |
How to Identify EZ-Commerce Subscription
- In the Business Page, company will have 'Custom' marked in Business Plan Category (always)
- The selected plan is shown in the EZ Commerce Monthly Bill Amount Section
- For customers with BOTH EZ-AD TV and EZ-Commerce:
- Business Plan Category = EZ-AD TV package
- EZ Commerce Monthly Bill Amount = EZ-Commerce plan amount
- Monthly Invoice = Total of both amounts
General Billing Process
All accounts (except TrueValue) receive invoices for EZ-AD & E-commerce through the EDI Portal.
Special Case: TrueValue Billing Split
- Billing for EZ-AD TV & EZ-Commerce is separate
- EZ-AD TV invoices are sent first
- EZ-Commerce reports are sent manually
Exception - Combined Billing Allowed
Only these 3 EZ-Commerce accounts can be billed with EZ-AD TV invoices:
- AGWAY
- Gorham's Home Center
- Hamtramck Hardware
Quick Reference Summary
| Product | Identification | Billing Method |
|---|---|---|
| EZ-AD TV Only | EZ Commerce Monthly = $0, Serial numbers present | Per device count |
| EZ-Commerce Only | Business Plan = 'Custom', No serial numbers | E2 ($49), E1 ($199), or E1 Plus ($399) |
| Both Products | Business Plan shows TV package + EZ Commerce amount | Combined total invoice |
| TrueValue Special | Any TrueValue account | Separate billing (except 3 exceptions) |
TrueValue SSO Accounts & MTS Program
Special billing procedures for TrueValue Single Sign-On accounts and the MTS Broadsheet Builder program.
Overview of TrueValue Partnership
As part of our special working relationship with TrueValue, we have created a unique application called MTS (Broadsheet Builder) with completely different billing procedures.
Customer Acquisition Paths
- Direct customers - Came to EZ-AD directly
- TrueValue SSO customers - Came through TrueValue's separate platform
What are SSO Accounts?
- SSO = Single Sign-On accounts provided by TrueValue
- Whenever you see "SSO", remember these are TrueValue-managed accounts
- Different billing and handling procedures compared to regular accounts
- Access "Broadsheet Builder MTS" - a product built specifically for TrueValue SSO accounts
MTS Program Details
What is MTS?
- Broadsheet Builder MTS = Circular builder tool
- EZ-AD TV does NOT provide circular builders to any other company
- Built specifically for TrueValue to sell to their stores
- SSO customers sign up for MTS TrueValue program, NOT EZ-AD program
Customer Experience
- Customer statements do not mention EZ-AD (all handled by TrueValue)
- If stores want EZ-AD TV features, they can upgrade
- When they upgrade → becomes a regular EZ-AD account
How to Identify SSO Accounts
In Business Page
- 'True Value SSO ONLY' section will be toggled ON
- 'Billable' box will be UNCHECKED
- Currently Monthly Bill shows $0
- True Value SSO ONLY = ON
- Billable = UNCHECKED
- Monthly Bill = $0
SSO Billing Process
Why SSO Accounts Exist in Our System
- Transparency purposes
- System requirement - customers can't use the system without an account in our system
- NOT for direct billing
Who We Bill
| Field | Value |
|---|---|
| Corporate Entity | TrueValue Marketing |
| Business Name | True Value Marketing Attn Ian Preston Master |
| Billing Method | Monthly corporate bill (NOT individual SSO accounts) |
| Frequency | Monthly |
Quick Reference: SSO vs Regular Accounts
| Account Type | Billing | Monthly Amount | Billable Box | SSO Toggle |
|---|---|---|---|---|
| Regular EZ-AD | Direct billing | Actual amount | Checked | OFF |
| SSO Account | Corporate billing only | $0 | Unchecked | ON |
| SSO Upgraded | Becomes regular EZ-AD | Actual amount | Checked | OFF |
Key Takeaways
- SSO accounts = TrueValue managed, we don't bill directly
- MTS program = TrueValue's circular builder service
- Billing goes to TrueValue Marketing corporate only
- Easy identification: SSO toggle ON + Billable unchecked + $0 bill
- Upgrade path available to convert to regular EZ-AD account
Billing Communication Channels & Important Pages
As a billing representative, you'll work through different pages and communication channels daily. This section covers all the important platforms and their functions.
EZ-AD Kachooni Portal - Core Pages
1. Businesses Page
Access & Setup:
- Found in Kachooni Navigation Panel
- If not visible, contact higher-ups or HR to enable access
Key Information Available:
- Business creation date
- Internal Business ID
- Billable status (Yes/No)
- Billing provider they signed up with
- Monthly rate & units (if applicable)
Main Functions:
- Add New Business: Click "Add Business" button → provide store details → business added to system
- Search & Filter: Use filter options to find specific businesses
- Cancelled Accounts: Select cancelled filter to search for cancelled accounts
- Identify Account Types:
- Billable accounts: Show "Remove Billing" in red (indicates account is being billed)
- SSO accounts: Check status and details to identify non-billed SSO accounts
2. Invoices Page
Access: Located in EZ AD Navigation Panel. Contact higher-ups/HR if not visible.
Daily Functions:
- Search for invoices
- Send unpaid invoices for billing through EDI
- Email invoices
- Mark invoices as paid when payment received
- Delete invoices (special circumstances only)
- Do NOT delete invoices unless special reason exists
- Must add notes/comments in the account when deletion occurs
Filter Options:
- Date generation
- Billing method (provider)
- Sent/Unsent status
- Paid/Unpaid status
- Vendor # lookup
- Export to CSV files
3. Check Images Page
When to Use:
- End of Month (EOM) - regular monitoring required
- Second-to-last step in reconciliation process
Functions:
- Upload all payments: Credit Card, ACH, Check payments
- Audit for discrepancies: Look for "red flags/variances"
- Variance indicators: Red amounts indicate discrepancies that need checking
Slack Communication Channels
1. Accounting Channel
Purpose: Primary billing communication hub
- Daily accounting tasks
- Daily billing meetings
- Confirmations & questions
- Verifications & updates
- General accounting discussions
2. Remittance Channel
Purpose: Payment processing
- Payment confirmations
- Approval numbers for invoices
- Payment-related communications
3. EZ-Commerce Channel
Sub-channels:
- Billing: Confirmations, billing setup, updates, TV-E-commerce issues, discrepancies
- Cancellations: Cancellation requests and processing
External Billing Provider Websites
- Corcentric - TrueValue EZ-AD TV invoices
- Orgill
- Stripe
- ACE
Quick Reference Workflow
| Step | Page/Channel | Purpose | Frequency |
|---|---|---|---|
| 1 | Businesses Page | Account management & setup | As needed |
| 2 | Invoices Page | Daily invoice processing | Daily |
| 3 | Slack Channels | Communication & updates | Daily |
| 4 | Check Images Page | Payment reconciliation | End of Month |
| 5 | Provider Websites | External billing management | As needed |
Access Issues
If any page is not visible in your navigation panel, immediately contact higher-ups or HR to enable access.
EZ-AD TV Activity Status - Checking Customer Usage for Billing Disputes
This guide explains how to verify customer usage of EZ-AD TV services when handling billing disputes.
Why Check Activity Status?
Common Scenarios
- Billing audits when owners dispute charges
- Customer refuses to pay for services
- Contract cancellation disputes
- Service usage verification for billing providers
How to Check Activity Status
Step 1: Verify EZ-AD TV Account
- Click on the business you want to check
- Confirm it's an EZ-AD TV account by checking:
- Business Plan reflects EZ-AD pricing
- Serial Numbers section shows assigned serials to the account
Step 2: Access Customer Dashboard
- Click "Login as a business" to access their account view
Step 3: Check Last Activity (My Library)
- Click "My Library" tab (top left)
- Information provided:
- Last time customer created an ad
- Which screen the ad is being displayed on
- Content activity timeline
Step 4: Check Device Status (Screens)
- Click "Screens" tab (top left)
- Device Status Information:
- Total number of screens they have
- Online/Offline status of each device
Screen Status Indicators
| Color | Status | Meaning |
|---|---|---|
| Pale Yellow | Online | Device is active and connected |
| Red | Offline | Device is disconnected/inactive |
Using This Information for Billing
For Billing Disputes
- Document last activity dates from My Library
- Record device online/offline status from Screens
- Note total devices currently assigned
- Share evidence with billing providers to prove service usage
Key Evidence Points
- Last ad creation date = Proves recent usage
- Screen activity status = Shows active devices
- Serial number assignments = Confirms device allocation
- Timeline of usage = Establishes billing period validity
Documentation Workflow for Disputes
- Identify disputed account in Business Page
- Verify EZ-AD TV status (business plan + serial numbers)
- Login as business to access their dashboard
- Check My Library for last activity dates
- Check Screens for device status
- Document findings for billing provider submission
- Submit evidence to support billing legitimacy
- Sensitive Information: This process accesses customer account data - handle with care
- Documentation Required: Always document findings for billing disputes
- Provider Communication: Share activity evidence with billing providers when needed
Best Practices
- Screenshot evidence when documenting disputes
- Note exact dates of last activity
- Record all device statuses (online/offline count)
- Maintain audit trail of all checks performed
Technical Operations
Documentation coming soon.
AI Email Campaign Setup Guide
Step-by-step instructions for setting up new AI email campaigns.
Part 1: Domain & DNS Setup
- Buy or get access to the domain for the AI emailer
- Go to the domain's DNS settings
- Add a DNS A Record with these settings:
- IP Address: 34.69.55.76
- TTL: 60
- Save the DNS settings
- Wait a few minutes for DNS to propagate
Part 2: Mirror Site & Apache Setup
- SSH into the EZ Static Server
- Run the mirror site script:
./mirrorsite.sh - After mirroring, run the Apache setup script:
./setup_apache_site.sh- This sets up the Apache server to accept the URL
- This also sets up SSL encryption for HTTPS
- Verify the site loads with https:// in the browser
Part 3: Slack Channel Setup
- Create a private Slack channel
- Make sure EZ-AD Doge is added to channel
- Name format:
leads/[Company Name] - Example: "leads_CompanyNameorsubject"
- Add the required team members to the channel
- Get the Channel ID and save it (you'll need this later)
Part 4: Database & Campaign Setup
- Check if the campaign already exists in
calls_ai_campaigns- If it doesn't exist, create a new campaign entry
- Write down the Campaign ID (the
idicolumn) - Write down the
group_idof theai_emailers_from_emailstable - Create an entry in
ai_emailerswith these columns:
| Column | Value/Description |
|---|---|
campaign_id |
From step 2 |
group_id |
From step 3 |
Table_name |
Can be anything |
Enable_slack_notify |
1 |
Slack_channel_id |
ID of the channel |
Instruction_file |
folder/file.txt of the instructions |
Active_stats |
1 |
Percentage_of_reemail |
.01 |
Daily_email_limit_per_email |
20 |
Must_have_link |
1 (if CTA link exists) |
Signature_url |
Set after Part 5 |
Click_link_url |
Call to action URL |
Click_link_text |
Required if above is set |
Part 5: Logo Upload for Email Signature
- Get the company logo from the client
- Resize the logo:
- Width: 150-200 pixels (200px max)
- Height: 30-50 pixels (keep proportional)
- File size: Under 50KB
- Format: PNG (for transparency) or JPG
- Go to EZ AD Uploader
- Upload the resized logo
- Copy the generated image URL
- Add the logo URL to
signature_urlin the ai_emailers table
Part 6: Email Template Setup
- Go to the "Playground" tool
- Find an existing email template that's similar
- Starting point:
https://kachooni.com/admin:playground/648164/heyads - Copy that template
- Go to
https://git.ezadtv.com/stevenh/ezad-adminand login - Navigate to: code > branches > production
- Go to: files > instructions > aiemailer
- Click + button to add a new file
- Name the file (same as in ai_emailer table, ending with .txt)
- Example:
installation_emailer.txt
- Example:
- Paste the instructions, commit file and submit
Part 7: Slack Welcome Message
- Create a welcome message for Lawrence on Slack
- Name format: "[Company Name] emailer"
- Include all details:
- Campaign ID
- Email Group number
- Slack Channel ID
- Look up search IDs from EZ-AI database (
ezad_ai_searchestable) - Have Lawrence run:
./eznohup scripts/websitescrapper/place_search_push.php [search_id] [campaign_id] - Check back after 24 hours, or run this query in heyads database:
SELECT COUNT(*) FROM ai_emailer_available WHERE campaign_id = "35"When the number stops increasing, it's done.
Part 9: Script Setup
- Go to:
https://git.ezadtv.com/stevenh/ezad-admin/-/tree/production/scripts/sales - Copy an existing script (e.g.,
villa_coasta_ai.php) into a new file - Name it with underscores, ending with .php
- Update the script with the new Campaign ID (at the top of file)
- Important: Comment out this line:
//$aiEmailer->sendEmailsImmediately();
Part 11: Test Before Going Live
- Ask Lawrence to run
- Run the system once to generate test emails
- Review all emails to make sure they look good
- Check for any errors or issues
- Once everything looks good, turn ON email sending
- Activate the campaign!
Once approved, ask Lawrence to set up a cronjob to run the script at a specific time.
Leveraging AI in Programming and Client Communication
Best practices guide for integrating AI tools into programming workflows and client communication.
Overview
This guide outlines effective strategies for integrating AI tools into programming workflows and client communication processes to enhance productivity, code quality, and client satisfaction.
AI in Programming
1. Code Development and Completion
Tools: GitHub Copilot, ChatGPT, Claude, Tabnine, CodeWhisperer
Best Practices:
- Use AI for boilerplate code generation and repetitive patterns
- Leverage AI for exploring different implementation approaches
- Generate unit tests and documentation automatically
- Use AI to explain complex code sections for better maintainability
Example Workflow
- Write function signature and comments
- Let AI suggest implementation
- Review and refine the generated code
- Use AI to generate corresponding unit tests
2. Code Review and Quality Assurance
Applications:
- Automated code review suggestions
- Bug detection and security vulnerability identification
- Performance optimization recommendations
- Code style consistency checks
Implementation:
- Integrate AI-powered linting tools into CI/CD pipeline
- Use AI for pre-commit code analysis
- Generate code quality reports with AI insights
3. Documentation and Comments
AI Assistance for:
- Generating API documentation from code
- Creating inline comments for complex logic
- Writing README files and setup instructions
- Translating technical documentation for different audiences
4. Debugging and Problem Solving
- Use AI to analyze error logs and stack traces
- Generate debugging strategies for complex issues
- Get suggestions for alternative solutions
- Explain error messages in plain language
5. Learning and Skill Development
- Explain new technologies and frameworks
- Provide code examples for learning
- Suggest best practices for specific scenarios
- Generate practice problems and exercises
AI in Client Communication
1. Requirements Gathering and Clarification
AI Tools Help With:
- Analyzing client requirements for ambiguities
- Generating clarifying questions
- Creating user stories from high-level requirements
- Translating business needs into technical specifications
Process
- Client provides initial requirements
- Use AI to identify gaps and ambiguities
- Generate clarifying questions
- Create detailed technical specifications
- Validate understanding with client
2. Progress Reporting and Updates
Automated Communication:
- Generate weekly progress reports
- Create client-friendly summaries of technical work
- Translate technical achievements into business value
- Generate timeline updates and milestone reports
3. Technical Concept Translation
Use AI to:
- Explain complex technical concepts in simple terms
- Create visual metaphors for abstract concepts
- Generate client presentations and proposals
- Translate technical constraints into business implications
4. Meeting Preparation and Follow-up
- Generate meeting agendas based on project status
- Create talking points for client calls
- Summarize meeting notes and action items
- Generate follow-up emails with clear next steps
Implementation Guidelines
Tool Selection Criteria
- Integration capability with existing development environment
- Security and privacy compliance for client data
- Cost-effectiveness and ROI analysis
- Team adoption and learning curve considerations
Workflow Integration
- Requirements Analysis (AI-assisted)
- Architecture Planning (AI consultation)
- Code Development (AI pair programming)
- Testing (AI-generated test cases)
- Documentation (AI-assisted writing)
- Client Communication (AI-enhanced reporting)
Quality Control
- Always review AI-generated code before implementation
- Validate AI suggestions against project requirements
- Maintain human oversight for client communications
- Regular assessment of AI tool effectiveness
Security and Privacy Considerations
Data Protection
- Never share sensitive client information with public AI models
- Use enterprise-grade AI tools for sensitive projects
- Implement data anonymization when using AI tools
- Regular security audits of AI tool usage
Intellectual Property
- Understand AI tool terms of service regarding code ownership
- Maintain clear documentation of AI-assisted vs. original work
- Ensure client agreements cover AI tool usage
- Regular review of AI-generated content for potential IP issues
Common Pitfalls and Solutions
| Pitfall | Problem | Solution |
|---|---|---|
| Over-reliance on AI | Losing critical thinking skills | Use AI as a tool, not a replacement for expertise |
| Quality Control Issues | Accepting AI suggestions without review | Implement mandatory human review processes |
| Client Trust Concerns | Clients worried about AI replacing human expertise | Transparent communication about AI as an enhancement tool |
| Security Risks | Inadvertent data exposure through AI tools | Strict data handling protocols and tool selection |
Recommended AI Tools
Programming
- GitHub Copilot - Code completion
- ChatGPT/Claude - Problem solving, documentation
- CodeWhisperer - AWS integration
- Tabnine - Multi-language support
Communication
- Grammarly Business - Writing enhancement
- Notion AI - Documentation and note-taking
- Jasper/Copy.ai - Content generation
- Calendly AI - Meeting scheduling and preparation
Training
Documentation coming soon.
Security Awareness Training
Security orientation training featuring the CEO of EZADTV that teaches team members how to stay safe from scammers.
Scammer Orientation Video
- Source: CEO of EZADTV
- Topic: Scammer prevention and security awareness
- Purpose: Learn company protocols for staying safe from scammer attempts
Video Link: Scammer Orientation Video
Training Topics
This training is essential for all team members to understand:
- How to identify potential scammer attempts
- Company security protocols
- Best practices for protecting company and customer information