Frictionless ERP

The platform

What every system is built from.

Your system is assembled from 65 tested modules, from VAT and the ledger to online payments and the shop. Each is built and maintained once, for every client, so your system starts from proven parts and grows as the platform does.

Finance

  • VAT & line tax

    Works out the VAT on every document line to the penny, identically on screen and on the posted document, and decides which VAT return boxes each line reaches.

    • Line totals from quantity, unit price, discount and rate, rounded the same way everywhere
    • Net-from-gross for VAT-inclusive prices
    • Standard, zero-rated, exempt, outside-scope, postponed import VAT and acquisition treatments
    • Per-tax-code VAT return box mapping, including Northern Ireland acquisitions
    • Browser and server checked against one shared set of test figures
  • Double-entry posting rules

    The rules every journal must pass before it reaches the books — balanced, in an open period, on accounts it is allowed to touch, with VAT return boxes stamped.

    • Refuses unbalanced or malformed journals
    • Closed and locked accounting periods, with an admin override that must give a reason
    • Control accounts only postable from the module that owns them
    • VAT settlement checks and VAT return box stamping per line
  • Money & payment allocation

    Penny-exact money arithmetic — currency conversion, splitting amounts, credit limits and allocating a payment across open invoices — so totals always add up.

    • Splits an amount across lines or periods so the parts sum exactly
    • Foreign-currency conversion with exchange-gain and suspense residue
    • Credit-limit checks against everything the customer already owes
    • Allocate a receipt or supplier payment to invoices by hand or oldest first
    • Reads amounts as printed on statements and bank exports, including credits
    • Time charged at an hourly rate, and percentages as basis points
  • Payment terms & aged debt

    Calculates due dates from payment terms, flags what is overdue or expiring, and builds the aged-debt analysis and customer statements.

    • Due dates from net days, end-of-month, prepayment and cash-on-delivery terms
    • Overdue and days-overdue, with due-today not counted as late
    • Quote and document expiry status
    • Aged analysis in Current / 31–60 / 61–90 / 90+ buckets
    • Statement with brought-forward balance and period movements
  • Recurring billing schedules

    Works out which retainer, subscription or standing-order periods are due to be invoiced, catching up missed days without ever billing twice.

    • Monthly, quarterly or any n-month periods that never drift across month ends
    • Bill in advance or in arrears
    • Calendar-month periods from the 1st, with a part first period
    • Invoice on a chosen day of the month, clamped to short months
    • Catches up missed periods oldest first
    • Pauses skip periods for good, with no back-billing on resume
    • Readable period labels for the invoice
  • Remittance matching

    Matches a customer's remittance advice to their open invoices, so a payment can be allocated in one step.

    • Matches each line by invoice number, then order number, then a unique amount
    • Tolerates loosely written references
    • Explains every line it cannot place in plain words
    • Produces a ready-to-save payment allocation

Sales & commerce

  • Document status

    Works out where each order, purchase order and invoice stands — dispatched, invoiced, paid — from the actual quantities and money, not by hand.

    • Fulfilment status (none / part / full) from quantities ordered and delivered
    • Payment status and outstanding balance, with over-payments kept visible
    • Sales order stage derived from dispatch, invoicing and payment
    • Purchase order status from what has been received
    • Stage gates that block an action at the wrong stage
  • Sales commission

    Calculates commission as customers pay, pro rata to what was paid on the commissionable part of each invoice, at the rate in force that day.

    • Commission earned on payments received, not on invoicing
    • Pro rata share that totals exactly once an invoice is fully paid
    • Effective-dated commission rates
    • Exact reversal when a payment is voided or refunded
    • Discounts and over-payments never earn commission
  • Card payments

    Takes card payments through Stripe at checkout, on "pay now" links and for subscriptions, with the payment confirmed by Stripe itself, never the browser.

    • Card form on the business's own website, plus Klarna and Pay by Bank where enabled
    • Amount always worked out by the server, never trusted from the browser
    • Payment confirmed only by Stripe's signed notification, safe against duplicates
    • Subscriptions with the first invoice paid on the business's own page
    • Refunds and disputes recorded against what was paid

Operations

  • Workflow automation

    Lets a business lay out automatic step-by-step workflows, with waits and if/else branches, on a visual canvas.

    • Visual workflow editor with steps, waits and branches
    • If/else conditions with seven comparison operators
    • Placeholders filled from the record the workflow runs on
    • Failed steps retried, and a workflow resumed after a wait
    • Workflows checked for mistakes before they are saved
  • Form builder rules

    The rules behind forms the business builds itself — enquiry, sign-up or survey forms — checked the same way on screen and on the server.

    • Text, email, phone, number, date, choice and long-text fields
    • Required fields and format checks
    • Fields shown or hidden depending on earlier answers
    • Answers tidied and summarised as "Label: value"
  • Stock valuation & replenishment

    Values stock at average cost without drift, shows what is available, suggests what to reorder, and handles stocktakes and stock adjustments.

    • Average-cost (AVCO) stock valuation that never drifts from the books
    • Available stock from on hand, on order and committed
    • Red / amber / green stock levels and suggested reorder quantities
    • Over-receipt tolerance on goods in
    • Stocktake variances, including lines never counted
    • Stock adjustments validated and reversed exactly
  • Bug & feature reports

    Staff report a bug or ask for a feature from any screen, with screenshots, and follow its progress in a conversation with the developers.

    • Report button on every screen, capturing the page and app version automatically
    • Screenshot and video attachments
    • Status, priority and type set by triage only
    • Discussion thread on each report
    • Reports list with filters and sorting

Documents

  • E-signature

    Send any PDF for signature by one or more people in turn, with a full evidence trail and a certificate page added to the signed copy.

    • Ordered signers, each invited by email or text link, or signing inside the app
    • One-time code check before signing, typed-name signature and consent wording
    • Decline with a reason, withdraw, remind, send a corrected copy, expiry dates
    • Evidence per signature (time, IP, device, file fingerprint, how the link was delivered)
    • Certificate page and signed-by stamp added to the finished PDF, copy sent to every signer
    • Send a record's own PDF for signature in one click; "my documents" page for signers
  • PDF documents

    Branded, print-ready PDFs — invoices, quotes, statements, delivery notes — produced from the same layout staff see on screen.

    • Business branding set once (logo, colours, fonts, footer and bank details)
    • Standard or letterhead layouts with parties, tables, totals and VAT analysis
    • Long line tables that split cleanly across pages
    • Signature blocks and "Cancelled" stamps
    • Several documents merged into one download pack
  • Document templates

    Write reusable letters and contracts with merge fields, then turn them into a finished PDF from any record in a click.

    • Template editor with the record's fields to insert, including tables of lines
    • Sections shown only when a field has a value
    • Start a document from a record, tweak it for this one only, missing values listed
    • Generate a letterhead PDF
    • Combine several templates into one PDF and send it for signature
  • Merge fields

    Personalise any text people write — messages, email subjects, templates — with fields like a customer's name, including fallbacks and conditional wording.

    • {{field}} tags with a fallback when a value is blank
    • If/else sections shown only when a value is present
    • Lists of rows (such as order lines) as table fields
    • Preview showing which values are missing
    • Unknown fields refused when a template is saved
  • Record files & folders

    Attach photos, videos and documents to any record — a job, customer or project — organised in folders and shared selectively.

    • Drag-in uploads with thumbnails, inline video and audio, and a photo lightbox
    • Folders, categories and gallery ordering per record
    • Share chosen files with outside users such as clients
    • Send files for review and record an outcome
    • Limit which file types each kind of record accepts
    • Upload files while creating a new record
  • Document numbering

    Gives invoices, orders and other documents their reference numbers — gap-free yearly invoice sequences included — and matches a number however a customer types it.

    • Simple sequential numbers such as PO-000123
    • Year-scoped invoice numbers such as INV-25-001, with voided numbers reused
    • Drafts carry a placeholder until posted, shown simply as "Draft"
    • Opening offset when migrating from a previous system
    • Recognises a reference written loosely, e.g. "INV 12" for INV-000012
  • Line ordering

    Keeps numbered lists such as document lines and schedules in a tidy 1, 2, 3 order when lines are moved, inserted or deleted.

    • Renumbers without gaps or duplicates after a delete
    • Drag-to-reorder validated as a true rearrangement
    • Slots a new line into place and shifts only the lines that move
    • Lists numbered from 0 or 1

Communications

  • Email & text messaging

    Sends every email, text and WhatsApp message reliably, keeps a record of each one against the customer or document it concerns, and lets staff write emails from any record.

    • Every email, SMS and WhatsApp message queued so none is lost, with automatic retries
    • Delivery status and history for each message
    • Messages tab on any record, and an email composer prefilled with its contacts
    • Resend, forward, hold, release or cancel a message
    • A pre-launch allowlist holds messages to real people until go-live
    • Sign-in links hidden from anyone who should not see them
  • Comments & mentions

    Discuss any record in a comment thread, @-mention colleagues, and choose whether customers can see each comment.

    • Comment thread on any record, oldest first, with edit and delete of your own
    • @-mentions that ring the person's notification bell
    • Internal notes for staff, or comments shared with a client portal
    • Several conversations inside one record
    • Unread counts and read receipts
  • Notification bell

    An in-app bell that tells each person about things that need them, with a sound and a desktop alert when something new arrives.

    • Per-event-type opt-in for each kind of notification
    • Unread count with badges per event type
    • Chime and desktop notification on arrival
    • Opening an item clears it; repeat events about the same thing kept as one
    • Lists on screen refresh when a related notification arrives
  • Chat message templates

    Ready-written, editable messages staff copy or send to WhatsApp in one click, filled in with the customer's details.

    • Message wording editable in settings, with reset to default
    • Filled in with the record's details, missing values shown
    • Copy to clipboard or open in WhatsApp
    • WhatsApp bold and italic formatting
  • Bulk email rules

    The rules for sending email campaigns to many people safely — personalised, paced, retried on failure and with one-click unsubscribe.

    • Personalised subject and body per recipient
    • Sent in throttled batches
    • Failed sends retried with back-off, then marked failed
    • One-click unsubscribe headers
    • Email rendered as HTML and plain text in the business's own style
  • Phone menu

    Design the business's phone menu — "press 1 for sales" — with opening hours, who rings, and voicemail, on a visual editor.

    • Greeting and numbered options, each ringing chosen offices or phones in order
    • Weekly opening hours with an out-of-hours greeting and ring order
    • Voicemail when nobody answers
    • Visual drag-and-drop menu editor with problems flagged
    • Plain-English summaries of hours and ring order
  • Browser phone

    Make and take business phone calls straight from the app in a web browser, no desk phone needed.

    • Click to call from anywhere in the app
    • Incoming call bar with ringtone, active call bar and keypad
    • Shows who is calling
    • Stays registered and recovers on its own; keeps the screen awake on a call
    • Clear message when the microphone is blocked

Scheduling

  • Calendar & online booking

    Shared staff calendars that sync with phones and Outlook, plus public booking pages where customers pick a free slot themselves.

    • Day, week and month views with drag to create, move and resize
    • Repeating events, editing one occurrence, this-and-following, or all
    • Two-way sync with phone and desktop calendar apps (CalDAV), .ics downloads
    • Public booking pages with real free slots, confirmation emails and self-service cancel or move
    • Bookings held until payment, reminders, custom booking questions
    • Job visits and other record events shown on the right person's calendar
  • Appointment booking

    Offers bookable appointment times from each person's working hours, days off and existing diary, and lets customers pick a slot on the website.

    • Free slots from weekly availability and date overrides
    • Appointment length, buffers, minimum notice and how far ahead to book
    • Daily booking caps
    • Leave and half-days blocked out, correct across clock changes
    • Website week-by-week slot picker that works without JavaScript

Integrations

  • Resend email

    Connection to the Resend email service, used to deliver the app's emails and track bounces and deliveries.

    • Sends email with attachments, CC/BCC and reply-to
    • Safe retries without duplicate sends
    • Delivery, bounce and click events received securely
    • Built-in stand-in for testing without sending real email
  • Twilio SMS, WhatsApp & voice

    Connection to Twilio for text messages, WhatsApp and phone calls, including call recordings and transcripts.

    • Send and receive SMS and WhatsApp, with pictures and approved WhatsApp templates
    • Phone call handling — menus, ringing staff, voicemail
    • Call recordings and transcripts, with who said what
    • Secure checks on every message Twilio sends to the app
    • Built-in call and message simulator for testing without Twilio
  • Address entry & smart paste

    Fills in a form's address fields when someone pastes an address from an email or spreadsheet, using Google's address lookup.

    • Standard address block for any form
    • Paste a whole address and have it split into lines, town, county, postcode and country
    • Spots a person's name on the first line
    • Fields stay editable for any correction
  • Postcode mapping & distance

    Places UK postcodes on the map in the background and measures the distance between them.

    • UK postcode to map position via the free Office for National Statistics directory
    • Bulk lookups on a schedule, never slowing a save
    • Re-checks only when a postcode changes
    • Straight-line distance between two places
  • Google Workspace

    Connects the business's Google account so the system can read email replies, manage calendars, report website analytics and show Google reviews.

    • One-click secure connection by an administrator
    • Email replies routed back to the right record
    • Calendars, events and free/busy for bookings
    • Google Analytics reports, including real time
    • Google Business reviews and place details
  • Xero accounting

    Sends invoices, supplier bills and payments to the business's Xero organisation and brings back what has been paid or voided.

    • Secure connection to one Xero organisation by an administrator
    • Sales invoices, supplier bills and payments posted automatically
    • Customer and supplier contacts matched in Xero
    • Paid and voided status pulled back on a schedule
    • Failed sends held for review, retry or dismissal
    • Live sending switched off on copies of the data

AI

  • AI engines

    Connects the app to leading AI providers so it can read documents, draft text and answer questions, with the provider and key chosen in settings.

    • Anthropic, OpenAI and Groq behind one connection
    • Structured answers read from PDFs and text
    • Image generation and speech transcription
    • Provider, model and key chosen by an admin, keys stored encrypted
    • Usage and cost tracked, with clear messages when the AI is unavailable
  • Claude connector

    Lets each person use Claude to work in the app on their behalf, with their own permissions, and teach it the business's routines as shared skills.

    • Claude connects securely and acts as the signed-in person, within their permissions
    • Every operation the app offers is available to Claude, read-only or full access
    • Anything that reaches a customer, moves money or deletes data asks for a yes first
    • Business skills written and edited in the app, shown per role
    • Connections and a log of every call, with revoke

Security & access

  • Sign-in & sessions

    Password-free sign-in for staff and customers, using passkeys or one-time links sent by email or text.

    • Passkey sign-in for staff, no passwords anywhere
    • One-time sign-in links by email or text message for everyone else
    • Invitations, resets and rate-limited link requests, all audited
    • Read-only or full-access API tokens for other systems
    • Storefront customer sign-in by emailed link
    • Admins see every live session and can revoke any of them
  • View as another user

    Lets authorised staff see the app exactly as another user does, read-only, to check what they can see or help with a problem.

    • See the app with another person's permissions and records
    • Read-only by default, so nothing is changed by mistake
    • Never grants more access than the viewer already has
    • A visible banner while previewing, with one-click stop
    • Start and stop audited
  • Roles & permissions

    Controls who can see and do what, so every screen and button shows only what the signed-in person is allowed to use.

    • Permissions per role, checked on the server for every request
    • Row-level rules so each audience sees only its own records
    • Buttons and screens hidden or disabled with a plain reason when not permitted
    • Whole screens replaced by a clear "no access" page
  • Logins for records

    Gives a customer, contact, affiliate or worker their own login to the app straight from their record, and lets staff revoke it.

    • Give a login from the record, with the invitation sent by email or text
    • Resend an invitation or a fresh sign-in link
    • Revoke a login, signing the person out at once
    • Login status at a glance (invited, active, revoked, last sign-in)
    • View the app as that person
  • Browser security headers

    Sends strict browser security settings on every page to guard against common web attacks such as script injection and clickjacking.

    • A Content Security Policy per site, with no inline scripts allowed
    • HTTPS enforced, framing blocked, file types not guessed
    • Per-project additions for third-party services, checked at start-up
    • Every automated browser test fails on a policy violation
  • Public form protection

    Protects every form the public can submit on the website from spam and abuse.

    • Per-visitor rate limits
    • Hidden spam trap for bots
    • Checks the post came from the business's own site
    • Size limits on what can be sent
    • Clear field-by-field error messages back to the page

Platform

  • Dates, money & number formatting

    Shows dates, times, money and numbers the same way on every screen and document, on the business's own clock.

    • Money formatted from whole pence with an explicit currency
    • Dates and times shown in the business timezone, never the device's
    • The business's "today" used for every default date
    • Matching formatting in printed templates and on screen
    • Configurable style for non-UK businesses
  • Validation & data utilities

    Well-tested building blocks for checking and tidying everyday data such as email addresses, phone numbers, postcodes, VAT numbers and web addresses.

    • Email, UK postcode, phone number and VAT number checking and tidying
    • Web-address slugs generated and kept unique
    • Secrets stored encrypted at rest
    • Protection against unsafe user-supplied web addresses
    • Search-engine metadata, sitemaps and robots files for the public website
    • Domain moves and www redirects handled cleanly
  • Scheduled jobs

    Runs the app's background tasks on a timetable, never twice at once, with a screen to see, pause and run them.

    • Jobs on a timetable in the business timezone
    • Never double-run, even across several servers
    • A run log with status and errors, kept 30 days
    • Pause, resume and Run now from an admin screen, with overdue jobs flagged
    • Work started straight away after a change, without waiting for the next slot
  • File storage & uploads

    Safe upload, storage and download of files and images, on local disk or cloud storage, with images resized automatically for fast pages.

    • File types checked from the contents, not the name, with per-area size and type limits
    • Private or public storage, on disk or S3-compatible cloud storage
    • Images resized on demand and cached
    • Files removed automatically when their record is deleted
    • Short-lived public links for one file, for outside services to fetch
    • Pick a file with one button, including from a phone camera
    • Choose a logo or photo before the record is saved

Interface

  • App shell & navigation

    The frame around every screen of the app and client portal, with a sidebar menu, top bar, user menu and phone-friendly layout.

    • Sidebar menu that shows only what each person may use, collapsible and phone-friendly
    • Client portal frame with tabs or a phone-style bottom bar
    • User menu with profile and sign-out
    • Friendly Not Found and error pages
    • Automatic recovery when a new version is deployed mid-session
    • Keyboard shortcuts that never interfere with typing
  • Light & dark mode

    Lets each person choose a light or dark look, or follow their device, in both the app and the public website.

    • Light, Dark or System choice from the user menu and the website footer
    • The right look from the very first paint, with no flash
    • Charts and documents follow the chosen scheme
  • Lists, filters & bulk actions

    Fast, consistent record lists with search, column filters, sorting, paging, step-through and bulk actions, remembered between visits.

    • Search, sort and page through any list, remembered per person
    • Filters on every column (choices, date ranges, amounts, text)
    • Step from one record to the next without going back to the list
    • Tick rows or "select all" and act on them in bulk
    • A clear outcome for bulk actions, naming any record that could not be done
    • Links that open a list already filtered (from a dashboard count)
  • Remembered screen settings

    Remembers each person's screen choices, such as filters and collapsed panels, on their browser between visits.

    • Choices kept per person per browser across reloads
    • Optionally kept for the current tab only
    • Fails safe when the browser blocks storage
  • Record editing & drafts

    Edit records and documents with one Save that either fully succeeds or changes nothing, and never lose typing if you step away.

    • Save and Revert on every record page, the whole document in one step
    • Errors shown against the exact field and line that caused them
    • Fields locked automatically where the record can no longer change
    • Unsaved typing kept when a dialog or page is closed and reopened
    • Someone else's newer changes detected, keeping your edits
    • Warning before leaving a page with unsaved changes
  • Clear errors & confirmations

    Turns anything the server refuses into a plain message on the right field, or a question the person can answer to go ahead.

    • Field errors shown on the field, everything else as a notice, never lost
    • Confirmation prompts ("Are you sure?") the person can confirm, with a link to the conflicting record
    • A reason asked for when an override needs one
    • Missing-permission messages in plain words
    • A clear page when a record is gone or not visible to you
  • Record page building blocks

    The shared pieces of every record page, such as tabs with counts, status badges and links to related records.

    • Tab bars with live counts, kept in the page address
    • Status badges in consistent colours
    • Links to related documents and records by name, never by code
  • Change history

    Shows who changed what on a record and when, including changes to its lines and attachments.

    • Full history on any record page, newest first
    • Field-by-field before and after values
    • Changes to child rows shown and labelled
  • Drag to reorder

    Lets people put items in their preferred order by dragging, saved in one step.

    • Drag rows into order and save the whole order at once
    • A clash with someone else's change refuses the drag rather than scrambling it
  • Kanban boards

    Shows any pipeline as a board of columns, with cards dragged from one stage to the next.

    • Columns with counts, totals and notes
    • Drag a card to another column to move it on
    • A "Show more" button per column for long stages
    • Step through cards in board order
  • Charts

    Consistent, theme-aware bar, line and pie charts for dashboards and reports.

    • Bar, stacked, horizontal, line and pie charts
    • Value labels and tooltips
    • Colours that follow the light or dark theme
  • Rich-text editor

    A word-processor style editor for formatted text, with headings, lists, tables, images and fill-in fields.

    • Headings, bold, lists, checklists, quotes, links, tables and images
    • Stores formatted text, HTML or Markdown faithfully
    • Fill-in fields and "show only if" sections for templates, with preview
    • Safe rendering for display and printing
  • Visual canvas

    A pan-and-zoom canvas for laying out connected boxes, used by the workflow and phone-menu editors.

    • Pan, zoom, pinch and fit to screen
    • Draggable boxes joined by labelled lines
  • Form controls

    Consistent date and time pickers, tick boxes and toggles across every form.

    • Date picker with typed entry and month/year jumps
    • Time field accepting entries such as "930" or "2pm"
    • Tick boxes and pick-several lists, sorted by name
    • Icon toggles for yes/no columns in tables
  • Dialogs

    Accessible pop-up windows and confirmations that behave the same everywhere and become bottom sheets on phones.

    • Styled confirmations in place of the browser's plain prompt
    • Keyboard focus handled properly on open and close
    • Bottom sheets on phones, with the actions always in view
    • Forms inside dialogs submit with Enter
  • CSV import & export

    Exports any list to a spreadsheet file and reads spreadsheets people upload, matching columns by name.

    • Download any list as CSV
    • Read an uploaded CSV with flexible column names
    • A clear error instead of a half-imported file

Not sure what your business needs?

Tell me how you work today and I’ll tell you what we’d build on, and what we’d build new.