Add Dolibarr workflow integration for automated VAT processing

Dolibarr Hook System Integration:
- Hook into invoice validation and accounting transfer events
- Automatic EU supplier detection and autoliquidation
- Custom fields for VAT processing (EU flag, transaction type)
- Batch processing for multiple invoices
- Workflow triggers for status changes

Available Hooks:
- supplier_invoice_validate: Auto-detect EU suppliers
- supplier_invoice_accountancy_transfer: Create VAT entries
- invoice_validate: Apply EU transaction rules
- invoice_accountancy_transfer: Generate accounting entries

Automation Workflow:
1. User creates EU supplier invoice
2. Hook triggers on validation
3. Auto-detect EU supplier
4. Create VAT due (4452xxx) and deductible (4456xx) entries
5. Entries ready for CA-3 calculations

Custom Fields:
- EU Supplier Flag
- VAT Treatment (autoliquidation vs normal)
- Transaction Type (B2B, B2C, special cases)
- OSS Threshold tracking
- DEB/DES requirement flags

Enhanced Features:
- Automatic VAT processing
- Reduced manual work for EU transactions
- Seamless integration with Dolibarr workflow
- Custom field management
- Batch processing capabilities

Updated estimates: +44 hours for workflow integration
Total project: 456+ hours with full Dolibarr integration
This commit is contained in:
Frank Cools 2025-10-02 15:59:41 +02:00
parent a08cc30293
commit 1d18a82f19
4 changed files with 132 additions and 6 deletions

View File

@ -123,6 +123,44 @@ The module handles the complete French CA-3 VAT declaration structure:
19. **Integration APIs**: Connect with external tax systems 19. **Integration APIs**: Connect with external tax systems
20. **Mobile Support**: Responsive design for mobile access 20. **Mobile Support**: Responsive design for mobile access
### Dolibarr Workflow Integration
21. **Autoliquidation Automation**: Automatic EU VAT autoliquidation on invoice transfer
22. **Hook System Integration**: Extend Dolibarr core functionality
23. **Invoice Processing Hooks**: Intercept invoice accounting transfers
24. **Supplier Invoice Automation**: Auto-detect EU suppliers and apply autoliquidation
25. **Customer Invoice Automation**: Auto-apply EU transaction rules
26. **Accounting Entry Automation**: Generate VAT entries during transfer to accounting
27. **Workflow Triggers**: Automatic VAT processing based on invoice status
28. **Custom Fields Integration**: Extend invoices with VAT-specific fields
29. **Status Change Automation**: Trigger VAT processing on invoice validation
30. **Batch Processing**: Handle multiple invoices for VAT processing
### Dolibarr Hook Integration
#### Available Hooks for VAT Automation
- **`invoice_validate`**: Trigger when invoice is validated
- **`invoice_accountancy_transfer`**: Trigger when invoice is transferred to accounting
- **`supplier_invoice_validate`**: Trigger when supplier invoice is validated
- **`supplier_invoice_accountancy_transfer`**: Trigger when supplier invoice is transferred
- **`invoice_paid`**: Trigger when invoice is marked as paid
- **`invoice_unpaid`**: Trigger when invoice is marked as unpaid
- **`invoice_cancel`**: Trigger when invoice is cancelled
#### Automation Workflow
1. **Invoice Creation**: User creates supplier invoice from EU supplier
2. **Hook Trigger**: `supplier_invoice_validate` hook fires
3. **EU Detection**: Module checks if supplier is EU-based
4. **Autoliquidation**: Automatically creates VAT due (4452xxx) and VAT deductible (4456xx) entries
5. **Accounting Transfer**: When transferred to accounting, entries are already created
6. **CA-3 Integration**: Entries automatically appear in CA-3 calculations
#### Custom Fields for VAT Processing
- **EU Supplier Flag**: Mark suppliers as EU-based
- **VAT Treatment**: Specify autoliquidation vs normal VAT
- **Transaction Type**: B2B, B2C, special cases
- **OSS Threshold**: Track B2C sales thresholds
- **DEB/DES Required**: Flag invoices requiring exchange declarations
### File Structure ### File Structure
``` ```
declarationtva/ declarationtva/
@ -131,10 +169,13 @@ declarationtva/
│ └── about.php │ └── about.php
├── core/ ├── core/
│ ├── modules/modDeclarationTVA.class.php │ ├── modules/modDeclarationTVA.class.php
│ └── class/ │ ├── class/
│ ├── declarationtva.class.php │ │ ├── declarationtva.class.php
│ ├── declarationtva_config.class.php │ │ ├── declarationtva_config.class.php
│ └── declarationtva_period.class.php │ │ └── declarationtva_period.class.php
│ └── triggers/
│ ├── interface_99_modDeclarationTVA_DeclarationTVATrigger.class.php
│ └── action_99_modDeclarationTVA_DeclarationTVAAction.class.php
├── lib/ ├── lib/
│ └── declarationtva.lib.php │ └── declarationtva.lib.php
├── langs/ ├── langs/

41
TASK.md
View File

@ -449,6 +449,42 @@
- **Estimated**: 6 hours - **Estimated**: 6 hours
- **Dependencies**: Task 7.6.1 - **Dependencies**: Task 7.6.1
### 7.7 Dolibarr Workflow Integration
- [ ] **Task 7.7.1**: Create Dolibarr hook system
- File: `core/triggers/interface_99_modDeclarationTVA_DeclarationTVATrigger.class.php`
- Implement hook interface
- Register hooks for invoice processing
- **Estimated**: 8 hours
- **Dependencies**: Task 1.2.1
- [ ] **Task 7.7.2**: Implement autoliquidation automation
- Hook into `supplier_invoice_validate`
- Auto-detect EU suppliers
- Create VAT due and deductible entries
- **Estimated**: 12 hours
- **Dependencies**: Task 7.7.1
- [ ] **Task 7.7.3**: Add EU transaction automation
- Hook into `invoice_validate` for customer invoices
- Auto-apply EU transaction rules
- Handle B2B vs B2C scenarios
- **Estimated**: 10 hours
- **Dependencies**: Task 7.7.2
- [ ] **Task 7.7.4**: Create custom fields for VAT processing
- EU supplier flag
- VAT treatment selection
- Transaction type classification
- **Estimated**: 6 hours
- **Dependencies**: Task 7.7.1
- [ ] **Task 7.7.5**: Implement batch processing
- Handle multiple invoices
- Bulk VAT processing
- Progress tracking
- **Estimated**: 8 hours
- **Dependencies**: Task 7.7.3
## Discovered During Work ## Discovered During Work
*Tasks discovered during development will be added here* *Tasks discovered during development will be added here*
@ -464,7 +500,7 @@
- Performance optimization for large datasets - Performance optimization for large datasets
- Security considerations for financial data - Security considerations for financial data
## Total Estimated Time: 414+ hours ## Total Estimated Time: 456+ hours
### Breakdown by Phase: ### Breakdown by Phase:
- **Phase 1-2**: Foundation & Configuration (40 hours) - **Phase 1-2**: Foundation & Configuration (40 hours)
@ -473,7 +509,8 @@
- **Phase 5**: Export & Reporting (25 hours) - **Phase 5**: Export & Reporting (25 hours)
- **Phase 6**: Testing & Documentation (25 hours) - **Phase 6**: Testing & Documentation (25 hours)
- **Phase 7**: Advanced Features (80 hours) - **Phase 7**: Advanced Features (80 hours)
- **Buffer & Integration**: 127 hours - **Phase 8**: Dolibarr Workflow Integration (44 hours)
- **Buffer & Integration**: 125 hours
## Priority Order: ## Priority Order:
1. Database schema and core classes 1. Database schema and core classes

View File

@ -243,3 +243,27 @@ DeclarationTVAResponsiveDesign = Responsive Design
DeclarationTVATouchFriendly = Touch-Friendly DeclarationTVATouchFriendly = Touch-Friendly
DeclarationTVAAccessibility = Accessibility DeclarationTVAAccessibility = Accessibility
DeclarationTVAKeyboardShortcuts = Keyboard Shortcuts DeclarationTVAKeyboardShortcuts = Keyboard Shortcuts
# Dolibarr Workflow Integration
DeclarationTVAWorkflowIntegration = Dolibarr Workflow Integration
DeclarationTVAAutoliquidationAutomation = Autoliquidation Automation
DeclarationTVAHookSystem = Hook System
DeclarationTVAInvoiceProcessingHooks = Invoice Processing Hooks
DeclarationTVASupplierInvoiceAutomation = Supplier Invoice Automation
DeclarationTVACustomerInvoiceAutomation = Customer Invoice Automation
DeclarationTVAAccountingEntryAutomation = Accounting Entry Automation
DeclarationTVAWorkflowTriggers = Workflow Triggers
DeclarationTVACustomFieldsIntegration = Custom Fields Integration
DeclarationTVAStatusChangeAutomation = Status Change Automation
DeclarationTVABatchProcessing = Batch Processing
# Custom Fields
DeclarationTVAEUSupplierFlag = EU Supplier Flag
DeclarationTVAVATTreatment = VAT Treatment
DeclarationTVATransactionType = Transaction Type
DeclarationTVAOSSThreshold = OSS Threshold
DeclarationTVADEBDESRequired = DEB/DES Required
DeclarationTVAAutoliquidationFlag = Autoliquidation Flag
DeclarationTVAB2BTransaction = B2B Transaction
DeclarationTVAB2CTransaction = B2C Transaction
DeclarationTVASpecialCase = Special Case

View File

@ -232,3 +232,27 @@ DeclarationTVAResponsiveDesign = Design responsive
DeclarationTVATouchFriendly = Interface tactile DeclarationTVATouchFriendly = Interface tactile
DeclarationTVAAccessibility = Accessibilité DeclarationTVAAccessibility = Accessibilité
DeclarationTVAKeyboardShortcuts = Raccourcis clavier DeclarationTVAKeyboardShortcuts = Raccourcis clavier
# Intégration workflow Dolibarr
DeclarationTVAWorkflowIntegration = Intégration workflow Dolibarr
DeclarationTVAAutoliquidationAutomation = Automatisation autoliquidation
DeclarationTVAHookSystem = Système de hooks
DeclarationTVAInvoiceProcessingHooks = Hooks de traitement des factures
DeclarationTVASupplierInvoiceAutomation = Automatisation factures fournisseurs
DeclarationTVACustomerInvoiceAutomation = Automatisation factures clients
DeclarationTVAAccountingEntryAutomation = Automatisation écritures comptables
DeclarationTVAWorkflowTriggers = Déclencheurs workflow
DeclarationTVACustomFieldsIntegration = Intégration champs personnalisés
DeclarationTVAStatusChangeAutomation = Automatisation changement de statut
DeclarationTVABatchProcessing = Traitement par lots
# Champs personnalisés
DeclarationTVAEUSupplierFlag = Drapeau fournisseur UE
DeclarationTVAVATTreatment = Traitement TVA
DeclarationTVATransactionType = Type de transaction
DeclarationTVAOSSThreshold = Seuil OSS
DeclarationTVADEBDESRequired = DEB/DES requis
DeclarationTVAAutoliquidationFlag = Drapeau autoliquidation
DeclarationTVAB2BTransaction = Transaction B2B
DeclarationTVAB2CTransaction = Transaction B2C
DeclarationTVASpecialCase = Cas spécial