All Projects
CRM · BillingDelivered 2025

Invoice App

The back office behind onoff.cy - store orders, customers and products, plus invoices, credit notes, offers and certificates, all in one self-hosted CRM. Client data in the screenshot is hidden for privacy.

OnOff CRM on desktopOnOff CRM on mobile
18
sections in one back office
PDF
invoices, offers and flyers generated automatically
€0
SaaS fees, fully self-hosted
2025
year delivered
01

Overview

The OnOff CRM is the back office behind onoff.cy. Before it, invoices and client records were kept in spreadsheets, and creating PDFs and checking who had paid took hours every billing cycle.

We built one system for the whole office: invoices, offers, credit notes, delivery notes, certificates, orders, products and customers, in 18 sections built around how the team works. Invoices, offers and the monthly offer flyer are turned into branded PDFs automatically and emailed to the customer with the PDF attached.

The CRM shares its database with the online store, so products are managed in one place and web orders arrive in the CRM. It is fully self-hosted, so OnOff keeps full control of its client data and pays no SaaS fees.

ClientOnOff
IndustryRetail back office
ScopeCRM, invoicing, PDF documents
Websitecrm.onoff.cy (private)
02

Challenge & Solution

Before

Invoices and client records scattered across spreadsheets

After

One back office for invoices, offers, credit notes, customers and products

Before

Hours spent making PDFs every billing cycle

After

Branded PDF invoices and offers generated automatically and emailed to the client

Before

No clear view of who had paid

After

Payment status tracked on every invoice

Before

Client data spread across outside tools

After

Self-hosted on our server for full control of client data, with no SaaS fees

03

Tech Stack

Application
Next.jsThe whole back office: invoices, offers, credit notes, orders, products and customers
TypeScriptTyped code for every document and calculation
Styled ComponentsThe CRM interface
Data
PostgreSQLInvoices, offers, products and the online shop's orders in one database
Documents & email
PuppeteerTurns invoices, offers and the monthly offer flyer into branded PDFs
SharpResizes and compresses product photos on upload
Nodemailer logoNodemailerSends invoices and offers to customers with the PDF attached
Security & hosting
bcrypt + JWTHashed passwords and signed sessions for staff logins
DockerRuns in a container next to the shop, on the same database
NginxHTTPS and routing for crm.onoff.cy
04

FAQ

What is the OnOff CRM?

The back office for OnOff: invoices, offers, credit notes, delivery notes, orders, products and customers, all in one system built for how the team works.

Can it create PDF invoices and offers?

Yes. Invoices, offers and the monthly offer flyer are turned into branded PDFs automatically and can be emailed to the customer with the PDF attached.

Does it work with the online store?

Yes. The CRM and onoff.cy share one database, so products are managed once and online orders arrive in the CRM.

Are there any monthly software fees?

No. The CRM is fully self-hosted on our server, so OnOff pays no SaaS fees.

Is client data safe?

Staff sign in with hashed passwords and signed sessions, and the database is not reachable from the internet. That is also why client data is blurred in our screenshots.

Can it grow with the business?

Yes. Because it is custom, new sections are added as the business needs them. It started with invoices and now covers 18 sections.

More projects

See what else we built

Let's build something worth talking about.

Tell us about your project. We'll reply within 12 hours - whether you work with us or not.

webdevlab
Invoice App — FinTech · Billing | webdevlab.