Skip to content

Krist22/InvoicePro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Latactik - Système de Facturation

Démarrage Rapide

docker compose up --build

# Accès
Frontend: http://localhost:3000
API: http://localhost:8080/api
Token: Bearer demo_bearer_latactik_2025

Décisions d'Architecture

Schéma BDD - Précision Monétaire

-- Remise au niveau facture
invoices: discount_rate DECIMAL(5,2)  -- 0.00 à 100.00%
subtotal/total_due DECIMAL(10,2)      -- Précision BCMath

-- Items avec line_total calculé
invoice_items: quantity DECIMAL(8,2), unit_price DECIMAL(8,2)

Choix: Remise globale vs par ligne → Simplicité business et cohérence calculs.

Logique des Totaux - Observer Eloquent

// InvoiceObserver - Recalcul automatique
public function saving(Invoice $invoice) {
    $subtotal = bcmul($invoice->items->sum('line_total'), '1', 2);
    $discountAmount = bcdiv(bcmul($subtotal, $invoice->discount_rate, 4), '100', 2);
    $invoice->total_due = bcsub($subtotal, $discountAmount, 2);
}

Choix: Observer vs calcul à la volée → Cohérence données + Performance queries.

Stack Technique

Laravel 11 + Vue 3 + TypeScript + SQLite + Docker + JSON:API

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published