# 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)