VWP.mdb Schema Analysis
Source: VWP.mdb (938MB, last written 2026-04-24, Jet 3.x / Access 97 format)
Method: Binary scan (Jet 3.x format cannot be opened by modern ACE/DAO drivers)
Table Inventory by Domain
Projects & Jobs
| Table |
Purpose |
| tblPROJECT |
Builders / general contractors |
| tblLOTINFO |
Individual job sites / lots |
| tblPLANS |
House plans / blueprints |
| tblOPTION |
Plan options / upgrades |
| tblELEVATION |
Architectural elevations |
| tblFINISH |
Finish types |
| tblCONINFO |
Contractor / contact info |
| tblProjDate |
Project scheduling dates |
| tblCHANGE |
Change orders |
| tblLotChange |
Lot-level change orders |
| tblSZONE |
Schedule zones |
| tblWORKTYPE |
Work type codes |
Work Orders & Estimating
| Table |
Purpose |
| tblORDERS |
Work orders |
| tblORDMatrl |
Work order materials |
| tblTAKE |
Material takeoffs (quantity estimates) |
| tblTOMATRL |
Takeoff materials |
| tblLOTMATRL |
Lot materials |
| tblOPTMATRL |
Option materials |
| tblPLANMAT |
Plan bill of materials |
| tblPOMATRL |
Purchase order materials |
| tblPOPTION |
Plan options (billing side) |
| tblPOptBill |
Plan option billing rates |
| tblPlanBill |
Plan billing rates |
| tblMEASURE |
Measurement records |
Inventory & Purchasing
| Table |
Purpose |
| tblINVPRICE / tblINVPRC |
Material price list |
| tblINVTRY |
Inventory on hand |
| tblSUPPLIER |
Vendor / supplier master |
| tblPOrder / tblPURCHORDR |
Purchase orders |
| tblPOrdMat |
PO line items |
| tblYardOrder / tblYardMemo |
Yard material orders |
| tblJCVENDOR |
Job cost vendor assignments |
Crew & Payroll
| Table |
Purpose |
| tblCREW |
Employee master |
| tblCREWLIST |
Crew-to-job assignments |
| tblCREWRATE |
Pay rate history |
| tblHRDAILY |
Daily hours entries |
| tblTIME |
Time records |
| tblHOURLIST |
Hour list by period |
| tblPAYHEADER |
Payroll run header |
| tblPAYCREW |
Per-employee payroll detail |
| tblPAYSHEET |
Pay sheets |
| tblPAYROLL |
Payroll summary |
| tblTOLABOR |
Labor cost totals |
| tblINCODES |
Earnings / deduction codes |
| tblCERTIFIED |
Certified payroll (govt contracts) |
| tblSC_Crew |
Scaffold crew assignments |
| tblScaffold |
Scaffold tracking |
| tblRCREW |
? (repair crew?) |
Accounts Receivable
| Table |
Purpose |
| tblARMASTER |
Customer master |
| tblARINVOICE |
AR invoices |
| tblARTRANS |
AR transactions / payments |
| ARN_InvHistoryHeader |
Invoice history |
| tblCBOSalesCode |
Sales / billing codes |
| tblCBOWorkType |
Work type codes for billing |
| tblBPTYPE |
Billing / payment type |
| tblSWARTRANS |
AR variant (Southwest?) |
Accounts Payable
| Table |
Purpose |
| tblAPMASTER |
Vendor master |
| tblAPTRANS |
AP transactions |
| APH_JobDistDetail |
Job cost distribution detail |
| tblJCLIST |
Job cost list |
| tblJCTRANS |
Job cost transactions |
| tblJOBCOST |
Job cost summary |
| tblCHECKREC |
Check reconciliation |
Bank / Positive Pay
| Table |
Purpose |
| tblPosPayVWP |
Positive pay — VWP bank |
| tblPosPayCRD |
Positive pay — second bank |
| tblPosPaySWI |
Positive pay — third bank |
Repair / Service
| Table |
Purpose |
| tblREPAIR / tblREPAIRS |
Repair work orders |
| tblRepList |
Repair list / punch list |
System / Config
| Table |
Purpose |
| tblSECURITY / tblUsers |
User accounts / permissions |
| tblSYSInfo |
System configuration |
| tblGLAcct |
General ledger chart of accounts |
| tblTCINFO |
? (TrueCommerce? Tax?) |
| tblPRGINFO |
Program / config info |
Key Findings
This is a full construction ERP
Not a simple order tracker. Covers the entire plastering operation end-to-end:
- Estimating → Work Orders → Crew Scheduling → Materials → Payroll → Invoicing → Collections
Certified Payroll (tblCERTIFIED)
Indicates government / prevailing wage work. Certified payroll is a legally mandated report format (federal / state). Any replacement system must preserve this or have a certified payroll module.
Positive Pay (3 bank accounts)
Bank fraud-prevention integration — the app generates positive pay files for three different bank accounts. This is a hard integration dependency.
Relationship names visible in binary
Entries like tblLOTINFOtblPROJECT, tblPAYCREWtblCREW etc. are Access relationship / query names — confirms foreign key structure exists in the data model.
Scratch / temp tables (can be ignored for migration)
tblLOTINFO000, tblLOTINFOCCCCCCCCCCC, tblPROJECT_ExportErrors, tblLOTINF3, etc. — developer working copies, not production objects.
Modernization Complexity: HIGH
| Factor |
Impact |
| ~130 real tables |
Large but manageable data model |
| 791 Crystal Reports |
Biggest migration effort — must map each report |
| Certified payroll |
Legal compliance — cannot be dropped |
| Positive pay (3 banks) |
Hard file-format integration |
| Full AR/AP/Payroll |
Financial accuracy requirements |
| Jet 3.x format |
No modern driver can open natively — must be converted first |
| No VFP source (pending) |
Business logic must be reverse-engineered |
Next Steps
- Find VFP source (Mike searching server) — determines if logic can be read or must be RE'd
- Convert MDB to readable format — need Access 97 / older ODBC path to extract full schema with field types
- Sample top tables — row counts, date ranges, key field values
- Audit Crystal Reports — identify which .rpt files are active vs dead weight
- Interview VWP — what are the daily workflows? What's broken or painful beyond file size?