📊 Dashboard
⚠️ Overdue jobs
—
🛡 Damaged / Warranty
—
🔴 In SC, not in Axis —
—
🔗 Match to Catalog
Pick a part on the left → catalog search auto-seeds → click + Add to Re-Order to stage it.
📜 History Only 0
Click → search catalog
📦 Catalog 0
🛒 Re-order List 0
Line total: $0.00
📦 Edit Catalog
Tip: to add a new product, use Settings → ➕ Add Product or Vendor.
🔍
—
0 selected
Part Number Description Vendor Prod Code Unit Unit Cost On Hand
📦 Inventory
🔍
Part #DescriptionVendorUnit SheetShelf Ordered Used Used calc Count On hand Min To order Last cost
🔍
Part Number Description Vendor Prod Code Unit Unit Cost On Hand Needed Actions
🔬 R&D
Test new features here using live data.
🔍
Part # Description Vendor Product Code Unit Unit Cost On Hand
🧾 Orders
🧾
No lines yet
Use +PO / +Order on a catalog row, click + Order to enter a line by hand, or pull one from +Re-order.
PO $0.00 ORDERS $0.00 TOTAL $0.00
MDC Contact
📋 Order Board — shared notes · stamped with date, time & name · tick ☑ when done · not attached to POs
MDC-PO-1001
0 0
🔍
⚙️
Pick a section on the left
Each one drills into the form / list for that part of Settings.
💰 Billing Settings
These values only affect invoices still in Ready to Invoice. The moment a row is approved, the values in force are frozen onto it. Billing shows a read-only summary of what is set here.
Shipping & handling
QuickBooks export — names must match the company file EXACTLY (IIF import silently creates unknown names)
Job margin inputs
Labour is costed at the SP Calculator hour rate (Settings → 💲 SP Calculator, default $35/h). Parts use the Catalog cost / MDC# Lookup cost-to-make; hours use R&D → Hours to Make, or the finalized time entries when a part has them.
🏢 Company Information
Company Name
Street Address
City, State, ZIP
Phone
Fax
Email
App Status
Checking…
Data folder: —
Email: —
Signed in as: — · Switch user
App Settings
📄 Work Order folder (auto-save)
When an order email arrives, the server saves its Work Order PDF here automatically. Type the folder path as it exists on the SERVER (e.g. C:\Users\shop\The MDC Group\Fixtures - Documents\@Accounting\001 - Work Orders). Leave blank to turn the auto-save off.
Backup
Full snapshot: every job, invoice, PO, email, attachment, and the audit log (under data/) plus the application source code (under source/). Save it somewhere outside this PC.
Time
Keep (days)
🗄 Offsite copy to
The server saves the zip to its own backups\ folder daily and deletes zips older than the keep window. If the server was off at the scheduled time, it catches up at next boot.
🎨 Appearance (pick ONE — saved for this station)
📧 O365 Email
Server Control
Asks the Windows service to restart. Picks up new files in C:\Apps\MDC-PO-Server\ without needing to RDP into the box. Every connected user will need to refresh after ~10 seconds.
👥 MDC Contacts
👤 Employees
Default 40. Tune to match your shop's average parts-per-day output.
🏭 Vendors
🔍
Sort:
✓ Code Company Name Phone Customer # Contacts Sales Person Website City / State Type Order Type Actions
🏬 Stores
🔍
Store # Street Address City / State Zip Site Contact Telephone Actions
🔩 Packing Bolt Counts
➕ Add / update an MDC #
MDC #
Bolts per table
Packing lists print "qty × per = N connecting bolts" under the line description for these MDC#s. MDC#s not listed print no bolts note. Changes apply to the next print — no deploy needed. (The 10-40xx-C8 "Produce Table Ends — 4 connectors per end" note is fixed and separate.)
MDC # Bolts per table Del
💲 SP Calculator
🔍
Hour Rate $/hr
Material +/- %
Cost to Make = Hours × Rate + Material × (1 + %). MDC Cost ×2 = 2 × Cost to Make — the sell-price convention. Tick rows and press Apply to write the ×2 price into the Lookup's SP.
Sort
📕 Price Book
🔍
Hour Rate $/hr
Material +/- %
Click an item to edit its hours and material/hardware lines — every change is date-stamped in its Price Change Log. Edit a material's unit cost on the Material Sheet and it flows into every item that uses it.
Sort
🔎 MDC# / TJ# Lookup
Since
🔍
➕ Add / update an entry
MDC #
TJ #
Description
Cost $
SP $
TJ # is the key — adding an existing TJ # updates its MDC # / description / cost / SP. The description auto-fills the matching job line-item description; Cost is what it costs MDC to make one unit — it fills itself from the Catalog (matched by MDC# or TJ#, shown gray; type a value to override) — and SP is the sell price we charge TJ. Parts Demand shows both side by side.
Sort
MDC # TJ # Description Cost $ SP $ Hide / Del
📦 TJ Products DB
🔍
MDC # TJ # Description Dimensions Material Category Files
⚖ Shipping Weights
🔍
➕ Add a row
Item #
Description
# on skid
Pallet Size
Weight (lb)
Each row = the weight of one loaded pallet/skid holding "# on skid" of the item. The Shipping weight estimator matches your job line items by Item # (MDC#).
Item # Description # on skid Pallet Size Weight Del
🔗 ServiceChannel
Connect the ServiceChannel Provider API so Edit Job's 🔗 SC button shows a PO's work-order status without leaving Axis. Your username & password are used once to sign in and are never stored — Axis keeps only the resulting tokens. App keys (clientId/clientSecret) live in config.serviceChannel on the server.
ServiceChannel username
ServiceChannel password
👥 Who's Signed In
Signed in now
NameRoleDeviceFromSigned inOn forLast activity
By person — last 7 days
NameSessions openLast sign-inLast seenSign-ins (7 d)Time signed in (7 d)Failed sign-ins (7 d)
Sign-in history — last 14 days
WhenNameEventSession lengthFrom
📜 Activity Log
Newest first. Stored at data/audit.jsonl (one JSON object per line, append-only).
Loading…
🗑 Trash
Deleted jobs, invoices & POs are kept here for 30 days, then auto-purged.
Loading…
➕ Add Product or Vendor
Add a Product Code to a Vendor
Pick the vendor first, then fill in the part details. Saves directly to the catalog. To add a new vendor, use Settings → 🏭 Vendors.
Vendor
Part # *
Product Code
Description *
Unit
Cost ($)
📥 Import from Spreadsheet
Loads the Fixtures Shipping spreadsheet directly into Production / Shipping / Billing. Reads two sheets: in progress → active jobs, shipped → shipped & invoiced jobs. Other data (POs, Inbox, Settings, Vendors, Contacts, lookup tables) is left untouched.
Spreadsheet file
No file selected.
Mode
⚠️ After import
The server keeps job and invoice lists in memory. After a successful import, refresh this page (Ctrl+F5) to reload the data, then check Production / Shipping / Billing. If you used Replace and the result looks wrong, you can re-run the import or restore from a recent backup of the data/ folder.
📊
Pick a report on the left
Each report pulls live data and exports to CSV.
📋 Needed
View:
🔍
📨 Inbox — Incoming Work Orders
Status:
🔍
Since
📐 Planning
🔍
View
Sort
🧱 Material Schedule
What the jobs on the Schedule need in raw material — by job, and totalled per week and per two weeks. Quantities come from the Price Book's material lines × the line quantity.
🏭 Shop Floor
Employee
Sort
View
Search
🔍
AdibBeamCutBandASMComp MDC #TJ #QtyDescription
PO #StoreLocation OrderRevisedNotes
🔍
🛡 Warranty
Sort:
⏳ Open Repairs 0
✓ Completed Repairs 0
🧩 P/P — Pick and Pull
🔍
Sort: 🚚 Worldwide 🚚 Priority1
🚚 Shipping
🚚 Worldwide 🚚 Priority1
Status: Sort:
🔍
📅 Scheduled Date
From
To
ServiceChannel work orders whose SCHEDULED date falls in the period, earliest first. Store comes from the matching Axis job when there is one.
🔍 SC ↔ Axis — Work Order Check
From
To
Searches ServiceChannel work orders created in the range and compares each to Axis by PO#. Rows highlighted red are in ServiceChannel but NOT in Axis. Click the ⇅ headers to sort — click a row to open its job.
🔗 ServiceChannel — Push Shipped Work Orders
🔍
Primary status
Extended status
Destination
Note template — {destination} {sccarrier} {carrier} {tracking} {po} {store}
Reschedule reason
💰 Billing — Invoices
Status:
Reports:
🔍
📱 Phone pages
Point the phone camera at a code to open that page, then Share → Add to Home Screen. The Phone menu is all four pages behind one icon.
📺 Shipping Today
⏱ Time Tracking
Pick your name, then tap Start on the part you're working on. One timer at a time per person.