POSBridge Documentation
Data import specification — what comes in, where it goes
What POSBridge Does
POSBridge is the exclusive data gateway between POS systems and the PAG platform. No other application connects to a POS directly. POSBridge receives raw POS data (via CSV upload or API), maps it to a canonical platform model, and routes each record to the correct target application.
PHASE 1 (Current)
CSV / Excel Upload
Manual file import from POS exports
PHASE 2 (Planned)
Live API Adapters
EPASS XAPI, WhirlWind, STORIS
PHASE 3 (Future)
Bi-directional Sync
Platform → POS (orders, customers)
Data Flow
POS System (EPASS / WhirlWind / STORIS / CSV Export)
│
▼
┌─────────────────────────────────────────┐
│ POSBridge │
│ ┌──────────┐ ┌───────────────────┐ │
│ │ Adapter │───▶│ Field Mapping │ │
│ │ (CSV/API) │ │ Engine │ │
│ └──────────┘ └───────┬───────────┘ │
│ │ │
│ ┌───────────▼───────────┐ │
│ │ Canonical Data Model │ │
│ │ (Staging Database) │ │
│ └───────────┬───────────┘ │
│ │ │
│ ┌───────────▼───────────┐ │
│ │ Data Router │ │
│ └──┬──────┬──────┬──────┘ │
└─────────────────┼──────┼──────┼──────────┘
│ │ │
┌──────────┘ │ └──────────┐
▼ ▼ ▼
┌─────────────┐ ┌──────────────┐ ┌──────────────┐
│ CRM Lite │ │ PMAppliance │ │ RepairPro │
│ (ClientPulse)│ │ Hub │ │ │
│ │ │ │ │ │
│ • Customers │ │ • Appliances │ │ • Service │
│ • Orders │ │ • Properties │ │ History │
│ • Quotes │ │ • Warranties │ │ • Tickets │
│ • Products │ │ │ │ │
└─────────────┘ └──────────────┘ └──────────────┘Data Types & Field Mapping
CUSTOMER
Customers
→ CRM Lite (Person)| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| FirstName | string | Yes | CustFirst | FirstName | Customer first name |
| LastName | string | Yes | CustLast | LastName | Customer last name |
| string | No | CustEmail | Primary email address | ||
| Phone | string | No | CustPhone | Phone1 | Primary phone number |
| Address | string | No | CustAddr1 | Address1 | Street address |
| City | string | No | CustCity | City | City |
| State | string | No | CustState | State | State/Province |
| Zip | string | No | CustZip | ZipCode | ZIP/Postal code |
| CustomerCode | string | No | CustNo | CustomerCode | POS customer account number |
| AccountType | string | No | CustType | AccountType | Account type (Retail, Commercial, etc.) |
| DoNotEmail | bool | No | OptOutEmail | DoNotEmail | Email opt-out flag |
| DoNotText | bool | No | OptOutSMS | DoNotText | SMS opt-out flag |
ORDER
Orders / Invoices
→ CRM Lite (PlatformOrder)| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| OrderNumber | string | Yes | OrderNo | InvoiceNumber | POS order/invoice number |
| CustomerCode | string | Yes | CustNo | CustomerCode | Links to customer record |
| OrderDate | DateTime | Yes | OrderDate | InvoiceDate | Date order was placed |
| Status | string | No | OrderStatus | Status | Open, Pending, Delivered, etc. |
| SubTotal | decimal | No | SubTotal | SubTotal | Pre-tax total |
| Tax | decimal | No | TaxAmt | TaxAmount | Tax amount |
| Total | decimal | Yes | OrderTotal | Total | Total including tax |
| DeliveryDate | DateTime? | No | DelivDate | DeliveryDate | Scheduled/actual delivery date |
| DeliveryStatus | string | No | DelivStatus | DeliveryStatus | Scheduled, Delivered, etc. |
| Notes | string | No | Comments | Notes | Order notes or special instructions |
LINE ITEM
Order Line Items
→ CRM Lite (PlatformOrderLine)| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| OrderNumber | string | Yes | OrderNo | InvoiceNumber | Parent order reference |
| ModelNumber | string | Yes | Model | ModelNumber | Product model number |
| Brand | string | No | Brand | BrandName | Manufacturer brand |
| Category | string | No | ProdCat | Category | Product category |
| Description | string | No | ProdDesc | Description | Product description |
| Quantity | int | Yes | Qty | Quantity | Quantity ordered |
| UnitPrice | decimal | Yes | Price | SellPrice | Sell price per unit |
| SerialNumber | string | No | Serial | SerialNumber | Appliance serial number |
QUOTE
Quotes
→ CRM Lite (CrmQuote)| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| QuoteNumber | string | Yes | QuoteNo | QuoteNumber | POS quote number |
| CustomerCode | string | Yes | CustNo | CustomerCode | Links to customer |
| QuoteDate | DateTime | Yes | QuoteDate | QuoteDate | Date quote was created |
| ExpirationDate | DateTime? | No | ExpDate | ExpirationDate | Quote expiration |
| Status | string | No | QuoteStatus | Status | Draft, Sent, Accepted, Expired |
| Total | decimal | Yes | QuoteTotal | Total | Quote total |
PRODUCT
Products / Catalog
→ CRM Lite (ProductCatalog)| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| ModelNumber | string | Yes | Model | ModelNumber | Product model number (unique key) |
| Brand | string | Yes | Brand | BrandName | Manufacturer brand |
| Category | string | No | ProdCat | Category | Product category |
| Description | string | No | ProdDesc | Description | Product description |
| CostPrice | decimal | No | Cost | DealerCost | Dealer/wholesale cost |
| RetailPrice | decimal | No | MSRP | ListPrice | List/retail price |
DELIVERY
Deliveries
→ CRM Lite (PlatformDelivery)| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| OrderNumber | string | Yes | OrderNo | InvoiceNumber | Links to order |
| DeliveryDate | DateTime | Yes | DelivDate | DeliveryDate | Delivery date |
| Status | string | No | DelivStatus | Status | Scheduled, Delivered, Failed |
| DriverNotes | string | No | Notes | DriverNotes | Driver/delivery notes |
SERVICE
Service History
→ RepairPro| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| CustomerCode | string | Yes | CustNo | CustomerCode | Links to customer |
| ServiceDate | DateTime | Yes | SvcDate | ServiceDate | Date of service |
| TechnicianName | string | No | TechName | TechName | Service technician |
| Description | string | No | SvcDesc | ProblemDescription | Service description |
| Parts | string | No | Parts | PartsUsed | Parts used (comma-separated) |
| Status | string | No | SvcStatus | Status | Open, Completed, Cancelled |
PAYMENT
Payments
→ DealerOS / CRM Lite| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| OrderNumber | string | Yes | OrderNo | InvoiceNumber | Links to order/invoice |
| PaymentDate | DateTime | Yes | PmtDate | PaymentDate | Date payment received |
| Amount | decimal | Yes | PmtAmt | Amount | Payment amount |
| Method | string | Yes | PmtType | PaymentMethod | Cash, Check, Credit Card, Financing, ACH |
| ReferenceNumber | string | No | RefNo | ReferenceNumber | Check #, card last 4, financing contract # |
| CardType | string | No | CardType | CardType | Visa, MC, Amex (if credit card) |
| FinancingProvider | string | No | FinCo | FinanceCompany | Synchrony, Wells Fargo, etc. |
| FinancingTerm | string | No | FinTerm | FinanceTerm | 12mo, 24mo, etc. |
| IsDeposit | bool | No | IsDeposit | IsDeposit | Deposit vs final payment |
PO
Purchase Orders
→ DealerOS / Inventory| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| PONumber | string | Yes | PONo | PONumber | Purchase order number |
| VendorName | string | Yes | VendorName | VendorName | Vendor/supplier name |
| VendorCode | string | No | VendorNo | VendorCode | Vendor account code |
| OrderDate | DateTime | Yes | PODate | PODate | PO creation date |
| ExpectedDate | DateTime? | No | ETA | ETADate | Expected delivery date |
| Status | string | No | POStatus | Status | Open, Partial, Received, Closed |
| Total | decimal | No | POTotal | Total | Total PO amount |
| TrackingNumber | string | No | Tracking | TrackingNumber | Shipping tracking number |
| Notes | string | No | Comments | Notes | PO notes |
PO LINE
PO Line Items
→ DealerOS / Inventory| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| PONumber | string | Yes | PONo | PONumber | Parent PO reference |
| ModelNumber | string | Yes | Model | ModelNumber | Product model ordered |
| Brand | string | No | Brand | BrandName | Manufacturer |
| Description | string | No | ProdDesc | Description | Product description |
| QuantityOrdered | int | Yes | QtyOrd | QtyOrdered | Quantity ordered |
| QuantityReceived | int | No | QtyRcvd | QtyReceived | Quantity received so far |
| UnitCost | decimal | Yes | Cost | UnitCost | Cost per unit |
| AssignedOrderNumber | string | No | AssignOrd | SalesOrderNumber | Customer order this is allocated to |
INVENTORY
Inventory Units
→ DealerOS / PMApplianceHub| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| ModelNumber | string | Yes | Model | ModelNumber | Product model number |
| SerialNumber | string | No | Serial | SerialNumber | Unit serial number |
| Brand | string | No | Brand | BrandName | Manufacturer |
| Location | string | No | Location | WarehouseLocation | Warehouse aisle/bay/shelf |
| Condition | string | No | Condition | Condition | New, Open Box, Damaged, Refurbished |
| ReceivedDate | DateTime? | No | RcvDate | ReceivedDate | Date received into inventory |
| CostPaid | decimal | No | CostPaid | CostPaid | Actual cost paid for this unit |
| AllocatedToOrder | string | No | AllocOrd | AllocatedOrder | Order this unit is reserved for |
| PONumber | string | No | PONo | PONumber | PO this unit came from |
| Status | string | No | InvStatus | Status | Available, Held, Sold, Returned, Damaged |
RETURN
Returns
→ DealerOS / ReturnFlow| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| ReturnNumber | string | Yes | RANo | ReturnNumber | Return authorization number |
| OriginalOrderNumber | string | Yes | OrigOrder | OriginalInvoice | Original order being returned |
| CustomerCode | string | Yes | CustNo | CustomerCode | Customer returning the item |
| ReturnDate | DateTime | Yes | RetDate | ReturnDate | Date return was initiated |
| ModelNumber | string | Yes | Model | ModelNumber | Product being returned |
| SerialNumber | string | No | Serial | SerialNumber | Serial number of returned unit |
| Reason | string | No | Reason | ReturnReason | Reason for return |
| Condition | string | No | Condition | InspectionResult | Inspection result: Resellable, Damaged, Defective |
| RefundAmount | decimal | No | RefundAmt | RefundAmount | Amount refunded to customer |
| VendorCreditAmount | decimal | No | VendorCred | VendorCredit | Credit received from vendor |
| Disposition | string | No | Disposition | Disposition | Restock, Return to Vendor, Scrap, Outlet |
| Status | string | No | RetStatus | Status | Pending, Inspected, Processed, Closed |
DEPOSIT
Bank Deposits
→ DealerOS / Accounting| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| DepositDate | DateTime | Yes | DepDate | DepositDate | Date of bank deposit |
| DepositNumber | string | No | DepNo | DepositNumber | Deposit slip number |
| CashAmount | decimal | No | Cash | CashAmount | Cash in deposit |
| CheckAmount | decimal | No | Checks | CheckAmount | Checks in deposit |
| CardAmount | decimal | No | Cards | CardAmount | Credit card batch total |
| TotalAmount | decimal | Yes | DepTotal | Total | Total deposit amount |
| Status | string | No | DepStatus | Status | Unposted, Posted, Reconciled |
STAFF
Staff / Salespeople
→ DealerOS / CRM Lite| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| EmployeeCode | string | Yes | EmpNo | EmployeeCode | Employee/salesperson code |
| FirstName | string | Yes | EmpFirst | FirstName | First name |
| LastName | string | Yes | EmpLast | LastName | Last name |
| string | No | EmpEmail | |||
| Phone | string | No | EmpPhone | Phone | Phone |
| Role | string | No | EmpRole | Role | Sales Associate, Manager, Warehouse, etc. |
| CommissionRate | decimal? | No | CommRate | CommRate | Commission percentage |
| IsActive | bool | No | Active | IsActive | Currently active employee |
PROPERTY
Properties / Homes
→ PMApplianceHub| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| CustomerCode | string | Yes | CustNo | CustomerCode | Links to customer/owner |
| Address | string | Yes | ShipAddr | DeliveryAddress | Property street address |
| City | string | No | ShipCity | DeliveryCity | City |
| State | string | No | ShipState | DeliveryState | State |
| Zip | string | No | ShipZip | DeliveryZip | ZIP code |
| UnitNumber | string | No | Unit | Suite | Apartment/unit number |
| PropertyType | string | No | — | — | House, Condo, Apartment, Commercial |
| TenantName | string | No | — | — | Current tenant (if rental) |
APPLIANCE
Appliance Ownership
→ PMApplianceHub (UnitAppliance)| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| CustomerCode | string | Yes | CustNo | CustomerCode | Links to customer/property owner |
| PropertyAddress | string | No | ShipAddr | DeliveryAddress | Property where installed |
| ApplianceType | string | Yes | ProdCat | Category | Refrigerator, Range, Dishwasher, etc. |
| Brand | string | Yes | Brand | BrandName | Manufacturer brand |
| ModelNumber | string | Yes | Model | ModelNumber | Product model number |
| SerialNumber | string | No | Serial | SerialNumber | Appliance serial number |
| PurchaseDate | DateTime? | No | OrderDate | InvoiceDate | Date purchased (from order) |
| PurchasePrice | decimal? | No | Price | SellPrice | Price customer paid |
| InstallDate | DateTime? | No | DelivDate | DeliveryDate | Date installed |
| WarrantyExpires | DateTime? | No | WarrExp | WarrantyExpDate | Warranty expiration date |
| WarrantyType | string | No | WarrType | WarrantyType | Manufacturer, Extended, None |
DAMAGE
Damage Reports
→ DealerOS / Warehouse| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| OrderNumber | string | No | OrderNo | InvoiceNumber | Related order (if applicable) |
| ModelNumber | string | Yes | Model | ModelNumber | Damaged product model |
| SerialNumber | string | No | Serial | SerialNumber | Serial of damaged unit |
| DamageDate | DateTime | Yes | DmgDate | DamageDate | Date damage reported |
| Severity | string | No | Severity | Severity | Minor, Moderate, Severe |
| Description | string | No | DmgDesc | Description | Description of damage |
| PhotoUrls | string | No | — | — | Damage photos (URLs, comma-separated) |
| Disposition | string | No | Disposition | Disposition | Return to Vendor, Outlet, Scrap |
TRANSFER
Warehouse Transfers
→ DealerOS / Warehouse| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| TransferNumber | string | Yes | XferNo | TransferNo | Transfer document number |
| FromLocation | string | Yes | FromLoc | FromWarehouse | Source warehouse/location |
| ToLocation | string | Yes | ToLoc | ToWarehouse | Destination warehouse/location |
| TransferDate | DateTime | Yes | XferDate | TransferDate | Date of transfer |
| ModelNumber | string | Yes | Model | ModelNumber | Product being transferred |
| SerialNumber | string | No | Serial | SerialNumber | Serial number |
| Quantity | int | Yes | Qty | Quantity | Quantity transferred |
| Status | string | No | XferStatus | Status | Pending, In Transit, Received |
QUOTE LINE
Quote Line Items
→ CRM Lite (CrmQuoteLineItem)| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| QuoteNumber | string | Yes | QuoteNo | QuoteNumber | Parent quote reference |
| ModelNumber | string | Yes | Model | ModelNumber | Product model number |
| Brand | string | No | Brand | BrandName | Manufacturer brand |
| Description | string | No | ProdDesc | Description | Product description |
| Quantity | int | Yes | Qty | Quantity | Quantity quoted |
| UnitPrice | decimal | Yes | Price | SellPrice | Quoted price per unit |
| DiscountPercent | decimal? | No | DiscPct | DiscountPct | Line-level discount percentage |
| ExtendedPrice | decimal | No | ExtPrice | ExtendedPrice | Quantity x UnitPrice - Discount |
VENDOR
Vendors / Suppliers
→ DealerOS / CRM Lite (Company)| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| VendorCode | string | Yes | VendorNo | VendorCode | Vendor account code |
| VendorName | string | Yes | VendorName | VendorName | Company name |
| ContactName | string | No | VendorContact | ContactName | Primary contact person |
| Phone | string | No | VendorPhone | Phone | Phone number |
| string | No | VendorEmail | Email address | ||
| Address | string | No | VendorAddr | Address1 | Street address |
| City | string | No | VendorCity | City | City |
| State | string | No | VendorState | State | State |
| Zip | string | No | VendorZip | ZipCode | ZIP code |
| AccountNumber | string | No | AcctNo | AccountNumber | Retailer's account # with this vendor |
| PaymentTerms | string | No | Terms | Terms | Net 30, COD, etc. |
| IsActive | bool | No | Active | IsActive | Active vendor |
ADDRESS
Customer Addresses
→ CRM Lite (PersonAddress)| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| CustomerCode | string | Yes | CustNo | CustomerCode | Links to customer |
| AddressType | string | Yes | AddrType | AddressType | Billing, Shipping, Service, Home |
| Address | string | Yes | Addr1 | Address1 | Street address |
| Address2 | string | No | Addr2 | Address2 | Suite, apt, unit |
| City | string | No | City | City | City |
| State | string | No | State | State | State |
| Zip | string | No | Zip | ZipCode | ZIP code |
| IsPrimary | bool | No | Primary | IsPrimary | Primary address for this type |
| Notes | string | No | AddrNotes | Notes | Delivery instructions, gate code, etc. |
ROUTE
Delivery Routes / Stops
→ DealerOS / DeliveryFlow| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| RouteDate | DateTime | Yes | RouteDate | RouteDate | Delivery route date |
| RouteName | string | No | RouteName | RouteName | Route identifier (Truck A, Route 1, etc.) |
| DriverName | string | No | Driver | DriverName | Assigned driver |
| TruckId | string | No | TruckNo | TruckId | Truck/vehicle identifier |
| StopNumber | int | Yes | StopNo | StopSequence | Stop order on route |
| OrderNumber | string | Yes | OrderNo | InvoiceNumber | Order being delivered at this stop |
| CustomerCode | string | No | CustNo | CustomerCode | Customer at this stop |
| Address | string | No | DelivAddr | DeliveryAddress | Delivery address |
| TimeWindow | string | No | TimeWin | TimeWindow | Delivery window (8am-12pm, etc.) |
| ItemCount | int | No | Items | ItemCount | Number of items on this stop |
| Status | string | No | StopStatus | Status | Scheduled, En Route, Delivered, Failed |
| CompletedAt | DateTime? | No | DelivTime | CompletedTime | Actual delivery time |
| DriverNotes | string | No | Notes | DriverNotes | Driver notes at delivery |
| SignatureUrl | string | No | SigUrl | SignatureUrl | Customer signature image URL |
| PhotoUrls | string | No | Photos | PhotoUrls | Delivery photos (comma-separated URLs) |
PRICING
Price Lists / Price Codes
→ PriceSync2 / DealerOS| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| PriceCode | string | Yes | PriceCode | PriceCode | Price list identifier (Retail, Builder, Employee, VIP) |
| Description | string | No | PriceDesc | Description | Price list description |
| ModelNumber | string | Yes | Model | ModelNumber | Product model |
| ListPrice | decimal | No | MSRP | ListPrice | Manufacturer suggested retail price |
| SellPrice | decimal | Yes | SellPrice | SellPrice | Selling price for this price code |
| CostPrice | decimal | No | Cost | DealerCost | Dealer cost |
| MinPrice | decimal? | No | MinPrice | MinPrice | Minimum allowed sell price (MAP) |
| EffectiveDate | DateTime? | No | EffDate | EffectiveDate | When this price takes effect |
| ExpirationDate | DateTime? | No | ExpDate | ExpirationDate | When this price expires |
PROMO
Promotions / Rebates
→ DealerOS / CRM Lite| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| PromoCode | string | Yes | PromoNo | PromoCode | Promotion/rebate identifier |
| PromoName | string | Yes | PromoName | PromoName | Promotion name |
| PromoType | string | No | PromoType | PromoType | Manufacturer Rebate, Store Promo, Co-op, Spiff |
| Brand | string | No | Brand | BrandName | Applicable brand (or blank for all) |
| ModelNumber | string | No | Model | ModelNumber | Specific model (or blank for category) |
| Category | string | No | ProdCat | Category | Product category |
| DiscountAmount | decimal? | No | DiscAmt | DiscountAmount | Fixed dollar discount |
| DiscountPercent | decimal? | No | DiscPct | DiscountPct | Percentage discount |
| RebateAmount | decimal? | No | RebateAmt | RebateAmount | Mail-in/instant rebate amount |
| StartDate | DateTime | Yes | StartDate | StartDate | Promotion start date |
| EndDate | DateTime | Yes | EndDate | EndDate | Promotion end date |
| IsActive | bool | No | Active | IsActive | Currently active |
WARRANTY
Warranty Claims
→ RepairPro| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| ClaimNumber | string | Yes | ClaimNo | ClaimNumber | Warranty claim number |
| CustomerCode | string | Yes | CustNo | CustomerCode | Customer filing claim |
| ModelNumber | string | Yes | Model | ModelNumber | Product model |
| SerialNumber | string | Yes | Serial | SerialNumber | Appliance serial number |
| ClaimDate | DateTime | Yes | ClaimDate | ClaimDate | Date claim filed |
| IssueDescription | string | No | ClaimDesc | Description | Description of the issue |
| ClaimStatus | string | No | ClaimStatus | Status | Filed, Approved, Denied, Paid |
| ClaimAmount | decimal? | No | ClaimAmt | ClaimAmount | Amount claimed |
| PaidAmount | decimal? | No | PaidAmt | PaidAmount | Amount paid by manufacturer |
| ManufacturerRef | string | No | MfgRef | MfgReference | Manufacturer reference/case number |
NOTE
Customer Notes
→ CRM Lite (Communication)| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| CustomerCode | string | Yes | CustNo | CustomerCode | Links to customer |
| NoteDate | DateTime | Yes | NoteDate | NoteDate | Date note was created |
| NoteText | string | Yes | Note | NoteText | Note content |
| NoteType | string | No | NoteType | NoteType | General, Phone Call, Follow-up, Complaint |
| CreatedBy | string | No | Author | CreatedBy | Employee who wrote the note |
FINANCE
Financing Applications
→ DealerOS| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| ApplicationId | string | Yes | AppNo | ApplicationId | Financing application ID |
| CustomerCode | string | Yes | CustNo | CustomerCode | Customer applying |
| Provider | string | Yes | FinCo | FinanceCompany | Synchrony, Wells Fargo, GreenSky, etc. |
| ApplicationDate | DateTime | Yes | AppDate | ApplicationDate | Date applied |
| RequestedAmount | decimal | No | ReqAmt | RequestedAmount | Amount requested |
| ApprovedAmount | decimal? | No | ApprvAmt | ApprovedAmount | Amount approved |
| Term | string | No | FinTerm | Term | 12mo, 24mo, 36mo, etc. |
| InterestRate | decimal? | No | IntRate | Rate | Interest rate (0 for promos) |
| Status | string | No | AppStatus | Status | Pending, Approved, Denied, Expired |
| OrderNumber | string | No | OrderNo | InvoiceNumber | Order this financing is applied to |
PARTS
Parts Inventory
→ RepairPro| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| PartNumber | string | Yes | PartNo | PartNumber | Part number / SKU |
| Description | string | No | PartDesc | Description | Part description |
| Brand | string | No | Brand | BrandName | Manufacturer |
| QuantityOnHand | int | No | QtyOH | QtyOnHand | Current stock count |
| CostPrice | decimal | No | PartCost | Cost | Cost per unit |
| SellPrice | decimal | No | PartPrice | SellPrice | Sell price per unit |
| Location | string | No | Bin | BinLocation | Storage bin/shelf location |
| CompatibleModels | string | No | FitsModels | CompatibleModels | Appliance models this part fits (comma-separated) |
APPOINTMENT
Service Appointments
→ RepairPro| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| AppointmentId | string | Yes | SvcTicket | TicketNumber | Service ticket/appointment ID |
| CustomerCode | string | Yes | CustNo | CustomerCode | Customer |
| ScheduledDate | DateTime | Yes | SvcDate | ScheduledDate | Scheduled service date |
| TimeWindow | string | No | TimeWin | TimeWindow | Morning, Afternoon, 8-12, 1-5 |
| TechnicianName | string | No | Tech | TechName | Assigned technician |
| ServiceAddress | string | No | SvcAddr | ServiceAddress | Where service is performed |
| ApplianceModel | string | No | Model | ModelNumber | Appliance to be serviced |
| ApplianceSerial | string | No | Serial | SerialNumber | Serial number |
| ProblemDescription | string | No | Problem | Problem | Customer-reported issue |
| Status | string | No | SvcStatus | Status | Scheduled, Dispatched, In Progress, Completed, Cancelled |
| EstimatedDuration | string | No | EstTime | EstDuration | Estimated time (1hr, 2hr, etc.) |
TAX
Tax Codes / Rates
→ DealerOS / PriceSync2| Canonical Field | Type | Required | WhirlWind | EPASS | Description |
|---|---|---|---|---|---|
| TaxCode | string | Yes | TaxCode | TaxCode | Tax jurisdiction code |
| Description | string | No | TaxDesc | Description | Tax jurisdiction name |
| Rate | decimal | Yes | TaxRate | TaxRate | Tax rate percentage |
| IsDefault | bool | No | Default | IsDefault | Default tax code for new orders |
| State | string | No | State | State | State this tax applies to |
| County | string | No | County | County | County (if applicable) |
| City | string | No | City | City | City (if applicable) |
| EffectiveDate | DateTime? | No | EffDate | EffectiveDate | When this rate takes effect |
Supported POS Systems
CSV / Excel Upload
Any POS system that can export to CSV or Excel. Manual upload, field mapping, preview before import.
AVAILABLE NOW
WhirlWind
WhirlWind POS integration. Product catalog, inventory, orders, customer records. Primary POS target for V1.
PHASE 2 — PRIORITY
EPASS XAPI
Direct API integration via EPASS XAPI. Customers, invoices, service requests, dispatching.
PHASE 2
STORIS
STORIS ERP integration for furniture/appliance retailers.
PHASE 3
API Endpoints (Phase 2)
When live API adapters are built, these will be the endpoints POSBridge exposes for other platform apps to call:
| Method | Endpoint | Description | Status |
|---|---|---|---|
| GET | /api/customers/{posId} | Look up customer by POS ID | Planned |
| POST | /api/customers/sync | Sync customer from POS to platform | Planned |
| GET | /api/orders/{posOrderNumber} | Look up order by POS order number | Planned |
| POST | /api/orders/sync | Sync order/invoice from POS | Planned |
| POST | /api/quotes/send-to-pos | Send a CRM quote to the POS system | Planned |
| GET | /api/inventory/{model} | Check POS inventory for a product | Planned |
| POST | /api/import/upload | Upload CSV/Excel for batch import | Phase 1 |
| GET | /api/import/{jobId}/status | Check import job progress | Phase 1 |