{ "name": "Excel Buchhaltung Befüllung", "nodes": [ { "parameters": { "path": "excel_befuellen", "options": {} }, "type": "n8n-nodes-base.webhook", "typeVersion": 2.1, "position": [-288, -64], "id": "webhook-node", "name": "Webhook", "webhookId": "excel-befuellen-webhook" }, { "parameters": { "operation": "executeQuery", "query": "SELECT \n -- Bestellinformationen\n so.external_ref AS \"Bestellnummer\",\n TO_CHAR(so.order_date, 'YYYY-MM-DD\"T\"HH24:MI:SS') AS \"Bestelldatum\",\n TO_CHAR(so.shipping_date, 'YYYY-MM-DD') AS \"Versanddatum\",\n \n -- Kundenadresse (Lieferadresse)\n COALESCE(ad.first_name, '') AS \"Vorname\",\n COALESCE(ad.last_name, '') AS \"Nachname\",\n COALESCE(ad.street, '') AS \"Strasse\",\n COALESCE(ad.house_number, '') AS \"Hausnummer\",\n COALESCE(ad.zip, '') AS \"PLZ\",\n COALESCE(ad.city, '') AS \"Stadt\",\n COALESCE(ad.country_name, '') AS \"Land\",\n \n -- Zahlungs- und Betragsinformationen\n COALESCE(pm.code, '') AS \"Zahlungsart\",\n COALESCE(so.amount_net, 0) AS \"Gesamtbetrag_netto\",\n COALESCE(so.amount_shipping, 0) AS \"Versandkosten\",\n COALESCE(so.total_amount, 0) AS \"Gesamtbetrag_brutto\",\n COALESCE(so.amount_discount, 0) AS \"Rabatt\",\n \n -- Produktzählungen (nur aktive Produkte)\n COALESCE(SUM(CASE WHEN p.id = 8 THEN a.qty ELSE 0 END), 0) AS \"#_ChagaFlaschen\", -- CHAGA (ID 8)\n COALESCE(SUM(CASE WHEN p.id = 5 THEN a.qty ELSE 0 END), 0) AS \"#_ReishiFlaschen\", -- 003.01 (ID 5)\n COALESCE(SUM(CASE WHEN p.id = 9 THEN a.qty ELSE 0 END), 0) AS \"#_ShiitakeFlaschen\", -- SHIITAKE (ID 9)\n COALESCE(SUM(CASE WHEN p.id = 6 THEN a.qty ELSE 0 END), 0) AS \"#_LionsManeFlaschen\" -- 005.02 (ID 6)\n \nFROM sales_order so\n-- Lieferadresse\nLEFT JOIN address ad ON so.party_id = ad.party_id AND ad.type = 'shipping'\n-- Zahlungsart\nLEFT JOIN payment_method pm ON so.payment_method_id = pm.id\n-- Bestellpositionen und Allokationen\nLEFT JOIN sales_order_line sol ON so.id = sol.sales_order_id\nLEFT JOIN sales_order_line_lot_allocation a ON sol.id = a.sales_order_line_id\n-- Produkte (nur aktive)\nLEFT JOIN product p ON a.product_id = p.id AND p.status = 'active'\n\nWHERE so.external_ref = $1\nGROUP BY so.id, ad.id, pm.id", "queryValues": { "values": { "value": "={{ $json.Bestellnummer }}", "string": "={{ $json.Bestellnummer }}" } }, "options": { "maxRows": 1 } }, "type": "n8n-nodes-base.postgres", "typeVersion": 2.1, "position": [-64, -64], "id": "postgres-node", "name": "Excel Daten aus ERP abfragen", "credentials": { "postgres": { "id": "YOUR_POSTGRES_CREDENTIAL_ID", "name": "ERP Naurua Database" } } }, { "parameters": { "resource": "worksheet", "operation": "upsert", "workbook": { "__rl": true, "value": "01CF7VVDAE6RTC2NMMTREI2C66KS7ZTNBK", "mode": "list", "cachedResultName": "Buchhaltung", "cachedResultUrl": "https://beaufortdata-my.sharepoint.com/personal/mathias_glaeser_beaufort_ch/_layouts/15/Doc.aspx?sourcedoc=%7B2D66F404-8C35-489C-8D0B-DE54BF99B42A%7D&file=Buchhaltung.xlsx&action=default&mobileredirect=true&DefaultItemOpen=1" }, "worksheet": { "__rl": true, "value": "{1CBC09E2-CE51-0349-A736-1EA898A76FF2}", "mode": "list", "cachedResultName": "n8n", "cachedResultUrl": "https://beaufortdata-my.sharepoint.com/personal/mathias_glaeser_beaufort_ch/_layouts/15/Doc.aspx?sourcedoc=%7B2D66F404-8C35-489C-8D0B-DE54BF99B42A%7D&file=Buchhaltung.xlsx&action=default&mobileredirect=true&DefaultItemOpen=1&activeCell=n8n!A1" }, "columnToMatchOn": "Bestelldatum", "valueToMatchOn": "={{ $json.Bestelldatum }}", "fieldsUi": { "values": [ { "column": "Versanddatum", "fieldValue": "={{ $json.Versanddatum }}" }, { "column": "Bestellnummer", "fieldValue": "={{ $json.Bestellnummer }}" }, { "column": "Vorname", "fieldValue": "={{ $json.Vorname }}" }, { "column": "Nachname", "fieldValue": "={{ $json.Nachname }}" }, { "column": "Strasse", "fieldValue": "={{ $json.Strasse }}" }, { "column": "PLZ", "fieldValue": "={{ $json.PLZ }}" }, { "column": "Hausnummer", "fieldValue": "={{ $json.Hausnummer }}" }, { "column": "Stadt", "fieldValue": "={{ $json.Stadt }}" }, { "column": "Land", "fieldValue": "={{ $json.Land }}" }, { "column": "Zahlungsart", "fieldValue": "={{ $json.Zahlungsart }}" }, { "column": "Gesamtbetrag_netto", "fieldValue": "={{ $json.Gesamtbetrag_netto }}" }, { "column": "Versandkosten", "fieldValue": "={{ $json.Versandkosten }}" }, { "column": "Gesamtbetrag_brutto", "fieldValue": "={{ $json.Gesamtbetrag_brutto }}" }, { "column": "Rabatt", "fieldValue": "={{ $json.Rabatt }}" }, { "column": "#_ChagaFlaschen", "fieldValue": "={{ $json['#_ChagaFlaschen'] }}" }, { "column": "#_LionsManeFlaschen", "fieldValue": "={{ $json['#_LionsManeFlaschen'] }}" }, { "column": "#_ReishiFlaschen", "fieldValue": "={{ $json['#_ReishiFlaschen'] }}" }, { "column": "#_ShiitakeFlaschen", "fieldValue": "={{ $json['#_ShiitakeFlaschen'] }}" } ] }, "options": {} }, "type": "n8n-nodes-base.microsoftExcel", "typeVersion": 2.1, "position": [240, -64], "id": "excel-node", "name": "Bestellungen auf mathias onedrive Excel übertragen", "retryOnFail": true, "credentials": { "microsoftExcelOAuth2Api": { "id": "xrxWImZOTzNL3hTl", "name": "Microsoft Excel account OneDrive MGL Naurua" } } } ], "connections": { "Webhook": { "main": [ [ { "node": "Excel Daten aus ERP abfragen", "type": "main", "index": 0 } ] ] }, "Excel Daten aus ERP abfragen": { "main": [ [ { "node": "Bestellungen auf mathias onedrive Excel übertragen", "type": "main", "index": 0 } ] ] } }, "pinData": {}, "meta": { "instanceId": "excel-befuellen-workflow" } }