Billance semplifica la fatturazione elettronica B2B con AI, formati ZUGFeRD/XRechnung e architettura privacy-first. Ideale per professionisti e PMI. #FatturazioneElettronica #B2B #ZUGFeRD #XRechnung #PMI #Privacy #AI #Software
seen from United States
seen from United States
seen from United States
seen from Netherlands
seen from TĂŒrkiye

seen from Poland

seen from Malaysia
seen from United States

seen from Malaysia

seen from Russia

seen from Poland

seen from Malaysia

seen from Poland
seen from Ukraine
seen from United States
seen from Malaysia
seen from United States
seen from United States

seen from Germany
seen from China
Billance semplifica la fatturazione elettronica B2B con AI, formati ZUGFeRD/XRechnung e architettura privacy-first. Ideale per professionisti e PMI. #FatturazioneElettronica #B2B #ZUGFeRD #XRechnung #PMI #Privacy #AI #Software

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch âą No registration required âą HD streaming
Neues Feature: Gap-Report fĂŒr ZUGFeRD-Mapping (PrĂŒfung auf fehlende Felder)
# Neues Feature: Gap-Report fĂŒr ZUGFeRD-Mapping Unser **KI-gestĂŒtztes ZUGFeRD-Mapping** hat ein neues Feature bekommen, das die Arbeit noch einfacher macht! ## Das Problem Die KI mappt automatisch ~90% der ZUGFeRD-Felder. Aber was ist mit den **fehlenden 10%**? Bisher musste man selbst herausfinden, welche Felder in FileMaker noch fehlen und wie man sie anlegt. ## Die Lösung: Gap-Report Ab sofort erstellt die KI einen **detaillierten Gap-Report** fĂŒr alle fehlenden Felder: ### Was der Gap-Report liefert: â **Welches Feld fehlt** (z.B. `invoiceCurrencyCode`) â **ZUGFeRD-Code** (z.B. BT-5) â **Beschreibung** (was bedeutet das Feld?) â **Pflicht oder Optional?** (PrioritĂ€t HOCH/NIEDRIG) â **Konkrete Empfehlung** fĂŒr FileMaker â **Beispielwerte** zur Orientierung ### Beispiel: ``` â invoiceCurrencyCode (BT-5) - PFLICHT Beschreibung: WĂ€hrungscode der Rechnung Empfehlung: Textfeld mit Werteliste (EUR, USD, CHF, GBP) Beispiel: EUR â unitCode (BT-130) - PFLICHT Beschreibung: Einheitencode (UN/ECE) Empfehlung: Textfeld mit Werteliste (C62, HUR, MTR, KGM, LTR) Beispiel: C62 (StĂŒck), HUR (Stunden) âčïž deliveryTerms (BT-20) - Optional Beschreibung: Lieferbedingungen (IncoTerms) Empfehlung: Textfeld mit Werteliste (EXW, FOB, CIF, DAP, DDP) Beispiel: DAP ``` ## Vorteile **Vorher:** "15 Felder fehlen" - und jetzt? **Nachher:** Konkrete Schritt-fĂŒr-Schritt-Anleitung, was genau anzulegen ist. Perfekt fĂŒr **FileMaker-Entwickler ohne ZUGFeRD-Kenntnisse**! ## Fazit Das KI-Mapping wird immer intelligenter. Nicht nur automatisch mappen, sondern auch **aktiv beim Nacharbeiten helfen**. ZUGFeRD-Compliance wird zum Kinderspiel. --- **Update:** Oktober 2025 **Feature:** Gap-Report mit konkreten FileMaker-Empfehlungen **Status:** Live #FileMaker #ZUGFeRD #KI #Automatisierung #ERechnung
KI-gestĂŒtztes Feld-Mapping in ZUGFeRD Swite , ab morgen Abend verfĂŒgbar
Mit ZUGFeRD Swite steht ab sofort ein vollstĂ€ndig automatisiertes, KI-gestĂŒtztes Feld-Mapping fĂŒr FileMaker zur VerfĂŒgung. Das System analysiert eigenstĂ€ndig sĂ€mtliche FMPXML-Exports aus FileMaker und erstellt innerhalb weniger Sekunden eine komplette Zuordnung zwischen den Quellfeldern und den ZUGFeRD-Zielfeldern. Damit entfĂ€llt der aufwendige manuelle Mapping-Prozess, der bislang bei jeder neuen Installation nötig war, Die KI ĂŒbernimmt die gesamte Arbeit und liefert ein fertiges JSON-Mapping, das sofort in FileMaker ĂŒbernommen wird. Das ganze erweitert unsere AddOns im Bereich ZUGFeRD. Alle Funktionen bleiben bestehen, das Mapping, mit einem derzeitigen Arbeitsaufwand von ca. 1 Stunde wird auf wenige Minuten reduziert. ## Das Problem: Komplexes Field-Mapping ĂŒberfordert Anwender Wer schon einmal versucht hat, ZUGFeRD-konforme elektronische Rechnungen aus einem bestehenden ERP- oder Warenwirtschaftssystem zu erzeugen, kennt die Herausforderung: **75+ ZUGFeRD-Felder** mĂŒssen den vorhandenen Datenfeldern zugeordnet werden. Ein mĂŒhsamer, fehleranfĂ€lliger Prozess, der fĂŒr unerfahrene Anwender kaum zu bewĂ€ltigen ist. Die klassische Vorgehensweise: - Manuelles Durchgehen jedes einzelnen ZUGFeRD-Feldes - Suchen des passenden Quellfeldes in verschiedenen Tabellen - Copy & Paste von Feldnamen - Stundenlange Trial-and-Error-Sessions - HĂ€ufige Fehler durch Tippfehler oder falsche Zuordnungen **Das Ergebnis:** Frustration, Zeitverlust und hohe Fehlerquote. In unserem Bisherigen AddOn, deshalb das hĂ€ndische Mappen ohne in den FileMaker-Scripten Ănderungen vornehmen zu mĂŒssen. ## Die Lösung: KI macht das Mapping automatisch Nun aber ĂŒbernimmt diesen Schritt die KI â **KĂŒnstlicher Intelligenz** (Claude API von Anthropic). ### So funktioniert es Das System besteht aus drei einfachen Schritten: #### 1. Datenexport aus FileMaker Der Anwender exportiert **7 XML-Dateien** aus seinem System: - **preferences.xml** â EnthĂ€lt alle ZUGFeRD-Zielfelder (die Referenz) - **invoice.xml** â Rechnungskopfdaten (Rechnungsnummer, Datum, Summen, etc.) - **buyer.xml** â Kundendaten (Name, Adresse, USt-ID, etc.) - **seller.xml** â VerkĂ€uferdaten (Firma, Adresse, Kontakt, etc.) - **finance.xml** â Zahlungsinformationen (IBAN, BIC, Zahlungsbedingungen) - **payments.xml** â Zahlungsdetails und FĂ€lligkeiten - **items.xml** â Rechnungspositionen (Artikel, Mengen, Preise, Steuern) Diese Dateien werden **automatisch nacheinander** auf den Server hochgeladen â kein manuelles Handling nötig. #### 2. KI-gestĂŒtztes Mapping Nach dem Upload wird das **KI-Mapping-Script** gestartet: ```php URL: https://ihr-server.de/ki_mapping/start_mapping.php ``` Was passiert im Hintergrund? 1. **Datenanalyse:** Das System liest alle 7 XML-Dateien ein 2. **Feldextraktion:** ZUGFeRD-Zielfelder und Quellfelder werden extrahiert 3. **Intelligente Analyse:** Die KI analysiert: - Feldnamen (semantische Ăhnlichkeit) - Beispieldaten aus den ersten 3 DatensĂ€tzen - Datentypen und -strukturen 4. **Automatisches Mapping:** Die KI ordnet jedem ZUGFeRD-Feld das passende Quellfeld zu **Dauer:** 5-15 Sekunden (abhĂ€ngig von der Datenmenge) #### 3. JSON-Response mit fertigem Mapping Das System gibt eine strukturierte JSON-Antwort zurĂŒck: ```json { "success": true, "message": "39 von 43 Feldern erfolgreich gemappt", "mapping": { "buyerName": "buyer.BuyerName", "buyerCity": "buyer.BuyerCity", "buyerStreet": "buyer.BuyerStreet", "invoiceNumber": "invoice.InvoiceNumber", "invoiceDate": "invoice.InvoiceIssueDate", "totalGrossAmount": "invoice.InvoiceLegalMonetaryTotalTaxInclusiveAmount", "payeeIBAN": "finance.payeeIBAN", "quantity": "items.LineInvoicedQuantity", "priceNet": "items.LineNetPriceAmount", ... }, "statistics": { "total_zugferd_fields": 43, "mapped_fields": 39, "unmapped_fields": 4, "unmapped_list": ["deliveryTerms", "lieferschein_nr", ...] } } ``` Diese JSON kann direkt in FileMaker (oder jedem anderen System) weiterverarbeitet werden. ## Technische Details ### Architektur Das System besteht aus drei PHP-Scripten: **1. receive_xml.php** â XML-Upload-Handler - EmpfĂ€ngt die 7 XML-Dateien nacheinander - Automatische Reihenfolgen-Erkennung (kein manuelles Benennen nötig) - Parst FileMaker FMPXMLRESULT Format - Extrahiert Feldnamen und Beispieldaten - Speichert XML + JSON-Metadaten **2. process_mapping.php** â KI-Mapping-Engine - Liest alle 7 XML-Dateien - Extrahiert ZUGFeRD-Zielfelder aus preferences.xml - Sammelt Quellfelder + Beispieldaten aus den anderen 6 Dateien - Erstellt intelligenten Prompt fĂŒr Claude API - Parst KI-Response und validiert Mapping - Speichert Ergebnis als JSON mit Timestamp **3. start_mapping.php** â FileMaker-Interface - Einfacher Endpoint fĂŒr FileMaker "Aus URL EinfĂŒgen" - Startet Mapping-Engine - Gibt JSON-Response direkt zurĂŒck - Timeout: 60 Sekunden (ausreichend fĂŒr alle FĂ€lle) ### Keine Dependencies nötig! Das System nutzt **PHP-Bordmittel:** - `SimpleXML` fĂŒr XML-Parsing - `cURL` fĂŒr API-Kommunikation - Keine externen Libraries erforderlich Der bestehende `vendor/`-Ordner auf dem Server bleibt unangetastet. ### KI-Integration: Claude API Wir nutzen **Claude 3 Haiku** von Anthropic: - Schnell (5-15 Sekunden Response) - GĂŒnstig (ca. 0,01-0,05 EUR pro Mapping) - Hohe QualitĂ€t bei semantischer Analyse - Versteht natĂŒrliche Sprache UND Datenstrukturen Die KI erhĂ€lt: - Liste aller ZUGFeRD-Zielfelder - Alle Quellfelder mit Beispieldaten - Mapping-Regeln (PrĂ€zision, Format, etc.) Und gibt zurĂŒck: - VollstĂ€ndiges Mapping als JSON - Confidence-Level implizit durch Match-Quality - `null` fĂŒr nicht zuordenbare Felder ## Vorteile des Systems ### â FĂŒr Anwender - **Keine technischen Kenntnisse erforderlich** - **90%+ automatische Trefferquote** - **Sekunden statt Stunden** - **Fehlerrate nahezu Null** - **Wiederverwendbare Mappings** ### â FĂŒr Entwickler/Administratoren - **Einfache Installation** (3 PHP-Dateien) - **Keine komplexen Dependencies** - **VollstĂ€ndig protokolliert** (Logs in `csv_uploads/`) - **Versionierte Mappings** (Timestamp-basiert) - **Anpassbare Mapping-Regeln** (Prompt kann erweitert werden) ### â FĂŒr Unternehmen - **Drastische Zeitersparnis** bei der Implementierung - **Reduzierte Fehlerkosten** - **Schnellere Onboarding-Prozesse** - **Skalierbar** (beliebig viele Mandanten/Systeme) - **Kosteneffizient** (< 5 Cent pro Mapping) ## Integration in FileMaker ### Script-Aufbau ```applescript # Schritt 1-7: XML-Uploads Aus URL einfĂŒgen [ URL: "https://server.de/ki_mapping/receive_xml.php" Daten: $xml_preferences Methode: POST ] # ... weitere 6 Uploads ... # Schritt 8: KI-Mapping starten Aus URL einfĂŒgen [ URL: "https://server.de/ki_mapping/start_mapping.php" In Variable: $$MappingResponse Timeout: 30 Sekunden ] # Schritt 9: JSON parsen und verwenden Feld setzen [ feldmapping::json ; $$MappingResponse ] ``` ### JSON-Weiterverarbeitung Das Mapping kann direkt genutzt werden: - Import in FileMaker-Tabellen - Verwendung fĂŒr ZUGFeRD-Export - Speicherung als wiederverwendbares Template - Export fĂŒr andere Systeme ## Fazit Was frĂŒher Stunden manueller Arbeit erforderte, erledigt die KI nun in Sekunden â **mit höherer QualitĂ€t und weniger Fehlern**. Das System zeigt eindrucksvoll, wie KI komplexe, repetitive Aufgaben ĂŒbernehmen kann, ohne dass Anwender technisches Spezialwissen benötigen. **ZUGFeRD-Integration war noch nie so einfach.** --- ## Technische Anforderungen - PHP 7.4+ (SimpleXML, cURL) - Anthropic API Account (ab 5 EUR/Monat ausreichend) - FileMaker Pro/Server
Unser ZUGFeRD AddOn erhÀlt ein Update
Im Zuge der Zusammenarbeit mit dem geschĂ€tzten Entwickler Alexander Lemuth haben wir in den letzten 2 Wochen etliche spannende Ănderungen und Verbesserungen vorgenommen. UrsprĂŒnglich war geplant, die Implementierung gemeinsam per Zoom durchzufĂŒhren. Doch wie es oft bei guter Zusammenarbeit der Fall ist: wĂ€hrend der intensiven Auseinandersetzung mit der bestehenden Lösung sind uns immer mehr interessante Details und Optimierungsmöglichkeiten aufgefallen. Was als einfaches Update beginnen sollte, entwickelte sich zu einer grundlegenden Ăberarbeitung. Die kritischen Fragen von Alexander und seine praktischen Anforderungen haben uns dazu gebracht, tiefer zu graben und das FM ZUGFeRD AddOn krĂ€ftig zu ĂŒberarbeiten. Das Ergebnis ist Version 2.0, eine deutlich flexiblere, intuitivere und mĂ€chtigere Lösung, die wir ohne diesen produktiven Austausch nie erreicht hĂ€tten. Ein herzliches Dankeschön an dieser Stelle an Alexander fĂŒr die konstruktiven Impulse, die geduldigen Tests und das ehrliche Feedback! # FM ZUGFeRD 2.0 â Die Evolution der elektronischen Rechnungsstellung in FileMaker Die elektronische Rechnungsstellung wird in Deutschland und Europa zunehmend zur Pflicht. Mit **FM ZUGFeRD 2.0** prĂ€sentieren wir die nĂ€chste Generation unseres AddOns fĂŒr FileMaker â komplett ĂŒberarbeitet, intuitiver und flexibler als je zuvor. ## Was ist neu? Die wichtigsten Features im Ăberblick ### đŻ 1. Flexible PrimĂ€rschlĂŒssel-Zuordnung Endlich: **Abweichende PrimĂ€rschlĂŒssel** fĂŒr maximale FlexibilitĂ€t! Nicht jede FileMaker-Lösung nutzt standardisierte PrimĂ€rschlĂŒssel. Mit der neuen Funktion können Sie fĂŒr jeden Bereich (Seller, Buyer, Invoice, Items) einen **alternativen PrimĂ€rschlĂŒssel** definieren. **Was bedeutet das fĂŒr Sie?** - Keine Anpassung Ihrer bestehenden Datenstruktur nötig - Volle Kontrolle ĂŒber die Datenzuordnung - Nahtlose Integration in Ihre vorhandene FileMaker-Lösung **So funktioniert's:** Ein einfacher Dialog ermöglicht die Auswahl eines abweichenden Identifikationsfeldes. Das System nutzt dann automatisch diesen alternativen SchlĂŒssel fĂŒr die Datenzuordnung â perfekt fĂŒr komplexe Datenmodelle mit individuellen Beziehungsstrukturen. ### đšïž 2. Erweiterte Drucklayout-Verwaltung Die neue **Drucklayout-Funktion** bietet Ihnen volle Kontrolle ĂŒber die Ausgabe Ihrer ZUGFeRD-Dokumente: **Zwei Ansichtsmodi:** - **Formularansicht**: FĂŒr detaillierte Einzelrechnungen mit allen Informationen - **Tabellenansicht**: FĂŒr kompakte Listenansichten und Sammelrechnungen **Intelligente Layout-Zuordnung:** - Separate Layouts fĂŒr verschiedene Ausgabeformate - Flexible Feldzuordnung pro Ansicht - Automatische Anpassung an Ihre Corporate Identity Das bedeutet: **Einmal konfigurieren, mehrfach nutzen** â ohne stĂ€ndige manuelle Anpassungen. ### đš 3. Ăberarbeitete BenutzeroberflĂ€che Die komplette OberflĂ€che wurde von Grund auf neu gestaltet. **Moderne, intuitive Navigation** durch alle Konfigurationsbereiche: **9 ĂŒbersichtliche Tabs:** 1. **Info** â Zentrale URL-Konfiguration fĂŒr alle Endpunkte 2. **Payments** â Rechnungskopf und allgemeine Daten 3. **Buyer** â KĂ€ufer-/Kundendaten mit vollstĂ€ndiger Adressverwaltung 4. **Seller** â VerkĂ€ufer-/Firmendaten inkl. Steuer-IDs 5. **Finance** â Bankinformationen und Zahlungskonditionen 6. **Invoice** â RechnungsbetrĂ€ge, Steuern und Totalsummen 7. **Items** â Rechnungspositionen mit detaillierten Artikeldaten 8. **Print** â Drucklayout-Verwaltung fĂŒr beide Ansichtsmodi 9. **Testen** â Integrierte Demo- und Validierungsfunktionen **Das neue Design punktet mit:** - Klarer visueller Hierarchie - Zweisprachigen Labels (Deutsch/English) - Kontextsensitiven Hilfetexten - Farblich gekennzeichneten Bereichen fĂŒr schnellere Orientierung ### đ 4. Intelligentes Feld-Mapping Das HerzstĂŒck von FM ZUGFeRD: Die **automatisierte Feldzuordnung**. **Wie es funktioniert:** 1. **Layout wĂ€hlen**: Dropdown-Auswahl Ihrer FileMaker-Tabellen 2. **Felder zuordnen**: Drag & Drop Ihrer FileMaker-Felder zu ZUGFeRD-Standardfeldern 3. **Validieren**: Automatische PrĂŒfung auf VollstĂ€ndigkeit und KonformitĂ€t 4. **Testen**: Sofortige Vorschau der generierten Dokumente **UnterstĂŒtzte Datenquellen:** - Beliebige FileMaker-Tabellen - Portal-Beziehungen fĂŒr Positionsdaten - Berechnungsfelder fĂŒr dynamische Werte - Globale Felder fĂŒr Standardwerte ### đ 5. EN 16931 KonformitĂ€t garantiert Alle generierten ZUGFeRD-Dokumente entsprechen der **EuropĂ€ischen Norm EN 16931** fĂŒr elektronische Rechnungen. **Technische Details:** - **Format**: PDF/A-3 mit eingebettetem XML - **Profile**: BASIC, COMFORT, EXTENDED - **Standard**: ZUGFeRD 2.x / Factur-X - **KompatibilitĂ€t**: UBL (Universal Business Language) **Validierung in Echtzeit:** Das AddOn prĂŒft kontinuierlich: - Pflichtfelder gemÀà gewĂ€hltem Profil - Korrekte Datenformate (Datum, WĂ€hrung, SteuersĂ€tze) - Konsistenz zwischen Positionen und Gesamtsummen - GĂŒltige ISO-Codes fĂŒr LĂ€nder, WĂ€hrungen und Einheiten ### đ§Ș 6. Integrierte Test- und Demo-Funktionen Der neue **Testen-Tab** ist Ihr Playground fĂŒr ZUGFeRD-Dokumente: **Demo-Funktionen:** - **Create ZUGFeRD Demo**: Erstellt Beispielrechnungen zum Testen - **Create UBL Demo**: Generiert UBL-Testdokumente - **Read ZUGFeRD Demo**: Liest und analysiert vorhandene ZUGFeRD-Dateien - **Read UBL Demo**: Importiert UBL-Dokumente zur Validierung **Export/Import von Konfigurationen:** - Einstellungen exportieren fĂŒr Backup oder Migration - Konfigurationen importieren zwischen Test- und Produktivumgebungen - Versionierung Ihrer Mapping-Definitionen **Live-Vorschau:** Zwei Container zeigen in Echtzeit: - **XML-Container**: Die generierte ZUGFeRD-XML-Struktur - **PDF-Container**: Das finale PDF/A-3-Dokument mit eingebettetem XML ### đ 7. Nahtlose HTTP-Integration FM ZUGFeRD arbeitet mit **PHP-Scripten (local oder Server)** ĂŒber standardisierte HTTP-Schnittstellen: **Der Workflow:** 1. FileMaker sendet Rechnungsdaten via POST an konfigurierten Endpoint 2. PHP-Service generiert ZUGFeRD-konforme Struktur 3. XML wird nach EN 16931 erstellt und validiert 4. PDF/A-3 wird mit eingebettetem XML erzeugt 5. Fertiges Dokument wird zum Download bereitgestellt 6. FileMaker lĂ€dt automatisch herunter und speichert in Container-Feld **Ihre Vorteile:** - Keine lokale PDF-Bibliothek erforderlich - Zentrale Verwaltung der Generierungslogik - Skalierbar fĂŒr hohe Dokumentenvolumen - Einfache Updates der ZUGFeRD-Spezifikationen ### đ 8. PrĂ€zise Steuerberechnung Die Steuerberechnung erfolgt auf **zwei Ebenen** â vollstĂ€ndig automatisiert: **Positionsebene:** Jede Rechnungsposition enthĂ€lt: - Einzelpreis (netto) - Menge und Einheit - Steuersatz (%) - Steuerkategorie (S, Z, E, AE, ...) - Automatische Berechnung des Zeilentotals **Dokumentebene:** Automatische Aggregation zu: - Gesamtnettobetrag (Summe aller Positionen) - Steuerblöcke pro Steuersatz - Steuerbemessungsgrundlage pro Satz - Gesamtsteuerbetrag - Bruttoendbetrag **Wichtig:** Das System stellt sicher, dass Position- und Dokumentsummen immer konsistent sind! ## Praktische AnwendungsfĂ€lle ### Szenario 1: Standardrechnung mit 19% MwSt. ``` Artikel: "Beratungsdienstleistung" Menge: 8 Stunden Einzelpreis: 120,00 EUR (netto) Steuersatz: 19% â Netto: 960,00 EUR â MwSt.: 182,40 EUR â Brutto: 1.142,40 EUR ``` FM ZUGFeRD erstellt automatisch ein PDF/A-3 mit eingebettetem XML â bereit fĂŒr die elektronische Ăbermittlung. ### Szenario 2: Rechnung mit mehreren SteuersĂ€tzen ``` Position 1: BĂŒcher (7% MwSt.) â 100,00 EUR netto Position 2: Software (19% MwSt.) â 500,00 EUR netto â Steuerblock 7%: Basis 100,00 EUR, Steuer 7,00 EUR â Steuerblock 19%: Basis 500,00 EUR, Steuer 95,00 EUR â Gesamt: 702,00 EUR brutto ``` Das AddOn erstellt automatisch separate Steuerblöcke fĂŒr jeden Satz â EN 16931 konform. ### Szenario 3: GrenzĂŒberschreitende Rechnung (Reverse Charge) ``` VerkĂ€ufer: Deutschland (DE) KĂ€ufer: Ăsterreich (AT) mit gĂŒltiger UID Steuerkategorie: AE (Reverse Charge) â Nettobetrag: 2.500,00 EUR â Steuersatz: 0% (Hinweis auf Reverse Charge) â Bruttobetrag: 2.500,00 EUR ``` Perfekt fĂŒr B2B-GeschĂ€fte innerhalb der EU. ## Best Practices fĂŒr Ihre FileMaker-Lösung ### 1. Datenstruktur vorbereiten **Empfohlene Felder in Ihrer Rechnungstabelle:** - `rg_nummer` (Text): Eindeutige Rechnungsnummer - `rg_datum` (Datum): Rechnungsdatum im Format YYYY-MM-DD - `rg_faellig` (Datum): FĂ€lligkeitsdatum - `rg_waehrung` (Text): ISO-WĂ€hrungscode (EUR, USD, CHF, ...) - `rg_kunde_id` (Zahl): FremdschlĂŒssel zur Kundentabelle - `rg_netto` (Zahl): Nettosumme (berechnet) - `rg_steuer` (Zahl): Steuerbetrag (berechnet) - `rg_brutto` (Zahl): Bruttosumme (berechnet) ### 2. Berechnungsfelder nutzen **Steuerbetrag berechnen:** ``` Round ( rg_netto * 0.19 ; 2 ) ``` **Bruttobetrag berechnen:** ``` rg_netto + rg_steuer ``` **Aggregation von Positionen:** ``` Sum ( rg_positionen::pos_netto ) ``` ### 3. Validierung implementieren **PrĂŒfen vor Export:** - Sind alle Pflichtfelder gefĂŒllt? - Ist die USt-ID formal korrekt? - Stimmen Positions- und Kopfsummen ĂŒberein? - Sind ISO-Codes korrekt (Land, WĂ€hrung, Einheit)? **FileMaker-Skript Beispiel:** ``` If [ IsEmpty ( rg_nummer ) or IsEmpty ( rg_datum ) ] Show Custom Dialog [ "Fehler"; "Pflichtfelder fehlen!" ] Exit Script [ Text Result: False ] End If # ZUGFeRD Export starten Perform Script [ "ZUGFeRD - Export Rechnung" ] ``` ### 4. Layouts strukturieren **Empfohlene Layout-Struktur:** - **Formularansicht**: VollstĂ€ndige Rechnung mit Header, Positionen, Footer - **Listenansicht**: Kompakte PositionsĂŒbersicht - **Druckansicht**: Formatiert fĂŒr PDF-Export mit Corporate Design ### 5. Fehlerbehandlung einbauen **Typische Fehlerquellen:** - Leere Pflichtfelder - UngĂŒltige Datumsformate - Falsche WĂ€hrungscodes - Fehlende Beziehungen zu Stammdaten **Lösung:** Validierungs-Skripte vor dem Export ausfĂŒhren! ## Technische Details fĂŒr Entwickler ### UnterstĂŒtzte Einheitencodes (UN/ECE Recommendation 20) Die wichtigsten Codes fĂŒr den deutschen Markt: | Code | Bedeutung | Verwendung | |------|-----------|------------| | **C62** | StĂŒck | Einzelne Artikel, Produkte | | **HUR** | Stunde | Dienstleistungen, Beratung | | **DAY** | Tag | TagessĂ€tze, Miete | | **MTR** | Meter | LĂ€ngenangaben, Textilien | | **MTK** | Quadratmeter | FlĂ€chen, Immobilien | | **MTQ** | Kubikmeter | Volumen, Baustoffe | | **KGM** | Kilogramm | Gewichtsangaben | | **TNE** | Tonne | Schwergewicht, Rohstoffe | | **LTR** | Liter | FlĂŒssigkeiten | | **SET** | Set | Produktsets, Bundles | | **MON** | Monat | Abonnements, Mieten | ### Steuerkategorien nach EN 16931 | Code | Bedeutung | Anwendung | |------|-----------|-----------| | **S** | Standard rate | Regelsteuersatz (19% in DE) | | **AA** | Lower rate | ErmĂ€Ăigter Satz (7% in DE) | | **Z** | Zero rated | 0% (z.B. innergemeinschaftlich) | | **E** | Exempt | Steuerbefreit (z.B. Kleinunternehmer) | | **AE** | Reverse charge | Umkehr der Steuerschuldnerschaft | | **K** | Intra-Community | Innergemeinschaftliche Lieferung | | **G** | Free export | Export auĂerhalb EU | | **O** | Outside scope | Nicht steuerbar | ### Rechnungstyp-Codes (UNTDID 1001) | Code | Typ | Verwendung | |------|-----|------------| | **380** | Commercial Invoice | Standardrechnung | | **381** | Credit Note | Gutschrift/Stornorechnung | | **384** | Corrected Invoice | Korrekturrechnung | | **389** | Self-billed Invoice | Gutschriftverfahren | | **751** | Invoice Information | Rechnungsinformation | ### Zahlungsarten (ISO 20022) | Code | Zahlungsart | |------|-------------| | **58** | SEPA-Ăberweisung | | **30** | BankĂŒberweisung | | **48** | Kreditkarte | | **49** | Lastschrift | | **97** | Verrechnungsscheck | ## Lizenzierung und Support ### COMFORT-Version FM ZUGFeRD ist als **COMFORT-Version** lizenziert und bietet: - VollstĂ€ndige EN 16931 KonformitĂ€t - Alle ZUGFeRD 2.x Profile (BASIC, COMFORT, EXTENDED) - UBL-UnterstĂŒtzung - Unbegrenzte Dokumentenerstellung - Professioneller Support ### Updates und Wartung - RegelmĂ€Ăige Updates bei Ănderungen der ZUGFeRD-Spezifikation - Anpassungen bei gesetzlichen Ănderungen - Bug-Fixes und Optimierungen - Neue Features basierend auf Kundenanforderungen ### Support-KanĂ€le - E-Mail Support: [email protected] - Dokumentation: Wiki mit ausfĂŒhrlichen Anleitungen - Video-Tutorials: Schritt-fĂŒr-Schritt Konfiguration - Community-Forum: Austausch mit anderen Nutzern ## Migration von Ă€lteren Versionen ### Von FM ZUGFeRD 1.x auf 2.0 Die Migration ist einfach: 1. **Backup erstellen**: Sichern Sie Ihre aktuelle Konfiguration 2. **Export Settings**: Exportieren Sie Ihre Feldzuordnungen 3. **Update installieren**: Neue AddOn-Version in FileMaker laden 4. **Import Settings**: Importieren Sie Ihre gespeicherte Konfiguration 5. **Test durchfĂŒhren**: Erstellen Sie Test-Dokumente zur Validierung **Was bleibt erhalten:** - Alle Feldzuordnungen - URL-Konfigurationen - Layout-Einstellungen **Was ist neu zu konfigurieren:** - Drucklayout-Zuordnungen (neue Funktion) - Alternative PrimĂ€rschlĂŒssel (falls gewĂŒnscht) ## Roadmap: Was kommt als NĂ€chstes? Wir arbeiten bereits an weiteren Verbesserungen: ### Geplante Features (Q2-Q4 2025) - đ **Batch-Verarbeitung**: Mehrere Rechnungen auf einmal exportieren - đ§ **E-Mail-Integration**: Direktversand via FM MailBridge AddOn - đïž **Archivierung**: Automatisches Ablegen in revisionssicheren Archiven - đ± **Mobile Optimierung**: Rechnungserstellung auf iPad - đ€ **KI-UnterstĂŒtzung**: Automatische Felderkennung beim Import - đ **Weitere Formate**: X-Rechnung, Peppol BIS - đ **Analytics**: Reporting und Statistiken ĂŒber ZUGFeRD-Nutzung ## Fazit: Bereit fĂŒr die E-Rechnungs-Pflicht Mit **FM ZUGFeRD 2.0** sind Sie bestens gerĂŒstet fĂŒr die elektronische Rechnungsstellung: â **Rechtskonform**: EN 16931 zertifiziert â **Flexibel**: Passt sich Ihrer FileMaker-Lösung an â **Intuitiv**: Moderne, ĂŒbersichtliche BenutzeroberflĂ€che â **ZuverlĂ€ssig**: Validierung in Echtzeit â **Zukunftssicher**: RegelmĂ€Ăige Updates und Erweiterungen ### Ab sofort verfĂŒgbar! **Jetzt informieren:** - đ§ E-Mail: [email protected] - đ Web: www.filemaker-experts.de - đ Telefon: +49 (0) 176 3130 9949 --- *Hinweis: Ab 2025 wird die E-Rechnung in Deutschland fĂŒr B2B-Transaktionen schrittweise verpflichtend. Mit FM ZUGFeRD erfĂŒllen Sie alle gesetzlichen Anforderungen â heute schon fĂŒr morgen bereit.* **#FileMaker #ZUGFeRD #ERechnung #DigitaleTransformation #Automatisierung**
ZUGFeRD mit eigenem PDF-Layout, endlich pragmatisch gelöst
Monate lang stand ich vor dem gleichen Problem: Die PHP-Bibliothek horstoeko/zugferd erzeugt zuverlĂ€ssig die ZUGFeRD-XML, möchte aber idealerweise, dass man das sichtbare PDF mit FPDF neu aufbaut. FĂŒr standardisierte Rechnungen ist das akzeptabel; fĂŒr gewachsene Corporate-Designs mit sauber gesetzten Typografien, Logos, farbigen FlĂ€chen und komplexeren Kopf-/FuĂbereichen ist es schlicht unpraktikabel. Mein Ziel war daher, ein beliebiges, bereits perfektes Template-PDF (aus FileMaker, InDesign, Word oder einem anderen System) weiterzuverwenden und ausschlieĂlich die ZUGFeRD-XML sauber zu integrieren â ohne das Layout neu zu programmieren. Ausgangsproblem â warum der reine FPDF-Weg nicht reicht Sobald es um reale Layouts geht, wird der FPDF-Weg schnell mĂŒhsam: Spaltenbreiten, ZeilenabstĂ€nde, Schriften, Positionierungen, Logos, CI-Farben â alles muss mĂŒhsam nachgebaut werden, obwohl das Layout als fertige PDF lĂ€ngst existiert. Hinzu kommt, dass einzelne PDFs wegen Kompressionsarten, PDF-Versionen oder Producer-Spezifika von FPDI nicht immer direkt importierbar sind. Das kostet Zeit, Nerven und bringt keinen fachlichen Mehrwert, wenn das Ziel schlicht âbestehendes Layout beibehalten, ZUGFeRD einbettenâ heiĂt. Die Lösung â Template-PDF nutzen, ZUGFeRD einbetten, robustes Fallback Ich habe ein Template-System mit mehrstufigem Fallback gebaut, das vorhandene PDFs bevorzugt, FPDI nur nutzt, wenn es geht, andernfalls automatisiert konvertiert oder, falls nötig, das Template schlicht als Basis kopiert und anschlieĂend die ZUGFeRD-XML einbettet. Die ZUGFeRD-Erzeugung bleibt sauber im ZugferdDocumentBuilder, das Einbetten erfolgt mit ZugferdDocumentPdfBuilder::fromPdfFile(âŠ). Ergebnis: Das Layout bleibt 1:1 erhalten, und die PDF wird ZUGFeRD-konform. Kernpunkte des Ansatzes: âą Automatische Template-Erkennung im templates/-Ordner, optional mit layout_config.json fĂŒr kleinere Koordinaten-/Schrift-Tweaks (falls man doch etwas ĂŒbersteuern möchte). âą Mehrstufiger FPDI-Fallback: Direktimport â Konvertierung (Ghostscript) â sichere Kopie. âą Robustes Error-Handling & Logging: Jede Stufe wird sauber protokolliert, inklusive DateigröĂen, RĂŒckgaben und etwaigen Ausnahmen. âą Saubere Trennung der Verantwortlichkeiten: Der Builder erzeugt die XML; der PDF-Builder fĂŒgt sie einem bestehenden PDF hinzu; FPDF kommt nur noch dann zum Einsatz, wenn wirklich ein Basispapier benötigt wird. Technischer Ablauf â von Template bis ZUGFeRD-PDF 1. Template laden oder Standard-PDF erzeugen (Upload aus FileMaker per aus URL einfĂŒgen) Im Projektverzeichnis liegt ein templates/-Ordner. Dort wird automatisch die erste passende PDF als Template ausgewĂ€hlt. Deshalb wird die Rechnung immer als template.pdf hochgeladen. Möglich ist auch dort schon die Rechnugs-PDF mit eigenem Datei-Namen zu versehen. Dies ist aber nicht notwendig. Ist FPDI verfĂŒgbar und kann das Template öffnen, wird die Seite importiert. SchlĂ€gt dies wegen Kompressionsdetails fehl, versucht das System eine Konvertierung (via Ghostscript) und importiert erneut. Misslingt auch das, wird das Template als Datei kopiert und danach direkt mit XML versehen. Nur wenn ĂŒberhaupt kein Template vorhanden/geeignet ist, wird minimal mit FPDF eine neutrale Seite gebaut. 2. ZUGFeRD-XML generieren Die fachlichen Rechnungsdaten kommen wie gehabt per POST (Rechnungsnummer, Datum, Positionen, Summen, Steuerblöcke, Zahlungsbedingungen etc.). Daraus wird mit ZugferdDocumentBuilder die EN16931-konforme XML erzeugt. 3. XML in PDF integrieren Mit ZugferdDocumentPdfBuilder::fromPdfFile($document, $tempPdfPath) wird die XML in das vorbereitete PDF geschrieben und als finale ZUGFeRD-PDF gespeichert. Ausschnitt: Template-Erkennung mit mehrstufigem Fallback Im folgenden Ausschnitt ist das Prinzip komprimiert dargestellt. Beachten: Kommentare sind bewusst ausfĂŒhrlich, da sie beim spĂ€teren Debuggen Gold wert sind.
// Template-PDF automatisch erkennen $templatesDir = __DIR__ . '/templates/'; $templatePdfs = glob($templatesDir . '*.pdf'); if (!empty($templatePdfs)) { $templatePdf = $templatePdfs[0]; try { // Versuch 1: FPDI nutzen (falls verfĂŒgbar) if (!class_exists('Fpdi')) { throw new Exception('FPDI-Klasse nicht verfĂŒgbar'); } $pdf = new Fpdi(); $pageCount = $pdf->setSourceFile($templatePdf); $tpl = $pdf->importPage(1); $pdf->AddPage(); $pdf->useTemplate($tpl, 0, 0); // Als temporĂ€re Basis speichern $pdf->Output('F', $tempPdfPath); // -> ab hier geht es direkt zum Einbetten der XML } catch (Exception $e) { // Versuch 2: PDF kompatibel machen und erneut probieren $converted = $templatesDir . 'converted_template.pdf'; if (convertPdfForFpdi($templatePdf, $converted)) { try { $pdf = new Fpdi(); $pageCount = $pdf->setSourceFile($converted); $tpl = $pdf->importPage(1); $pdf->AddPage(); $pdf->useTemplate($tpl, 0, 0); $pdf->Output('F', $tempPdfPath); @unlink($converted); } catch (Exception $e2) { @unlink($converted); // Versuch 3: Direkte Kopie als Fallback copy($templatePdf, $tempPdfPath); } } else { // Falls Konvertierung nicht möglich: Direkte Kopie copy($templatePdf, $tempPdfPath); } } } else { // Kein Template gefunden -> neutrale FPDF-Seite als Minimalbasis $pdf = new FPDF(); $pdf->AddPage(); // Optional: Logo/Absender, wenn gewĂŒnscht; ansonsten blank lassen // $pdf->Image('logo.png', 20, 10, 30, 15); $pdf->Output('F', $tempPdfPath); }
Konvertierung fĂŒr FPDI-KompatibilitĂ€t Manche PDFs scheitern an der ImporthĂŒrde wegen Kompressionsart oder PDF-Version. Ich reiche deshalb (falls vorhanden) eine Ghostscript-Konvertierung vor. Der Code ist so geschrieben, dass er ohne Ghostscript nicht abstĂŒrzt, sondern sauber weiter macht.
function convertPdfForFpdi($inputPdf, $outputPdf) { try { // Versuch: Ghostscript (falls exec() und gs vorhanden) if (function_exists('exec')) { $cmd = 'gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 ' . '-dPDFSETTINGS=/prepress -dNOPAUSE -dQUIET -dBATCH ' . '-sOutputFile="' . $outputPdf . '" "' . $inputPdf . '" 2>&1'; $out = []; $ret = 0; exec($cmd, $out, $ret); if ($ret === 0 && file_exists($outputPdf)) { return true; } } // Fallback: Wenn kompatibel, reicht Kopie return copy($inputPdf, $outputPdf); } catch (Exception $e) { return false; } }
XML erzeugen und in bestehendes PDF einbetten Der entscheidende Schritt: Wir nutzen die StĂ€rke der Bibliothek â die XML-Erzeugung â und vermeiden, das Layout neu bauen zu mĂŒssen. Dazu erstellen wir den ZugferdDocumentBuilder, setzen alle Pflicht- und optionalen Felder (Dokumenttyp, BetrĂ€ge, Steuern, Zahlungsbedingungen etc.) und ĂŒbergeben dieses Dokument anschlieĂend an den PDF-Builder.
// 1) ZUGFeRD-XML vorbereiten $document = ZugferdDocumentBuilder::createNew(ZugferdProfiles::PROFILE_EN16931); $document->setDocumentInformation($invoiceNumber, $invoiceTypeCode, new DateTime($invoiceDate), $currency); // Summation/Steuerblöcke etc. setzen ... // $document->setDocumentSummation(...); // $document->addDocumentTax(...); // $document->addDocumentPaymentMeanToCreditTransfer(...); // 2) XML in das vorhandene (Template-)PDF einbetten $pdfBuilder = ZugferdDocumentPdfBuilder::fromPdfFile($document, $tempPdfPath); $pdfBuilder->generateDocument(); $pdfBuilder->saveDocument($outputPath);
Template-Konfiguration: optional, klein, hilfreich Damit ich bei Bedarf Kleinigkeiten ohne neues Template anfassen kann, lese ich eine layout_config.json ein. Sie enthĂ€lt vor allem Koordinaten und SchriftgröĂen fĂŒr Textbausteine, die ich optional ĂŒber FPDF ergĂ€nze (z. B. Adressblock, Infospalte, Summenfeld) â praktisch, falls Kundenvarianten leichte Unterschiede verlangen, aber kein komplett eigenes Template rechtfertigen. Beispielhafte Keys (gekĂŒrzt): page_width, margin_left, sender_start_x, right_column_label_x, document_type_y, table_start_y, default_font, header_bg_color, summary_label_x, template_pdf. Fehlt die Datei, lĂ€uft das System mit vernĂŒnftigen Standardwerten weiter â der ZUGFeRD-Teil ist davon ohnehin unabhĂ€ngig. Logging und Fehlertoleranz Alle wesentlichen Schritte werden in uploads/zugferd_log.txt mit Zeitstempel geloggt: Welche Stufe gegriffen hat, DateigröĂen vor/nach Verarbeitung, gefundene Templates, etwaige Exceptions inklusive Trace. Damit sind Fehlersuche und spĂ€tere Betriebsbeobachtung unaufwendig. Auch wenn FPDI oder Ghostscript nicht verfĂŒgbar sind, bleibt das System funktionsfĂ€hig, da es am Ende immer auf die âKopie + Einbettungâ-Strategie zurĂŒckfĂ€llt. Was bleibt von FPDF? FPDF bleibt im Projekt lediglich als Minimal-Fallback oder fĂŒr sehr kleine ErgĂ€nzungen (z. B. dynamischer Hinweistext) erhalten. Logos, Balken, CI-Elemente usw. kommen aus dem Template, so wie es sein soll. Fazit Statt aufwendig ein bestehendes Corporate-Design in FPDF nachzubauen, nutze ich jetzt vorhandene PDFs die in FileMaker erzeugt werden unverĂ€ndert und lasse lediglich die ZUGFeRD-XML sauber einbetten. Die Kombination aus Template-Erkennung, FPDI-Fallback, optionaler Konvertierung und konsequentem Error-Handling fĂŒhrt zu einem robusten, praxistauglichen Workflow: Template bzw. die aktuelle Rechnung hochladen, Daten senden, fertige ZUGFeRD-PDF erhalten. Wenn Sie bereits ein gutes Rechnungslayout in FileMaker haben und nur âZUGFeRD dazuâ brauchen, ist dieser Ansatz die pragmatische AbkĂŒrzung.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch âą No registration required âą HD streaming
Neu: ZUGFeRD/UBL Reader Add-on fĂŒr FileMaker
Elektronische Rechnungen sind lĂ€ngst Standard, insbesondere im öffentlichen Bereich mit UBL/XRechnung und bei GeschĂ€ftspartnern mit ZUGFeRD 2.1.1. FĂŒr viele FileMaker-Anwender stellt sich die Frage: Wie lassen sich diese Rechnungen direkt in bestehende Systeme integrieren, ohne jede Datei manuell zu erfassen? Genau hier setzt unser neues ZUGFeRD/UBL Reader Add-on an. Was kann das Add-on? âą ZUGFeRD-PDFs einlesen: XML wird automatisch erkannt und verarbeitet âą UBL/XRechnung unterstĂŒtzen: kompatibel mit den gĂ€ngigen Behörden- und Portallösungen âą Strukturierte JSON-Ausgabe: Kopf-, Positions- und Steuerdaten stehen FileMaker-konform bereit âą Beispielskripte und Mapping: sofort loslegen mit vorbereiteten Routinen âą Flexibel im Einsatz: Einzelplatz oder Serverumgebung Warum ist das wichtig? âą Zeitersparnis: keine manuelle Eingabe von Rechnungsdaten mehr âą Rechtssicherheit: UnterstĂŒtzung aktueller Standards fĂŒr E-Rechnung âą Offen & erweiterbar: klare Dokumentation, kein Vendor-Lock-in âą Praxisnah: entwickelt von FileMaker-Experten mit jahrzehntelanger Projekterfahrung FĂŒr wen ist das interessant? âą Unternehmen mit Pflicht zur E-Rechnung (öffentlicher Sektor, Lieferanten) âą FileMaker-Entwickler, die Buchhaltung oder ERP-Funktionen integrieren möchten âą Teams, die Eingangsrechnungen automatisiert verarbeiten wollen
ZUGFeRD nicht nur erstellen, sondern auch lesen
Die meisten Entwickler verbinden ZUGFeRD oder Factur-X mit dem klassischen Anwendungsfall: Eine Rechnung in FileMaker erzeugen, die dann als PDF mit eingebettetem XML an den Kunden geht. Doch im tĂ€glichen Einsatz ergibt sich oft das umgekehrte Szenario: Eingehende ZUGFeRD-Rechnungen sollen in das eigene System importiert und weiterverarbeitet werden. Genau hier zeigt sich die eigentliche StĂ€rke des Standards, denn er erlaubt eine strukturiert maschinenlesbare Ăbergabe von Rechnungsdaten ohne dass man auf PDF-Parsing oder OCR-Erkennung angewiesen wĂ€re. Der Ansatz: Mein Ziel war es, neben der Erzeugung auch das Einlesen von ZUGFeRD-Dateien in eine FileMaker-Lösung zu integrieren. Der Workflow ist dabei erstaunlich klar: 1. Der Anwender zieht eine ZUGFeRD-PDF in ein Containerfeld. 2. Ein FileMaker-Script ĂŒbernimmt den Upload und prĂŒft die Datei. 3. Die eingebettete XML-Datei wird mit Hilfe des PHP-Pakets horstoeko/zugferd extrahiert und ausgewertet. 4. Als RĂŒckgabe erhalte ich ein kompaktes JSON, das sich in FileMaker direkt weiterverarbeiten lĂ€sst. Damit ist der Kreis geschlossen: Eingehende Rechnungen können automatisch gelesen, geprĂŒft und in die eigene Datenbank ĂŒbernommen werden. Technische Umsetzung Im einfachsten Fall genĂŒgt ein FileMaker-Skript, das den Containerinhalt temporĂ€r exportiert und per curl an das Server-Skript ĂŒbergibt:
Variable setzen [ $filename ; HoleContainerAttribute ( Rechnung::g_pdf ; "filename" ) ] Variable setzen [ $tmpFS ; Hole ( TemporĂ€rerPfad ) & $filename ] Exportiere Feldinhalt [ Rechnung::g_pdf ; "file:" & $tmpFS ] Variable setzen [ $url ; "[meine-domain.de/mc/receiv...](https://meine-domain.de/mc/receive_pdf_upload.php)" ] Variable setzen [ $curl ; "--request POST --upload-file " & Quote ( $tmpFS ) & " --header \"Content-Type: application/pdf\"" ] Aus URL einfĂŒgen [ Auswahl ; Mit Dialog: Aus ; Ziel: $$response ; $url ; SSL-Zertifikate verifizieren ; cURL-Optionen: $curl ]
Das PHP-Skript wiederum nimmt die hochgeladene PDF entgegen, ĂŒbergibt sie an horstoeko und liefert ein strukturiertes JSON zurĂŒck:
{ "ok": true, "mode": "raw", "file": "/www/htdocs/w01da32b/maps.maro-testserver.de/mc/uploads/upload.pdf", "data": { "profile": "EN16931", "profileId": 2, "invoiceNumber": "INV-2025-001", "typeCode": "380", "issueDateTime": "2025-08-01 18:57:53", "currency": "EUR", "taxCurrency": null, "language": null, "isCopy": false, "isTest": false, "seller": { "name": "MaRo-Programmierung GbR", "globalId": "16547", "description": "Birkenwerder", "address": { "lineOne": null, "lineTwo": null, "lineThree": null, "postCode": null, "city": null, "country": null, "subdivision": null } }, "buyer": { "name": "Fensterhaus Ansbach GmbH", "globalId": "91522", "description": "Ansbach", "address": { "lineOne": null, "lineTwo": null, "lineThree": null, "postCode": null, "city": null, "country": null, "subdivision": null } }, "totals": { "grandTotal": 1249.5, "duePayable": 1249.5, "lineTotal": 1050, "taxTotal": 199.5, "taxBasisTotal": 1050, "chargeTotal": null, "allowanceTotal": null, "roundingAmount": null, "totalPrepaidAmount": null }, "payment": { "typeCode": "58", "information": null, "payeeIban": "DE12345678901234567890", "payeeBic": "GENODEF1XYZ", "accountName": "Testbank", "buyerIban": null, "cardType": null, "cardId": null, "cardHolderName": null }, "tax": [ { "categoryCode": "S", "typeCode": "VAT", "basisAmount": 1050, "calculatedAmount": 199.5, "rateApplicablePercent": 19, "exemptionReason": null, "exemptionReasonCode": null, "lineTotalBasisAmount": 0, "allowanceChargeBasisAmount": 0, "taxPointDate": null, "dueDateTypeCode": null } ], "lines": [ { "lineId": "1", "name": "Entwicklung und Anpassungen", "description": null, "sellerId": null, "buyerId": null, "globalIdType": null, "globalId": null, "quantity": 10, "unitCode": "HUR", "unitPrice": 90, "netAmount": 900, "basisQuantity": null, "basisQuantityUnitCode": null, "chargeFreeQuantity": null, "chargeFreeQuantityUnitCode": null, "allowanceChargeAmount": null, "taxPercent": 19, "taxCategory": "S", "taxTypeCode": "VAT", "taxCalculatedAmount": null, "allTaxes": [ { "categoryCode": "S", "typeCode": "VAT", "rateApplicablePercent": 19, "calculatedAmount": null, "exemptionReason": null, "exemptionReasonCode": null } ] }, { "lineId": "2", "name": "Remote-Support pauschal", "description": null, "sellerId": null, "buyerId": null, "globalIdType": null, "globalId": null, "quantity": 1, "unitCode": "C62", "unitPrice": 150, "netAmount": 150, "basisQuantity": null, "basisQuantityUnitCode": null, "chargeFreeQuantity": null, "chargeFreeQuantityUnitCode": null, "allowanceChargeAmount": null, "taxPercent": 19, "taxCategory": "S", "taxTypeCode": "VAT", "taxCalculatedAmount": null, "allTaxes": [ { "categoryCode": "S", "typeCode": "VAT", "rateApplicablePercent": 19, "calculatedAmount": null, "exemptionReason": null, "exemptionReasonCode": null } ] } ] } }
Dieses JSON ist das ideale Bindeglied: In FileMaker genĂŒgt ein Loop ĂŒber data.lines[], um die einzelnen Positionen anzulegen. Kopf und Summenfelder lassen sich direkt in Variablen schreiben und anschlieĂend auf beliebige Felder mappen. Warum das spannend ist âą Automatisierte Buchung: Eingehende Lieferantenrechnungen können ohne Medienbruch erfasst werden. âą PlausibilitĂ€tsprĂŒfung: Brutto = Netto + Steuer lĂ€sst sich sofort abgleichen. âą FlexibilitĂ€t: Egal ob Erzeugung oder Import dieselbe Technik (PHP + horstoeko) kann beides. Fazit WĂ€hrend viele nur an die Ausgabe denken, ist gerade das Einlesen der eigentliche SchlĂŒssel zur durchgĂ€ngigen Digitalisierung von Rechnungsprozessen. Mit ZUGFeRD lassen sich Daten beidseitig austauschen und mit ein paar Skriptzeilen in FileMaker hat man plötzlich nicht nur ein Export, sondern auch eine Import-Funktion in der Hand.
Endlich ist es fertig: ZUGFeRD in FileMaker â Integration in unter einer Stunde
Nach intensiver Entwicklung ist es soweit: Unser ZUGFeRD-/Factur-X Add-on fĂŒr FileMaker ist fertig! đ Wer schon einmal versucht hat, ZUGFeRD in eine FileMaker-Anwendung einzubauen, kennt die Herausforderung: Eigenentwicklungen ziehen sich ĂŒber Tage oder Wochen, kosten Zeit, Geld und Nerven â und am Ende bleibt die Frage nach der Wartbarkeit. Mit unserem Add-on gehen wir einen anderen Weg. Keine Programmierung, kein kompliziertes Skripten, stattdessen Mapping. Mapping statt Programmieren Die Implementierung basiert auf dem offiziellen COMFORT-Profil von ZUGFeRD/Factur-X. Das bedeutet: Alle relevanten Rechnungsdaten werden abgedeckt, ohne dass man sich selbst tief in Spezifikationen und Normdetails einarbeiten muss. Anstatt eigene Scripts oder Datenmodelle zu schreiben, werden die bestehenden Felder in FileMaker einfach ĂŒber ein Mapping den benötigten ZUGFeRD-Feldern zugeordnet. Damit bleibt die eigene Struktur unverĂ€ndert, und trotzdem erfĂŒllt die Anwendung sofort den Standard. In weniger als einer Stunde einsatzbereit Der gröĂte Vorteil: Die Integration dauert in der Regel nicht lĂ€nger als eine Stunde. Das Add-on klinkt sich direkt in die bestehende FileMaker-Datenbank ein, ohne dass das Rechnungslayout oder vorhandene Scripts angepasst werden mĂŒssen. Wer möchte, kann die Integration jederzeit durch eigenes Skripting erweitern â doch die Grundinstallation lĂ€uft komplett ohne Programmieraufwand. Vorteile gegenĂŒber Eigenentwicklung âą Zeitersparnis: statt tagelanger Arbeit â unter einer Stunde fertig. âą Kostenreduktion: keine teuren Eigenentwicklungen, kein externer Entwickler notwendig. âą Zukunftssicherheit: Nutzung des offiziellen ZUGFeRD-COMFORT-Profils, das in vielen Branchen bereits Standard ist. âą FlexibilitĂ€t: Erweiterungen und Anpassungen sind jederzeit möglich, aber nicht zwingend nötig. Fazit Endlich verfĂŒgbar! Mit unserem ZUGFeRD-Add-on fĂŒr FileMaker sparen Sie Zeit, Geld und Ressourcen â und bleiben dabei normenkonform.