Field, stock & servicev4.1.1

Warrantora

What you sold, when the cover ends, and every claim with the reason for each decision.

For businesses that sell goods with a warranty. Often replaces ReturnGO or WarrantyHub.

Single license $79 · Extended license $179 · paid once, yours for good

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

What it does

Cover computed, never stored

Cover is worked out from the sale date and the term, every time. Correct the sale date and everything after it follows. A short month adds no extra days.

Claims with a reason

Raised, assessed, approved or rejected, resolved. No assessment or decision saves without a written reason.

Your customers' warranty page

A customer checks cover with the serial number and email. They raise a claim with a photo and follow it.

In-warranty frozen when raised

A claim raised inside the term stays inside it, however long the assessment takes.

Customer emails, your server

We have your claim, the decision with its reason, and a note before cover ends. Each is off until you tick it.

Supplier claim-back

Approved repairs, replacements and refunds wait under the supplier who made the part. Each pack is a CSV and a PDF.

Which products come back

Claims per 100 registered units by product, model or batch, with the batch that stands out.

Your own reports

Pick the register or the claims, then the columns, filters and sort. See it on screen, download it as CSV, or save it by name for the team.

Registered at the till

Your till, shop or own code sends each sale to the API, and every unit is registered once.

The expiry dashboard

What lapses in 30, 60 and 90 days, and which claims are waiting to be assessed.

RMA tracking

Issued, on its way back, received, closed, with a reference two people saving at once cannot share.

Claim photos in your backup

Every claim photo and PDF in one archive with checksums. Restoring it puts back missing files and overwrites nothing.

Also: photos and documents on each claim, claims and register CSVs, and a warranty certificate PDF per item.

Is it right for you?

What Warrantora deliberately doesn’t do.

  • One business per installation.
  • The customer side is deliberately small and off by default: a customer checks cover, raises a claim and follows it; they cannot edit a claim or see your internal assessment. An item registered without an email address cannot be looked up.
  • Editing a warranty term re-dates every item registered under it.
  • An item with no sale date has no expiry and is reported as `unknown`. The product will not guess.
  • A claim's in-warranty flag is frozen when it is raised. Correcting the sale date later does not move it — which means a data-entry error found late needs the claim raising again.
  • No approval workflow beyond one decision. No multi-signature chain, no escalation, no SLA timer.
  • No money. Not the purchase price, not the repair cost, not a refund amount. Supplier claim-back records which claims went to which supplier and their answer, never an amount.
  • Evidence is stored unencrypted on your disk, behind the login. The JSON backup covers the database; the evidence archive carries the files, and is a download you make.
  • English only.
  • Registration at the point of sale is an API, not a plug-in: Warrantora ships no Shopify or WooCommerce app.

What renting costs instead

ReturnGOPremium "starting at $147 / month" and the tier above it "starting at $297 / month", both with "request a quote" beside them; the upper plans are custom-priced. Every figure is a floor rather than a price — the page says "starting at" on each

1 month of ReturnGO costs what Warrantora costs once.

Read Sep 3, 2026 · source
WarrantyHubEssentials $549/mo (up to ~1,000 claims); Professional $849/mo (up to ~2,000 claims); Enterprise quote-gated

1 month of WarrantyHub costs what Warrantora 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? ReturnGO alternative · WarrantyHub alternative · Claimlane alternative

Release history

Own It 4.1Claim updates by textOct 4, 2026

For Warrantora, 4.1 adds claim updates by text through your own SMS gateway, for customers who ask for them. What’s new in 4.1 →

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

For Warrantora, 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… What’s new in 4.0 →

Own It 3.4Your own reports, no upgrade neededSep 27, 2026

For Warrantora, 3.4 meant your own reports: the register or the claims, your columns, filters and sort, on screen, as CSV or saved under a name for the whole team. What’s new in 3.4 →

Own It 3.2Customers check their cover and claim for themselvesSep 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

Seven MCP tools, every one carrying its own read-only 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.php
  • config.sample.php
  • controllers/
  • deploy/
  • index.php
  • install/
  • manifest.json
  • offline.html
  • router.php
  • src/
  • sw.js
  • tests/
  • views/
src/Sms.php: a real module, the first 24 of 318 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
/**
 * Sms.php — claim updates by text, through the owner's OWN SMS gateway: the same idea as the owner's
 * own SMTP server for customer email. Off until the owner pastes a gateway address and switches it
 * on. Warrantora sells no credits and adds nothing: the gateway bills the owner at its own rate.
 *
 * The sending half is Slotly's (3.2), unchanged in kind: one HTTPS POST per message, JSON or
 * form-encoded, with the three field names the gateway expects (to, from, text by default; Twilio's
 * are To, From, Body), and the key sent as a Bearer token, as HTTP Basic ("user:password", e.g.
 * Twilio's AccountSid:AuthToken) or not at all. Any 2xx answer counts as sent.
 *
 * The Warrantora half:
 *   · only a customer who ticked "Text me when this claim moves on" on the public claim form, with
 *     a phone number, is ever texted. The tick is part of every query that picks a recipient;
 *   · three texts at most per claim: received, the decision, closed. Each starts with the business
 *     name and links to the claim's own page, where the customer can stop them;
 *   · each text is claimed in the outbox under a UNIQUE key (sms:<event>:<claim id>) BEFORE it is
 *     sent, so no text goes twice, whoever triggers it and however often;
 *   · "received" goes at once (the customer has just pressed Send). The decision and "closed" are
 *     the team's doing and can happen at any hour, so outside the owner's sending hours (default
 *     09:00 to 20:00, the business time zone, counted in local hours so daylight saving moves with
 *     it) they wait in the outbox and go on the next dashboard load or /cron/customer-mail run
 *     inside the hours;
 *   · a daily cap (sms_daily_cap, default 100 attempts a business day) bounds the owner's bill; a

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 -- warrantora <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$79
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, $79
Extended license$179
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, $179

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

Why not just store the expiry date?
Because it goes stale the moment somebody corrects a sale date or edits a term, and a register whose expiry column disagrees with its own inputs is worse than no register — it is a register that will be quoted at somebody in a dispute. Warrantora computes it instead. The cost is stated plainly: editing a term re-dates every item on it, and the terms page tells you how many that is before you do it.
What happens to a claim if I fix the sale date afterward?
Nothing. The in-warranty answer is frozen at the date the claim was raised, on purpose. Which means a data-entry error found late needs the claim raising again — that is in the honest-limitations list, not hidden.
Does it handle money?
No. Not the purchase price, not the repair cost, not a refund amount. It is a register and a claim record, and it says so.
Will this run on shared hosting?
Yes. PHP 8.1+ with PDO, MySQL or SQLite. 24 checks run against MariaDB in strict mode, including the computed expiry coming out identical on both drivers.
Is there a customer portal?
Yes, from 1.1, and off until you switch it on: a warranty page where a customer checks their cover with the serial and their email, raises a claim and follows it. Customer emails go through your own mail server, and each is off until you tick it.
Is there a renewal fee?
No. You buy the license outright and there is nothing to renew.
If I correct a sale date afterward, do the expiry dates follow it?
Yes, all of them. Expiry is computed from the sale date and the term every time it is asked, never stored, so correcting an input moves every figure downstream with it.
What does it show for an item with no sale date?
No expiry, and never a guess — the status comes back as unknown. A register whose expiry column disagrees with its own inputs is worse than no register, because it is the one that gets quoted at somebody in a dispute.
Can a claim expire while we are still assessing it?
No. Your own assessment time cannot run a claim out of cover.
Better together
Retail Suite: Vendra, Restock, Tokora, Warrantora and Loyalora
POS with inventory, reorder forecasting, and a queue/token display — the front of a shop, self-hosted.
5 tools for$209
$355 separatelySave $146

Covered in these guides

More about Warrantora

Self-hosted warranty register: what you sold, when the cover ends, and every claim with the reason for each decision — computed, never stale.

The problem it solves

Warranty is one of the few records a small business is asked to produce under pressure — by a customer who is annoyed, or a supplier who would rather not pay. The answer has to be exact, and it has to still be defensible six months later.

  • The register is usually a spreadsheet with an expiry column somebody typed, which stops being true the first time a sale date is corrected
  • Claims get decided in email, so the reason a claim was rejected exists only in somebody's memory
  • Software that does this properly is priced for brands processing claims at volume; the lowest entry price we read in the category is ReturnGO's "Starting at $147 / month" (read 2026-09-24)

Every feature

  • Expiry is computed, never stored. There is no expiry column on an item and no endpoint that accepts one. Cover is worked out from the sale date and the term every time it is asked. Correct a sale date and every date that depends on it corrects itself.
  • Month arithmetic that does not drift. 31 August plus six months is 28 February, not 3 March — the customer does not get three extra days because the calendar is awkward. Twelve fixtures cover the short-month, leap-year and year-boundary edges.
  • The expiry dashboard. What lapses in 30, 60 and 90 days, and which claims are sitting unassessed — the two questions that actually need answering before the month ends.
  • Claims with a reason at every step. Raised, assessed, approved or rejected, resolved. Assess, approve and reject all refuse to save without a written reason — on the form, through the API and through an AI tool alike. A rejection with nothing written on it is the record that cannot be defended later.
  • In-warranty is frozen when the claim is raised. A claim raised inside the term stays inside the term however long the assessment takes. Deciding it against today's date would make being slow a way of rejecting claims.
  • RMA tracking. Issued, on its way back, received, closed — with a reference number allocated under a real write lock, so two people saving at the same moment cannot take the same one.
  • Evidence on the claim. Photographs and documents attached to the claim, byte-sniffed on upload so a file that claims to be a photo has to be one.
  • Exports that leave the building. A claims CSV, a register CSV, and a warranty certificate PDF per item — the document a customer actually asks for.
  • Your customers' own warranty page. Switch it on and a customer checks their cover with the serial number and the email on the registration, raises a claim with a photo, and follows it on a link of their own, with your decision and the reason. Both have to match, so a guessed serial shows nothing. The decision stays with you.
  • Customer emails through your own mail server. Three messages, each off until you tick it: we have your claim; the decision with its reason; and a note before the cover ends.
  • Supplier claim-back. Approved in-warranty repairs, replacements and refunds wait under the supplier who made the part. A pack gives you a CSV and a PDF with every fault and decision, and records the supplier's answer and credit-note reference. No amounts, as ever.
  • Which products and batches come back. Claims per 100 registered units for each product, model or batch, and the batch that stands out: three claims or more at twice its product's rate.
  • Claim photos in your backup. Download every claim photo and PDF in one archive with checksums; restoring it puts back missing files and overwrites nothing.
  • Registered at the till. Your till, shop or own code sends each sale to Warrantora's API and every unit sold is registered on the right term, once.
  • Your own reports. Pick the register or the claims, the columns, the filters and the sort. See it on screen, download it as CSV, or save it under a name for the whole team. No upgrade needed.
  • 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.
  • Claim updates by text. Through your own SMS gateway, for customers who tick "Text me when this claim moves on": a text when the claim arrives, when you approve or reject it, and when you close it. Each links to the claim's own page, where one press stops them.
  • Own It 4.0.1 — fixes and an up-to-date manual. For Warrantora, 4.0.1 fixes an installer that had lost its styling, a rollback that a page opened during an update could stop 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 Warrantora, 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: claim updates by text. For Warrantora, 4.1 adds claim updates by text through your own SMS gateway, for customers who ask for 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 Warrantora 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 Warrantora, 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.
  • Own It 3.4: your own reports, no upgrade needed. For Warrantora, 3.4 meant your own reports: the register or the claims, your columns, filters and sort, on screen, as CSV or saved under a name for the whole team. The items import's preview now also counts exactly what the import brings in, and names a serial twice in the file.
  • Own It 3.2: customers check their cover and claim for themselves. The 3.2 wave let the people you serve do things for themselves. For Warrantora, that meant a warranty page where a customer checks their cover with the serial number and the email on the registration, raises a claim with a photo and follows it on a link of their own, with customer emails through your own mail server, each off until you tick it. Behind it came supplier claim-back packs, the products and batches that come back most, claim photos in your backup, and units registered straight from the till.
  • 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. Warrantora's outbound paths are a private calendar feed of expiring cover and signed webhooks for registrations and claims; the 3.1 pass also rewrote the honest-limitations list against the shipped code.
  • Own It 3.0: works for your AI, not just for you. Seven MCP tools, every one carrying its own read-only annotation. An agent can look up cover, list what is expiring and raise a claim; voiding a registration, deleting anything and editing the warranty terms are deliberately not exposed — the last because it silently re-dates every item on the term.

Browse self-hosted: Field, stock & service software · Retail & shop software · Garage & vehicle-service software

Warrantora$79 once
Demo Buy