importzugferd/README.md

129 lines
4.2 KiB
Markdown
Executable file

# ZUGFeRD Import for [Dolibarr ERP & CRM](https://www.dolibarr.org)
Import ZUGFeRD/Factur-X electronic invoices as supplier invoices in Dolibarr.
## Features
### Core Functionality
- **PDF Import**: Upload ZUGFeRD/Factur-X PDF invoices with embedded XML data
- **XML Parsing**: Automatic extraction and parsing of invoice data from embedded XML
- **Duplicate Detection**: SHA256 hash-based detection prevents importing the same invoice twice
- **Supplier Detection**: Automatic supplier matching via VAT ID or customer reference number
### Product Matching
- **Multi-Method Matching**: Products are matched via:
- Article mapping (supplier article number → your product)
- EAN/GTIN barcode
- Product reference
- Manufacturer reference
- **Manual Assignment**: Assign products manually when automatic matching fails
- **Product Creation**: Create new products directly from import data
- **Product Templates**: Duplicate existing products with ZUGFeRD data pre-filled
- **EAN Auto-Update**: Automatically updates product barcodes from invoice data
### Workflow
- **Persistent Import Records**: Imports are saved to database immediately
- **Status Tracking**:
- `Imported` - Ready for invoice creation
- `Pending` - Manual intervention required (missing products/supplier)
- `Processed` - Supplier invoice created
- `Error` - Import failed
- **Resume Anytime**: Continue editing imports later
- **Sum Validation**: Validates totals between ZUGFeRD data and created invoice
### Batch Import
- **Folder Monitoring**: Import from a local folder (watch folder)
- **IMAP Import**: Import from email mailbox
- **Automatic Archiving**: Successfully imported files are moved to archive
### Unit Code Translation
- Translates UN/ECE unit codes (C62, MTR, LTR, etc.) to readable labels (Stk., m, l)
## Requirements
- Dolibarr 19.0 or higher
- PHP 7.1 or higher
- PHP IMAP extension (for email import functionality)
## Installation
1. Copy the `importzugferd` folder to your Dolibarr `custom` directory
2. Enable the module in **Setup > Modules > ZUGFeRD Import**
3. Configure settings in **ZUGFeRD Import > Setup**
## Configuration
### IMAP Settings (for email import)
- IMAP Server hostname
- Port (993 for SSL, 143 for STARTTLS)
- Username and password
- Mailbox folder to monitor
- Use **Test Connection** to verify settings and select folder
### Folder Settings (for folder import)
- **Watch Folder**: Local path for incoming invoices
- **Archive Folder**: Local path for processed invoices
- **IMAP Archive Folder**: Email folder for processed emails
### Import Settings
- **Auto-create invoices**: Automatically create supplier invoices during batch import
## Usage
### Manual Import
1. Go to **ZUGFeRD Import > Import Invoice**
2. Upload a ZUGFeRD/Factur-X PDF file
3. Review invoice data and line items
4. Assign missing products if needed
5. Select supplier (if not auto-detected)
6. Click **Create Supplier Invoice**
### Batch Import
1. Go to **ZUGFeRD Import > Batch Import**
2. Select source (Folder or Email)
3. Click **Start Import**
4. Review results
### Product Mapping
1. Go to **ZUGFeRD Import > Product Mapping**
2. Select supplier
3. Add mappings: Supplier article number → Your product
## Extrafields
The module adds a custom field to third parties:
- **Customer No. at Supplier**: Your customer number at this supplier (used for automatic supplier detection via buyer reference)
## Translations
Available in:
- German (de_DE)
- English (en_US)
## Version History
### 1.1
- New persistent import workflow with database storage
- Manual product assignment via dropdown
- Product removal/reassignment
- Status "Pending" for imports requiring manual intervention
- Pending imports overview on upload page
- UN/ECE unit code translation (C62 → Stk., MTR → m, etc.)
- Batch import from folder or IMAP mailbox
- IMAP connection test with folder selection
- Product template feature (duplicate existing product)
### 1.0
- Initial release
- Basic ZUGFeRD/Factur-X import
- Automatic product matching
- Supplier detection
- Duplicate detection
## License
GPLv3 or (at your option) any later version. See file COPYING for more information.
## Author
Eduard Wisch - [data IT solution](https://data-it-solution.de)