LUGWORKS

LugWorks

LugWorks

Hand-built for bike shops

  • Dashboard
    • Repairs
    • Parts Ordering
    • Warranty
    • Products
    • Purchase Orders
    • Stock Take
    • Bike Specs
    • Bike Finder
    • Supplier Stock
    • Used Bikes
    • B2W Invoicing
    • Payment Plans
    • Settings
    • Users
    • Reports
    • Cache
  • Help
πŸ“ β€”

LugWorks Hand-built for bike shops

Products

More ▾

Connect Shopify credentials to load products.

Purchase Orders

Upload an invoice file

Drop it here or click to browse · PDF, Excel or CSV

Suppliers

Supplier—
Date—
Currency—
Subtotal—
VAT—
Total—
Items—

PO Line Items

Stock to

Recent PO uploads

Bike to Work

No B2W orders yet. Click "New B2W Order" to start.

Repairs

πŸ“„ Till guide
Due
or from to
Show
#
Customer / Bike
Description
Status
Priority
Due
In
Cost
Shopify
Actions

Warranty Claims

Repair Job Item Supplier Brand Status Reference Claim Date Age
Loading…

Bike Specs

Make Model Year Type Subcategory Components
Loading…

β€”

Used Bikes

Public Page
No bikes listed yet.

Parts Ordering

Product Cache

A CSV or XLSX supplier feed adds or updates records in bulk. Supports: scraper manifest, Chicken CycleKit, Bike Outlet, Bosch (MBPS).

Drop a CSV, XLSX or ZIP file here, or click to choose one

β€”

Cached Records

Loading…

Browse Records

Photo SKU Supplier Name Vendor Barcode Stock Status Actions
Loading…

Settings

Connections

β–Ύ
Shopify Checking…
Xero Checking…
Xero account code for Bike to Work invoices. VAT follows that account's own rate.
Twilio SMS Checking…

Collection Rules

β–Ύ

Keywords matched (case-insensitive) against product names to auto-assign Shopify collections when a product is created.

Collection Keywords (comma-separated)
Loading…

Suppliers

β–Ύ

Built-in suppliers (linked to invoice parsers) are read-only. Add custom suppliers here to make them available in the Manual PO form.

Off until you tick it. Off, Purchase Orders is its POs: Still to come filters Recent PO uploads to the POs with units still to come. On, it also has the Still to come list, To review, Book these in, On order at the supplier and a note under each owed line saying whether the supplier's own list has it. Products β€Ί Reorder List's On order column counts the suppliers' lists only while this is on. Only an admin can change it.

Each delivery

What every PO review starts with. Only an admin can change these.

Where a delivery's stock goes unless a line is sent elsewhere.

Ticked, a product made from an invoice is a Shopify draft until someone publishes it. Unticked, it goes live as soon as the PO syncs.

Unticked, a line already in Shopify is one short row (tap β–Έ for its price, sale and not for resale) and so is a new line, with a card under its row for what the product needs: β–Έ opens it, and it opens by itself when the line looks like a product already in Shopify.

Unticked, an invoice under review has the screen to itself, and the list of POs comes back when it is confirmed or discarded.

Unticked, every line opens going to the Stock to above, and Suggest split under the lines works a split out when pressed, showing what it would move first. Ticked, the split is put on the lines as the review opens.

Ticked, and with new products staying off the storefront, Confirm & Sync takes a new line with no retail price: the product is a Shopify draft with its stock booked in, listed under Needs a price on Purchase Orders, where typing the price publishes it. Unticked, Confirm refuses a new product with no price, as before 9 October 2026.

With the choices hidden, every PO syncs to Shopify, adds the delivered quantity, goes to the Stock to above, and starts its new products as set here. Blank prices are filled at each supplier's markup (set beside the supplier above; the Parts search markup where none is set). A split between the shops is only suggested unasked with its box above ticked. ↩ on a line puts a split back.

Quick Job Prices

β–Ύ

Both shops. The intake's Β½, 1, 2 and 3 hour options and the repair panel's Β½ hr and 1 hr labour cards are priced from it. Only an admin can change it.

Both shops. A bike left this many days after the Ready text is suggested one week's fee, then another each week. The Ready text quotes both. €0 turns it off. Only an admin can change it.

Both shops. Once the late fee starts (see above), a customer whose bike is still Ready is reminded that day and every week after, until it is collected. Each message says what the fee is so far. A text goes first; if there is no number or the text fails, it goes by email. In the message use {name} {bike} {shop} {fee_per_week} {amount}. Staff can pause a single job from its Details tab. Off until you tick it. Only an admin can change it.

Email isn't set up on this copy (SMTP_USER and SMTP_PASS), so reminders can only go by text.

Both shops. Off every labour and part line of a repair whose customer has the Club member tick (tagged club in Shopify). A job keeps the % it was given. 0 gives new jobs nothing off. Only an admin can change it.

Fixed prices for quick-add jobs on the repair intake form. Prices can differ per location β€” switch tabs below to edit Sligo or Boyle independently.

Loading…

Parts Search

β–Ύ

When a supplier part on a repair's Parts tab has no published retail price, its price is the supplier's cost × this, raised to the next .99. At 1.83, a €10 cost shows €18.99.

Generic Parts Pills

β–Ύ

Quick-add part buttons shown at the top of the Parts tab in repair tickets. Edit labels and prices here; changes appear immediately next time a ticket is opened.

Loading…

Customer Message Templates

β–Ύ

Pre-written messages used in the repair ticket Message tab. Use {customer_name} (full name), {first_name}, {bike}, {ref} and {shop} as placeholders. {lines} puts in the ticket's priced items and {total} the total, each best on a line of its own.

Loading…

Trade-in Enquiries

β–Ύ
days

Off unless it's set: trade-in enquiries are kept until someone deletes one on the Used Bikes page. When it's set, once a day the app deletes each enquiry that was accepted or declined that many days ago. The customer's name, contact details and photo go, and the log under Deleted trade-ins (log) keeps the date it came in, the bike and the outcome. Enquiries still waiting for a decision are never deleted this way. Leave it blank or 0 to keep them. Only an admin can change it.

User Management

Users & Access

β–Ύ

Assign modules individually to each user. Dashboard is always accessible to everyone.

Users

Username Modules Admin Location Created Last active
Loading…

Add User

Manage users & see job alerts

Help & User Guide

πŸ†• What's new

Loading user guide…

What's new

← Help

Loading…

Customer Service History

Bikes
History β€”

Service due

Bikes last serviced a year or more ago. Punctures don't count, and a bike in the shop now is left out.

Purchase order defaults

What a new product gets when an invoice line has no setting of its own.

PO Defaults Loading…

β–Ύ

Between 0.5 and 2; set 0 to turn GBP conversion off

Every newly created product is added to this collection, regardless of keyword rules.

New Manual PO

For stock with no invoice file: type the lines in, then review before it syncs.

Line Items

SKU Name Qty Cost (€) Retail (€)
Point camera at barcode