selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
invoice-as-a-service logo

Self-host invoice-as-a-service

v2026-10-23

REST API that turns JSON into professional PDF invoices

ReleaseOpen SourceMIT
Updated14 hours ago
LanguagePHP
Setup difficultyModerate
Stars
218
Port
8000 (HTTP API (php artisan serve))
Requires
Composer, PHP
Docker
docker.io/samber/invoice-as-a-service
Install with Docker
invoice-as-a-service screenshot 1

What is invoice-as-a-service?

Invoice as a service is a Laravel-based REST API that creates professional PDF invoices from JSON data sent via POST. It takes invoice details like line items, customer and company information, tax rates, currency, and optional payment links, then renders a PDF using Dompdf with a Bootstrap-styled template. The resulting PDF can be sent back in the response or pushed to AWS S3, FTP servers, webhooks, or Zapier. A hosted API endpoint is available at invoice-as-a-service.cleverapps.io, and self-hosted deployment is documented using Composer with PHP's built-in server or via Docker running PHP 8.0-fpm on port 8000. The stack requires PHP 7.3 or newer and Laravel 6.x, with dompdf for PDF generation and Guzzle for outbound HTTP. The API validates all input fields and supports English and Spanish. There is no user authentication — the service is a stateless API endpoint.

Should you self-host invoice-as-a-service?

invoice-as-a-service scores 43/100 on selfhost.directory (how scoring works) and ranks #12 of 13 in Billing. It has 218 GitHub stars.

It shipped 1 stable release in the past year. The latest, v2026-10-23, came out on 23 October 2026.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is MIT-licensed and written mostly in PHP.

Its closest alternative on selfhost.directory is polar (71/100, 10 435 stars). It scores higher overall, so compare the two before you pick. See invoice-as-a-service vs polar side by side.

Features

  • Company logo support
  • Customizable invoice template
  • Multi-language Support
  • Multiple delivery destinations
  • Paid stamp
  • Payment link
  • PDF invoice generation from JSON
  • REST API

invoice-as-a-service README

How to install invoice-as-a-service

Install invoice-as-a-service with Docker

Docker

docker buildx build --pull --push --platform linux/amd64 -t docker.io/samber/invoice-as-a-service:2024-06-07 .

FROM php:8.0-fpm

WORKDIR .

Install system dependencies

RUN apt-get update
&& apt-get install -y
zip
unzip
curl
libfreetype6-dev
libjpeg62-turbo-dev
libpng-dev
&& apt-get clean
&& rm -rf /var/lib/apt/lists/*

Install GD extension

RUN docker-php-ext-configure gd --with-freetype --with-jpeg
&& docker-php-ext-install -j$(nproc) gd

Install Composer using the official installation script

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

Copy application files

COPY . .

Install application dependencies

RUN COMPOSER_ALLOW_SUPERUSER=1 composer install

EXPOSE 8000 CMD ["php", "artisan", "serve", "--host", "0.0.0.0", "--port", "8000"]

Dockerfile builds PHP 8.0-fpm image with GD extension and runs Laravel's built-in server on port 8000.

invoice-as-a-service releases & version history

More in Billing

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…