Skip to content

Importing your history

This page is for an owner moving a hauling company from WATMS to HaulApp, and for whoever sets up the Windows PC that runs WATMS. After reading it you will know what HaulApp brings across, how imported records appear in the office, and what they will never do.

WATMS is the Visual FoxPro trucking system many hauling companies run today. HaulApp imports its history so your customers, jobs, invoices and tickets from before the switch sit beside the work you do in HaulApp.

A small Windows service called Dodo runs on the same PC as WATMS. Every 30 seconds it reads the WATMS data files and sends new and changed rows to HaulApp over an encrypted connection. HaulApp decides what each row means and files it as a customer, a job, an invoice and so on.

Dodo only reads. It opens the WATMS files read-only, takes no locks, and never writes back. WATMS keeps running normally while Dodo works. Dodo never sends WATMS logins or operator accounts.

sequenceDiagram
    participant W as WATMS data files
    participant D as Dodo (same PC)
    participant H as HaulApp
    loop Every 30 seconds
        D->>W: Read tables (read-only, no locks)
        D->>D: Keep only new or changed rows
        D->>H: Send rows in batches
        H->>H: File each row as a customer, job, invoice...
        H-->>D: Receipt for each row
    end

Dodo marks a row as sent only after HaulApp returns a receipt for that exact row. A row without a receipt goes again on the next pass, so a dropped connection loses nothing.

WATMS historyBecomes in HaulApp
CustomersCustomers
JobsJobs, with the jobsite as a site
Job pricingJob quotes, materials, pits and dump sites, material prices
InvoicesInvoices, posted or voided as in WATMS, with a closed order behind them
TicketsTickets
Trucks and owner-operatorsTrucks, subcontractors and drivers (drivers start inactive)
Carrier checksSettlements, marked paid
Commission recipients, salespeople, brokers, disposal and equipment providersBusiness parties
Deduction codes, deductions and balancesDeductions and balances

Not imported: loads, WATMS logins and operator accounts, and paper scans.

Imported records appear in the same lists as everything else, not in a separate area. Each one carries an Imported badge. You see the badge on the order, invoice, ticket and driver lists, and on customer, order, invoice and driver pages.

For example, the invoices list for “Test Customer One” shows last year’s WATMS invoices with the Imported badge directly under this month’s HaulApp invoices.

Settings → Sync status shows what has come across, by record type:

ColumnMeaning
ImportedRows HaulApp filed as business records.
Needs reviewRows HaulApp kept but could not file without a person deciding.
IncompleteRows waiting on something else, such as a missing customer or job.
Retained after deletionRows deleted in WATMS that HaulApp keeps, because financial history is never erased.

Below the counts is a receipt browser that shows each row HaulApp received. The page does not yet show when Dodo last ran. The Dodo setup app on the Windows PC shows that.

Imported history is a record of work already billed and paid in WATMS. HaulApp treats it as read-only history:

  • An imported job quote never produces a new invoice.
  • An imported job quote never accepts dispatch or new loads.
  • Imported work never earns commission, and you cannot add commission terms to an imported job quote.
  • An imported invoice is not a new HaulApp billing draft and cannot use native invoice correction controls. A separate Imported invoices QuickBooks setting can include historical invoices in accounting delivery. Leave it off for records already entered in QuickBooks, or you may create duplicates. See QuickBooks Desktop.

One case needs care. A ticket WATMS recorded but had not yet invoiced arrives with a draft charge, so that the hauled tons are not forgotten. HaulApp never invoices a draft charge on its own. If WATMS invoices that ticket later, HaulApp voids the draft so the same tons are never billed twice.

Dodo runs as a Windows service and keeps HaulApp in step with WATMS for as long as the office still works in WATMS. A customer added in WATMS reaches HaulApp on Dodo’s next pass.

Cutover is the day the office stops entering work in WATMS and starts in HaulApp. After cutover, run one last pass, check Settings → Sync status, then stop the service. The imported history stays in HaulApp.

You can also run Dodo once, without installing the service, for a one-time import.

You need an owner login in HaulApp and access to the Windows PC that holds the WATMS data folder.

  1. In HaulApp, an owner opens Settings → Developer, creates an API client for Dodo, and chooses the Dispatch access level. Copy the credential it shows.
  2. On the WATMS PC, open the Dodo setup app.
  3. Enter the WATMS data folder, your HaulApp address and the API client credential.
  4. Click Test connection. The app reads the WATMS tables, asks HaulApp for its counts, and shows check passed.
  5. Click Save settings.
  6. Click Sync once now for a first pass, and watch the Status tab for created, updated, blocked and failed counts.
  7. For an ongoing sync, click Install service, then Start.

The Status tab lists any blocked rows with the reason. The same rows appear under Needs review or Incomplete in Settings → Sync status.