Skip to main content

Overview

Simple Invoice (Facturación Simple) is a web-based invoicing system developed with PHP and MySQL. It provides essential features for creating commercial invoices, managing clients, products, and users within a single integrated platform.

Key Features

Simple Invoice offers a comprehensive set of features for small to medium businesses:
  • Client Management - Create, edit, and manage client information including contact details and addresses
  • Product Catalog - Maintain a complete product database with codes, names, and pricing
  • Invoice Generation - Create professional invoices with automatic calculations and PDF export
  • Multi-Currency Support - Built-in support for 32 international currencies
  • User Management - Secure authentication system with role-based access
  • AJAX-Powered Interface - Smooth, responsive user experience without page reloads
  • PDF Export - Generate professional PDF invoices using TCPDF library
  • Payment Tracking - Support for multiple payment methods (Cash, Check, Bank Transfer, Credit)

Technology Stack

Simple Invoice is built on a proven technology stack:
  • Backend: PHP (utilizing password hashing and session management)
  • Database: MySQL with MyISAM and InnoDB engines
  • Frontend: HTML5, CSS3 (Bootstrap 3), JavaScript (jQuery)
  • AJAX: Asynchronous data loading for improved performance
  • PDF Generation: TCPDF 5.0 library and html2pdf

System Requirements

Before installing Simple Invoice, ensure your server meets these requirements:
Minimum Requirements
  • PHP 5.3.7 or higher
  • MySQL 5.6 or higher
  • Web server (Apache, Nginx, or IIS)
  • phpMyAdmin (recommended for database setup)

PHP Version Compatibility

The system automatically handles PHP version differences:
if (version_compare(PHP_VERSION, '5.3.7', '<')) {
    exit("Sorry, Simple PHP Login does not run on a PHP version smaller than 5.3.7 !");
} else if (version_compare(PHP_VERSION, '5.5.0', '<')) {
    require_once("libraries/password_compatibility_library.php");
}
For PHP versions below 5.5.0, the system includes a password compatibility library to ensure secure password hashing.

Architecture Overview

Simple Invoice follows a modular architecture:

Database Structure

The system uses 8 core database tables:
  • users - User accounts and authentication
  • clientes - Client information and contact details
  • products - Product catalog with pricing
  • facturas - Invoice headers and metadata
  • detalle_factura - Invoice line items
  • perfil - Company profile and settings
  • currencies - Supported currency definitions
  • tmp - Temporary session data for invoice creation

Application Flow

1

Authentication

Users log in through the secure authentication system with password hashing
2

Session Management

PHP sessions maintain user state throughout the application
3

Data Operations

AJAX calls handle CRUD operations without page reloads
4

Invoice Generation

Invoices are compiled from clients, products, and saved to the database
5

PDF Export

The TCPDF library generates professional PDF documents

Security Features

  • Password Hashing: Uses PHP’s bcrypt algorithm ($2y$10$)
  • SQL Injection Protection: MySQLi real escape string on all inputs
  • XSS Prevention: Strip tags and ENT_QUOTES on user input
  • Session-Based Authentication: Secure session management
  • Access Control: Login verification on all protected pages

Default Credentials

After installation, you can log in with these default credentials:Username: admin
Password: admin
Important: Change these credentials immediately after first login for security.

Next Steps

Ready to get started? Continue to the Installation guide to set up Simple Invoice on your server.