Field, stock & servicev4.1.1

Jobora

Quotes that turn into jobs, a schedule board that refuses double-booking, and invoices customers can pay by card.

For field-service firms with technicians on the road. Often replaces Jobber, Housecall Pro or Tradify.

Single license $129 · Extended license $259 · paid once, yours for good

Try the live demoNo sign-up. The demo resets itself, so click anything.

What it does

The schedule board

A week per screen, a lane per technician. Drag a visit to another day or person; a double-booking is refused in plain words.

Quotes that become jobs

Line items, per-line tax and a discount. The customer accepts from a link with no login, and the quote becomes a job once.

Get paid from the invoice

Switch on card payment with your own Stripe account. The card goes to Stripe, never to Jobora, and the invoice records the payment itself.

Job costing, real margin

Labor, materials and subcontractors logged against what was quoted. A job nobody quoted shows an unknown margin, never zero.

The chaser

Payment reminders, quote follow-ups and a visit reminder the day before, through your own email server. Each kind is off until you tick it.

Book online

Customers pick a free morning or afternoon over the next two weeks. Each request waits for you to accept or decline it.

Repeat work

Set a plan once and each visit appears on the board eight weeks ahead. A clash is flagged, never forced.

Field staff see no prices

Switch it on and technicians get the jobs, schedule and checklists, but no price, rate or margin.

Sign-off at the door

A signature captured on a phone, stored with the job and printed on the PDF. A blank pad is refused.

Job checklists

The technician answers each check done or not applicable. A job with a check left open cannot be closed.

The day's route

Each technician's stops for the day in order, with one directions link through them all.

QuickBooks Online import files

Your issued invoices, line by line with tax, and your customers, ready for QuickBooks Online's Import data screen.

Also: before-and-after photos, quote and invoice PDFs, a phone home-screen app and eight MCP tools for your AI.

Is it right for you?

What Jobora deliberately doesn’t do.

  • One business per installation. Your team shares it with viewer / member / admin roles. Two trading companies means two installations.
  • Jobora never processes a card. Card payment happens on your own Stripe account's page and Jobora records what Stripe reports. A refund made in Stripe is not mirrored back.
  • No stock control. A material line is a cost against a job, not a draw from an inventory.
  • Repeat work places visits eight weeks ahead and invoices each visit on its own; there is no monthly bundled invoice.
  • No customer accounts: customers use their own document link, and, if you switch it on, the booking page.
  • Email is off until you switch it on, and it goes through your own SMTP server. No relay.
  • A signature is captured, not verified. Not identity verification, not eIDAS-qualified. On a server without GD the blank-pad check falls back to a size floor, so a very small signature could be refused.
  • The margin is only as honest as what you log.
  • No offline mode.
  • English only.
  • Automatic follow-ups run when someone opens the dashboard, or from a daily cron call; on a host with no cron where nobody opens Jobora that day, nothing goes that day.

What renting costs instead

JobberCore $49/mo with no commitment, $39 on a 1-year commitment, $29 billed annually (Just me, 1 user); Connect $139/$119/$99; Grow $199/$169/$149. Plus starts at 2-5 people (5 users): $499/$439/$399; larger bands up to 11-15 people cost more; 16+ is Plus by quote

5 months of Jobber costs what Jobora costs once.

Read Oct 9, 2026 · source
Housecall ProBasic $59/mo billed annually ($79/mo monthly), 1 user; Essentials $149/mo billed annually ($189/mo monthly), 5 users; Max $299/mo billed annually ($329/mo monthly), 8 users included, $35/mo per additional user. Card processing from 2.59%

3 months of Housecall Pro costs what Jobora costs once.

Read Sep 24, 2026 · source
TradifyLite $47 USD per user/month (Pro $51, Plus $61 per user/month)

1 month of Tradify costs what Jobora costs once.

Read Aug 22, 2026 · source

The full comparison: every rival, what each does better, and who should stay with them →

Replacing one of these? Jobber alternative · Housecall Pro alternative · Tradify alternative · Service Fusion alternative · Kickserv alternative · ServiceTitan alternative · FieldPulse alternative · FieldEdge alternative · Workiz alternative

Release history

Own It 4.1Texts to your customersOct 4, 2026

For Jobora, 4.1 adds texts to customers who agreed, through your own SMS account: visit reminders, "on my way", and quote and invoice texts if you tick them. What’s new in 4.1 →

Own It 4.0It updates and backs itself upSep 29, 2026

For Jobora, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and… What’s new in 4.0 →

Own It 3.4The customer import preview tells the truthSep 27, 2026

The customer import's preview used to count a customer who already exists, a name twice in the file or a bad email address as ready, and the import then skipped them. What’s new in 3.4 →

Own It 3.3Prices stay with the officeSep 27, 2026

3.3 is the detail that decides whether a tool fits a working day.

Own It 3.2The customer books, the invoice gets paidSep 26, 2026

The 3.2 wave let the people you serve do things for themselves.

Own It 3.1It writes to the people you serveAug 20, 2026

The 3.1 wave gave the catalog a way to reach the other side of the transaction: counterparty email through your own SMTP server, calendar feeds your own calendar…

Own It 3.0Works for your AI, not just for youAug 9, 2026

Eight MCP tools over the same guards a person faces: an agent can read the board, quote, and book — and every read-only tool says so in its own annotation.

What’s in the zip

The tree as the zip ships it — the working leftovers the packager deletes are not listed

  • .htaccess
  • API.md
  • Dockerfile
  • LICENSE.txt
  • QUICKSTART.txt
  • README.md
  • assets/
  • bin/
  • config.sample.php
  • controllers/
  • deploy/
  • import-maps/
  • index.php
  • install/
  • manifest.json
  • offline.html
  • router.php
  • src/
  • sw.js
  • tests/
  • views/
src/Chaser.php: a real module, the first 24 of 665 lines

Chosen as the largest module in src/ that is not one of the shared cores — this product's own logic, not a file every product carries.

<?php
/**
 * Chaser.php — 1.1: the follow-ups a crew owner otherwise types by hand, on a schedule the owner
 * approves once. Three kinds, each with its own switch, all off by default:
 *
 *   invoice  payment reminders, steps in days from the due date (default -3, 0, 7, 14). This is
 *            Invora 3.2's released reminder engine (01-invora/app/src/AutoRemind.php) on the same
 *            money engine; its rules are kept as they are.
 *   quote    follow-ups on a quote nobody has answered, steps in days after it was sent
 *            (default 3 and 10). A quote that is accepted, declined or past its valid-until date
 *            is never chased.
 *   visit    "we are with you tomorrow", once, the day before each planned visit.
 *
 * Every rule errs on the side of NOT sending:
 *
 *   1. Armed only when the kind's own switch, customer email (the master switch every customer mail
 *      already needs) and the owner's own SMTP all agree. A demo install records in the outbox and
 *      opens no socket (ClientMail's rule).
 *   2. A step goes at most once per document. The outbox row is CLAIMED before anything is sent
 *      ("auto:<day>:<kind>:<id>:<step>", UNIQUE), so two page loads running the schedule together
 *      cannot both mail the customer, and a daily cap counts every claim of the day.
 *   3. A step owns the days from its own day until the next step's day, never more than WINDOW_DAYS:
 *      a customer first seen long after a date gets at most one message, never the whole schedule.
 *      A visit reminder is only ever sent on the day before the visit.

Runs on: Web installer sets up in about two minutes; PHP 8.1+ with MySQL/MariaDB or SQLite, standard shared hosting compatible. Tested on PHP 8.3. Or run it in Docker: the Dockerfile is in the zip.

Technical owners can install it with one line and their license key: curl -fsSL https://ownware.io/install.sh | sh -s -- jobora <your license key>

Nothing is obfuscated or encoded; what you read is what runs. Manual · API · the test run

Which license do I need?

It comes down to how many installations you need. Running your own business on one site is the Single license. A second domain of your own, or sites you build or run for other people, is the Extended license.

Single license$129
One (1) domain or subdomain · One business, running it on one site.
  • Install it on one domain or subdomain you own or operate
  • Change the source however you like for that installation
  • Run your own business on it commercially, client work included
  • Re-download the current build any time from your buyer portal
  • A second site, or an installation you hand to a client as theirs, needs the Extended license
  • No reselling, redistributing or sublicensing the source
  • Not for offering it to other people as a hosted service
Buy the Single license, $129
Extended license$259
Unlimited sites you own or operate, plus up to 10 client installations (white-label included) · Agencies, and anyone running it on more than one site.
  • Everything the Single license grants
  • Install it on as many domains as you own or operate — no cap on the number
  • Up to ten client installations, one per client project, handed over or hosted for each client; for more, buy another Extended license
  • White-label: remove or replace the product name and logo in the screens of client installations
  • Still no reselling or redistributing the source itself
  • Running it as a multi-tenant service others sign up for needs a SaaS agreement
Buy the Extended license, $259

Every download carries the full terms as LICENSE.txt. The complete wording is on the terms page.

After you buy

Updates

The app’s Updates page installs a new release with your license key, with the release’s signature checked and a backup taken first. Your download link always serves the current build. Download again any time from your order page or the buyer portal; there is no renewal fee.

Help

Email support for installation and for defects in the code as delivered: a person reads and answers every message. It does not cover custom development or server administration. What support covers

If it isn’t right

Refunds are handled by Lemon Squeezy as merchant of record, case by case. EU consumers keep the statutory 14-day right until delivery starts. Refund terms

If we disappear

It keeps running: your server, the full PHP source, no license check that can fail. If no stable release is published for 365 days, the domain limit lifts; after three such years your copy becomes MIT-licensed. The terms have the exact wording: continuity.

Questions

Is the invoice math really the same as Invora's?
It is the same file. The totals and status functions are byte-identical — a test extracts both function bodies and compares them — and Invora's published reference case (10 x 100.00 at 8.5% plus 1 x 500.00 at 0%, 5% discount, total 1,505.75) reproduces to the cent here, on SQLite and on MySQL. Only the three loader methods differ, because they name Jobora's own tables.
What happens if I drag a job onto someone who is already out?
It springs back and tells you who, and when, in a sentence. The drag calls the same conflict rule the booking form calls, so the board and the form can never disagree about what is allowed.
Does it take payments?
Not on its own. Switch on card payment and your customer pays an invoice by card on your own Stripe account's page; Jobora records the payment Stripe reports and never sees the card. Without Stripe, an invoice carries your own payment link and recording a payment records a fact.
Will this run on shared hosting?
Yes. PHP 8.1+ with PDO, MySQL or SQLite. The MySQL path is not assumed: 32 checks run against MariaDB in strict mode, including the money reference case.
Is the signature legally binding?
It is captured, not verified. It is not identity verification and not eIDAS-qualified. It carries the evidential weight of a signature on a paper job sheet — proof that somebody signed at the door.
Is it charged per engineer, per month?
No. Jobora is not sold per seat and not by subscription — the license is bought once and the size of the crew does not meter it.
If I edit a quote after it was accepted, does last month's margin change?
No. The quoted figure is a snapshot taken at the moment of acceptance and written onto the job, and every margin downstream reads that column. A quote edited afterward cannot silently restate what a finished job earned.
Will it start emailing my customers as soon as it is installed?
No. Customer email has to be switched on twice before anything leaves, and it only ever sends through your own SMTP. Internal notes and margin figures are never put in a customer's email.
Can I reopen a completed job?
No — a follow-up is a new job. It keeps the costed history of what was actually done intact instead of letting a finished job quietly grow.
Better together
Field-Service Suite: Fixora, Lendra, Jobora, Fleetora and Inspectora
Maintenance management plus equipment checkout — keep machines running and know who has the gear.
5 tools for$369
$465 separatelySave $96

Covered in these guides

Also covered in: The field-service stack, bought once: the quote that becomes a job, the van's service date, the kit that goes out, and the checks that come due · Jobora 1.0.1 — a numbering fix after "Load demo data" · A buyer's AI agent vetted us before they bought. Here is what it fetched, what 404'd, and what we changed. · What Field-Service Software Costs to Rent — and What Changes the Day You Own the Schedule.

More about Jobora

Self-hosted field-service software: quotes that turn into jobs, a drag-and-drop schedule board, real job costing and invoices — bought once.

The problem it solves

A small trade business runs on four things that never live in the same place: the quote you sent, the day it is booked for, what it actually cost you, and whether the customer has paid. The quote is in email. The schedule is a whiteboard or a group chat. The costs are in a shoebox. The invoice is in a spreadsheet — and the margin is a feeling you get at the end of the month.

  • Field-service SaaS is sold per user, per month, and the tier that includes scheduling is rarely the cheap one
  • The one-time scripts in this niche are usually job lists — a title, a status, a date, and nothing that tells you whether the work made money
  • The two screens that decide whether the software gets used are the ones most often missing: a schedule you can drag, and a margin you can see

Every feature

  • The schedule board. A week per screen, a lane per technician, a block per visit, positioned by real time. Drag a block to another day or another person and it moves on the server — refused, in plain words, if it would double-book somebody. No JavaScript? Every block carries a plain move form, so the board still works on a locked-down machine.
  • One conflict rule, four doors. The drag, the booking form, the REST API and the AI tool all call the same function. A rule that lives in one place cannot disagree with itself, and a test asserts that no second copy of it exists.
  • Quotes that become jobs. Line items with quantity, unit price, per-line tax and an invoice-level discount. Send it, the customer opens a tokenized link with no login, accepts, and the quote converts to a job exactly once — from the button, the public page, the API or an agent, all through one conversion function.
  • Job costing with a real margin. Labor, materials and subcontractor costs logged against the job, against what was quoted. A job nobody quoted shows a margin of unknown — never zero, because zero is a claim and unknown is the truth.
  • Invoices from Invora's money engine. Not a second money engine: the totals and status functions are byte-identical to Invora's, proven by a test that diffs the two function bodies and by Invora's own published reference case reproducing to the cent on both SQLite and MySQL. Integer cents throughout.
  • Sign-off at the door. A canvas signature captured on a phone, stored with the job and printed on the PDF. A blank pad is refused — a blank filed as a signature is worse than none.
  • Before-and-after photos. Byte-sniffed image uploads against the visit, so a file that claims to be a photo has to actually be one.
  • PDFs that leave the building. A customer-facing quote PDF, a customer-facing invoice PDF, and an internal job sheet that carries the margin — the one document you do not send out.
  • On the phone in the van. Add Jobora to a phone's home screen from the browser: the board, the job, the photos and the signature pad, served from your own server. It needs a connection; there is no offline mode.
  • Built with the owner layer. The Own It cards below describe the catalog-wide owner layer; Jobora 1.0 was built with all of it included.
  • Get paid from the invoice. Switch on card payment with your own Stripe account and your customer's invoice page shows a "Pay by card" button for what is still owed. The card is typed into Stripe's page, never into Jobora, and the money goes from Stripe to your bank. When Stripe reports the payment, the invoice records it by itself, once, in part or in full. Off until you switch it on.
  • The chaser. Payment reminders around the due date, a follow-up on a quote nobody has answered, and a reminder to the customer the day before a visit, through your own email server. Each kind is off until you tick it, never sends the same step twice or a backlog in a burst, and can be paused per job, per quote or invoice, or per customer. A preview shows exactly what goes out today.
  • Repeat work. Cleaning rounds, service contracts and gardens: set a plan once (every week, every few weeks, or every month on a day) and each visit appears on the board eight weeks ahead, through the same double-booking check. A clash is flagged, never forced, and each visit is invoiced at the plan's price.
  • Job checklists. Write the checks a kind of job always needs once. The technician answers each one done or not applicable on the job, the job cannot be closed with a check left open, and the job sheet prints the answers.
  • Book online. Switch on a booking page and customers pick a morning or afternoon that is actually free over the next two weeks. Each request waits for you to accept it onto the board or decline it, and nothing is double-booked.
  • The day's route. See each technician's stops for the day in order, with one directions link through them all, and the unbooked jobs grouped by area.
  • QuickBooks Online import files. Download your issued invoices, line by line with tax and discounts, and your customers, ready for QuickBooks Online's Import data screen.
  • Field staff see no prices. Switch it on and technicians get the jobs, the schedule, the checklists and the sign-off, and no price, rate or margin. Quotes and invoices stay with the office, on the page, in the PDF and through a technician's API key.
  • Updates from inside the app. The Updates page installs a new release with your license key: Ownware's signature is checked, a backup is taken first, and the app puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. It never checks by itself.
  • Backups by themselves. Automatic backups, an optional copy to S3-compatible storage you own, and a weekly check that the latest backup reads back. The Health page names anything that needs attention.
  • Switch from Jobber. Upload Jobber's client export. A switch report checks every row with Jobora's own rules before one Import button brings your clients across, and importing the same file again adds nothing.
  • Texts to your customers. Through your own SMS account, only to customers who agreed: a visit reminder before a planned visit, an "on my way" text from the job page, and, if you tick them, a text when a quote is ready or an invoice falls due. Your provider bills you; Jobora sells no credits.
  • Own It 4.0.1 — fixes and an up-to-date manual. For Jobora, 4.0.1 fixes an installer that had lost its styling and a command-line update that ended in an error after putting the previous version back. Its manual, FAQ and QUICKSTART now cover everything 4.0 added, including two Nginx rules that keep the data folder private. Your license covers it: press Check for updates on the Updates page, or download it from your order page.
  • Own It 4.0.2 — the installer opens on every host. For Jobora, 4.0.2 fixes a fresh install on an Apache host: the one-page setup at /install/ looped back to itself and never opened, and now it opens. Your license covers it: press Check for updates on the Updates page, or download it from your order page.

Release notes in full

  • Own It 4.1: texts to your customers. For Jobora, 4.1 adds texts to customers who agreed, through your own SMS account: visit reminders, "on my way", and quote and invoice texts if you tick them. An Extended license bought from October 4, 2026 covers up to ten client installations, one per client project: hand each one over to the client or host it for them, with the client's logo and colors from the app's branding settings. The API reference now shows how to connect Jobora to Zapier, Make or n8n, using its own webhooks and API key. Your license covers the update: press Check for updates on the Updates page, or download it from your order page.
  • Own It 4.0: it updates and backs itself up. For Jobora, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. A new install can start with a sample business and remove it in one click; backups run by themselves, with an optional offsite copy and a weekly check that the latest one reads back; and the Health page says whether the install is looking after itself. It also switches you over from Jobber: your clients, checked before they come across.
  • Own It 3.4: the customer import preview tells the truth. The customer import's preview used to count a customer who already exists, a name twice in the file or a bad email address as ready, and the import then skipped them. Now the preview names each of them before you import.
  • Own It 3.3: prices stay with the office. 3.3 is the detail that decides whether a tool fits a working day. For Jobora, it is a switch for your technicians: they get the jobs, the schedule, the checklists and the sign-off, and no price, rate or margin. Quotes and invoices stay with the office, on the page, in the PDF and through a technician's API key.
  • Own It 3.2: the customer books, the invoice gets paid. The 3.2 wave let the people you serve do things for themselves. For Jobora, that meant customers who ask for a free morning or afternoon on your booking page and pay the invoice by card through your own Stripe account, while the chaser sends payment reminders, quote follow-ups and visit reminders in your name, each kind off until you tick it. Behind it came repeat work placed on the board eight weeks ahead, checklists on the job, each technician's route for the day and QuickBooks Online import files.
  • Own It 3.1: it writes to the people you serve. The 3.1 wave gave the catalog a way to reach the other side of the transaction: counterparty email through your own SMTP server, calendar feeds your own calendar subscribes to, attachments filed where the paperwork belongs, and export presets other people's software imports. Each outbound feature ships switched off and runs on your own credentials; a failed send is recorded, and the action that triggered it stands. Jobora was built after the 3.1 wave, so it shipped with its outbound paths already in place: a quote emailed to your customer with an accept link, and your schedule as a calendar feed. Both are off until you switch them on.
  • Own It 3.0: works for your AI, not just for you. Eight MCP tools over the same guards a person faces: an agent can read the board, quote, and book — and every read-only tool says so in its own annotation. Signing, deleting and taking payments are deliberately not on the list.

Browse self-hosted: Field, stock & service software · Trades & field-work software · Construction & building-trade software · Garage & vehicle-service software · Cleaning & facilities-management software

Jobora$129 once
Demo Buy