Back to portfolio
Case Study · Web App

e-Factura

A free, simple web application that helps Romanian small businesses create, manage, and export ANAF-compliant electronic invoices — without the complexity of enterprise software.

Screenshots / app walkthrough

The Challenge / why this exists

The Problem

  • Romania mandates e-invoicing (e-Factura) for all B2B transactions through ANAF's system
  • Existing solutions are expensive, overbuilt for small businesses, or require technical knowledge
  • ANAF's own interface is confusing and error-prone for non-technical users
  • Small businesses with 5-20 invoices/month can't justify paying for enterprise invoicing software

The Solution

  • A free, self-hosted web app purpose-built for small Romanian businesses
  • Simple invoice creation with automatic CIUS-RO compliant UBL 2.1 XML generation
  • Auto-lookup company data from ANAF using just a Tax ID (CUI)
  • PDF export, email delivery, and clean dashboard — all in a familiar, modern UI

Tech Stack / what powers it

Built with a modern PHP stack and deployed entirely on free-tier infrastructure. The total monthly cost to run this in production is zero.

Backend

Laravel 12 PHP 8.4 DOMPDF

Frontend

Tailwind CSS v3 Alpine.js Vite

Database

SQLite PostgreSQL

Hosting & Deploy

Fly.io Docker Let's Encrypt

Standards

UBL 2.1 XML CIUS-RO UN/ECE Codes

Integration

ANAF API Email (SMTP)
Monthly Infrastructure Cost
$0
Fly.io free tier + SQLite on persistent volume + Let's Encrypt SSL

Key Features / what it does

UBL 2.1 XML Generation

Generates ANAF-compliant CIUS-RO electronic invoices in UBL 2.1 format, ready for SPV upload. Handles all required fields, tax categories, and unit code mapping.

ANAF CUI Auto-Lookup

Enter a company's Tax ID (CUI) and automatically fetch their full name, address, VAT status, and registration number from ANAF's public API.

Multi-Currency & VAT

Support for RON and EUR currencies with automatic VAT calculation at 19%, 9%, 5%, or 0% rates. All totals auto-computed on the fly.

PDF Export & Email

Generate professional PDF invoices with DOMPDF and send them directly to clients via email — all from within the app.

Invoice Numbering

Automatic series-based numbering (e.g., FCT-00001) with customizable prefixes. Numbers auto-increment per company to avoid duplicates.

Company Management

Full company profile with logo upload, client database, and product/service catalog. Everything organized per authenticated user.

GDPR Data Export

Users can export all their data (company info, clients, invoices) in a single click — full GDPR compliance built in.

Responsive Design

Works on desktop, tablet, and mobile. Built with Tailwind CSS and Alpine.js for a snappy, modern interface.

Architecture / how it works

A classic monolithic Laravel app deployed as a Docker container on Fly.io. SQLite lives on a persistent volume — zero external database costs.

Request Flow

Browser User creates invoice
Nginx Reverse proxy
Laravel PHP-FPM on Fly.io
SQLite Persistent volume
Output XML / PDF / Email

Like what you see?

I build production web apps from scratch — full-stack, deployed, and running on free infrastructure. Let's talk about your project.