Factuur / quote maken code workflow
-
Invoice System - Zendingspagina
Overzicht
Stack: PHP 7.3, Pagekit, Vue 1, Webpack 1
Functionaliteiten
- Factuur aanmaken
- Voortschrijdende factuur aanmaken
- Knop voor PDF regenereren
- Creditfactuur aanmaken via wissen knop
Architectuur
InvoiceApiController.php
Doel: API-endpoints voor invoice operaties
Routes:/invoice,/advanceinvoice
Verantwoordelijkheid: Request handling, render/rerender functiesTwee if-else opties voor render:
- Optie 1: Direct render
- Optie 2: Render met cache
InvoiceFactory.php
Doel: Business logic en invoice-object creatie
InvoiceMakerModule.php
Doel: Module initialisatie
Invoice Generatie
Invoice.php
Locatie:
packages/bixie/freighthero/invoice_templates/Stappen:
Invoice::create()- DOMPDF generate html
- Render
- Output
Templates & Vertalingen
Locatie:
packages/bixie/freighthero/invoice_templates/Drie templates (taal-gebaseerd):
- 'en' →
TFH-Invoice - 'de' →
thefreighthero_de - 'nl' →
thefreighthero
Vertaalde tekst:
invoice_templates/languages/(3 talen)Vertaling gebeurt op de plek in template met vertaalde calculatie lijnen (zie ShipmentApiController)
Shipment & Invoice Koppeling
ShipmentApiController.php
Doel: Return van vertaalde calculatie lijnen
Property:
$shipment->language- Gebruikt om template te definiëren van komende factuur
PDF Opslag
Locatie:
root/../invoices/INVOICENUMMER - COMPANY NAME- facturen
storage/pdf/quotes/zendingsnummer/Quote-S{{ZENDINGSNUMMER}}-{{QUOTE ID VAN hero_freighthero_quote db tabel}}-{{BEDRIJFSNAAM}}-.pdf- offertesProces:
- Invoices aanmaken/regenereren
- PDF genereren via DOMPDF
- Opslaan in gestructureerde directory
Quote System
QuoteApiController.php
Doel: API-endpoints voor quote operaties
Routes:/quote
Verantwoordelijkheid: Request handling
Quote.php
Locatie:
packages/bixie/freighthero/quote_templates/Functie: Bevat alle render logica
Workflow: Identiek aan invoice workflow
Templates & Vertalingen - Quote
Locatie: Frontend
invoicemaker -> settings -> offertesTekstinstellingen:
- Drie textvelden (per taal)
- Achtergrondafbeelding uploader
Opslaan: Deze instellingen worden opgeslagen in settings, niet in
invoice_templates/languages/(behalve sommige text in quote, zie quote.php bestand
Versie: 1.0
Status: Documentatie van huidige implementatie