robert 2 ani în urmă
comite
b81bb7ad16

+ 3 - 0
.gitignore

@@ -0,0 +1,3 @@
+__pycache__
+logs/
+temp/

+ 16 - 0
.vscode/launch.json

@@ -0,0 +1,16 @@
+{
+    // Use IntelliSense to learn about possible attributes.
+    // Hover to view descriptions of existing attributes.
+    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+    "version": "0.2.0",
+    "configurations": [
+        {
+            "name": "Python: Current File",
+            "type": "python",
+            "request": "launch",
+            "program": "${file}",
+            "console": "integratedTerminal",
+            "justMyCode": true
+        }
+    ]
+}

+ 33 - 0
config/cert/cert.pem

@@ -0,0 +1,33 @@
+-----BEGIN CERTIFICATE-----
+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
+-----END CERTIFICATE-----

+ 52 - 0
config/cert/key.pem

@@ -0,0 +1,52 @@
+-----BEGIN PRIVATE KEY-----
+MIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQC4xTMLY0QGI1ez
+hl4aKpjcdo445lQH8EDzUSy3MU5NdYfiuyCT06j6dYTPhQ9MUvBEtqGcV72Jdsi4
+cDUyte4s8n6AdQhHN5obVetoTOAXzDIIfYnTWDgTDWLzG3AMAEEhqhDGdp60GKjQ
+m49n9cuLj0M+jsGetnoHQ0LWEKpSWFC8Wgbi4kWLSnwONDrb8Gu0eth5nhFl/IEp
+/BsYlJatFQQmH46qKJakW6KUUXZoNEOh+DQvMr0yGC+4mYO6NmRlnLTeakkzw1Dt
+HKX+avMuz+SUMUoqDdWMX/lEjrEaIf9Hl2+q4o0+J2KUYUsgABIngxt8XVVyrZHy
+imtOlcjjWKtwR2qJtbkEyomKeHveoKzrKZUl72BL1SDIRloc6Vb5PrYiIKhBb7tX
+nNFACe9HYA83GH8vzVJDrzMS60r2YukWEUAhE30eEqngqYOuy+Ww0Luy7pV4RqG0
+q7rt+AC0ooGkjwB1WUCD7xdtyv7MxhIRjc+H59L63Pn8pddgd/ZaMH9Fc7duKY6q
+7m9OrfB2n9slOIRzeBGQMnBGkIa/n/PfV4riB408wa+fThXtyV7CfTcKbh6OfzQ3
+cjCDz83hUuVFOjOMqEx+AaLbxcELxSjiZy3eSPFPmEJ3+7CsHzl8wSqvAJRJKCEt
+aDxjFcTfMNZJLl33/fizz+RkNrf01wIDAQABAoICAA4zcdnlNjw2iS4OHLtsHLWN
+Ex9CbKDzkTpiOcqWqor/hoMhmL5j3S/qyltcwbE/CqJtWvx2LeYb0A+E6EHOg9DG
+jnx3AjzfBCQntWEdz3dkxU+rvmUU+bJVLA69RB5YAqmAtatbQJVc89ScsCfwV0WR
+rDxpom39XmGihMeJHl4X1ZS0YqUbePbcsa4xy3hOASks6+hlArdQ8eh1LOv1t6Lz
+446+jCt91R4qwNMfc7dMlQok1nXuM2ZfP4OzoNE2Dv9UTP5vMtMcpuKieguU0r39
+UnclVqrmx0vzsGfZg7kbddBdzkJXCT4GrufylmCOQNbyl7E2RzP6LSZ0Bw1SK89T
++c5gseFwQp0Lsq9v9WR8UVzLRAP5ttsNPqdACpSuZ75erVW1QcscakdbRAcNMOH+
+BCH72Wf7q6gAmaRpyybXiT0CPB51KP+kcBt1QAMicJZPAItuD5fdkwt03I0OzFRv
+PykT+iVlHgFtW7EiVeuDY6u2utiRuWC3BNY8zc7AuoJjdyYQKABHsuY6T3RYtuff
+kxVR1wgJr74EL+iXqM6h/QhMW60MxWdVMhkNuHfbEJiK4WPIE60W0FR03zBRUvhT
+7Fmxbw4x05DpD/C7sMnu/o6BhuT2JDnOLkuSJ+oO/3YUTmx5JjeSA7wZf8saZiYS
+/zRdstMXiCa7gk+C4BjpAoIBAQDZrLaU0VPbeeQZsjWFpA/kyY3mwDVYgtXjaJuS
+hAm//GlFSsAxhwPTrRnTPmGTd2qf/ShsocTJWQe+CgzNLAwZbHy94+yfbJMtQ4Rl
+fVKPeNG5h60vMbsxbj0s4huN5xKeS+jg5PR2DKdVNHXvAXaVgllKmN+uwN+P2Q24
+6Cxu8Tvhp03N2PuFd3iuDynLNfLn6LhKRfKF2V2Lqfqpn3s2eHoZ3zuUYMhlCtrF
+YgKWeOLjISumZ3KBI9CHwjq1Ow1HJtsxiMQGCI2UQVYyy93p3s8UWklYA9Katqba
+B1aspuBirbDPBFP7OuOt1IpFO1+wVD/F7FEI/CwlrcaDCzm7AoIBAQDZTWIAPoij
+M6A+MjK2HfkIvdm/aS5Nouxo3ZtPkbsVnMwg37Lq1cyeEZt6n+okIwckfgHdWPq9
+2turJJn+ObfIseKw+KgQRiv8VYsBa/APTsvma3MJ/3d/EmD8Oql7xGOtUlSaLE6o
+/SXE4Kf2d1Jct9CJOGu2qMb22jlmmsGnecDYF3hrkhaQNZe8c+6Y3l3HjVeWqB85
+5HSF2DKdFjazMZWn/tQEJrTGsPPpPeBYoxxc8p2ZpUMAE2MK+eOiGzTe7vh0EiCq
+tt2KJ6TMdr+UannHwH992lSQkxjsOIttT7j+qN18Ff6d6porpZE+qOIXy+qQE7B+
+ZuQUe+NSNuGVAoIBAH58T/QV1waXw6Xy2gr4FIw7WouVcOonzKXCKXRv6UJ4J6uu
+DhQ5gk3ELleDzitknr6s2oqVTcY6R7d0G5A1Yip70dh90weojbUloI9gzVK1QBjw
+7/+WhFHq3v1vvdctSLJXJdFY+XyHSczHGShyzzd9cOlZ/9CKHt51n/WsY/VrlAJB
+t4I/7ZfWnnd2NDDy/l0n676s+oowjp0TfqaGF5DFXR4fi31i589fCVTc6OgLArw8
+kCK3xd+osgnRIVAiKksIFyKneFCRM8PMW4xUznSRlf8bn7bXMc/ZBwd2cDUPGx/8
+EduZhjtcMuTVtisYnzfVHOGjukrgTb7vRYTsRvUCggEANbwK9eCAzUqg34BuRdaX
+lG/N/qU1zADz0OKr2ztANhH18FMg3S1NUfEsr2AH+DOpOn7mWyP7rSMHmwSMB++h
+4MEMO5LhjFSt39IPc6SLUl270hjT8672j7etv/GJo49mzp9DSHSYZvVid5LONgY/
+maniqWwIRrzppnVEKHkwVgenhkgXgRI4/iQih3lrkOW77vKmrByazCgQIGDb8zhh
+AmLKjSZYq0YfAdsUFaM1bPW4t8tO6YWSUdx5a2drwNRVeKNDUQCCj3R0yAsRl3Xt
+3feOcbTKUgbBTpbxXMiGwdsq9d4wFtUhh09SHGTuy73bWuMT99jGlhs/X0lbZyMn
+GQKCAQBsI6wKn/JK6DBShb75GLd885KvBKYH/pDBBSjsW5sUaR9jhrAkh49oJ69q
+kfP68DM/seFbMertaIjH0Yf+7AHuLRcot4P+tc6PeusBdZZ4YKSY9Ja0Gev2ag1/
+mOM1qJJUbeaJUdlr/mAP0djlKeYo5+69H00+5GE22EoEnNbnK7vmhTWqrwNCV45Y
+iPYFj5XS3BdCWk0lg94TaQx3yczbUZ7vLfwbrWs0dhtq2u0JyNTG2LUfe2HAQc6m
+k1NVIMjVR47+hgwwcCXrA2AYCrdBLiCwc7fx6c32ocTsVbiRaKY0ZhiI1CUpGd/M
+rLwtwdPlcJy1IxfwtahrLW9umly8
+-----END PRIVATE KEY-----

+ 1 - 0
config/nasa_config.crypt

@@ -0,0 +1 @@
+gAAAAABfNACvqaaql4hPMHggE6DdlK8qJ_FA7-iktrGGeq0OGccuCULZ_nfHUIrGwtYYhv1n2btF1xHkWBi0Mr24HW3rVyXHUZYWOfxLyIt54d6WBPeMJknnNC7Aq3EQTUx9hKGyasTCeMgwHuFZqkVDYo3iPv5Zwfrm71stibCJ4YBR4X-f-mKkv-4XiFbHorFd14pnzs4ll5APF3XQnsohqZd8ZCFRMxHFOsJ3sC7cSgiZ_VM1fE7vXtR2dlgPkXZZjoiT1t8z5-VEHpf9lRc229vgtTCbJdidi8weubExYkt_e5dBX8tebPHU-MKXdQxNYNWtnMQb2GJLGUIDRdXhbGb5RfPKWhF1dMQy9n0Gs1g-OM836U903o78E9ELUh9Ibhj9UqFdHj909PEW4yXz2nzXN0BcJXIvkJoPNFj8aCs8wqynNhMFKXvf15oEmlMcuzrBMlQmfgtokHelsf_2TvhbznWNTTwpscsEGGd7vw2OgFkGcu5XrM0HRoJ9gI1S9SIcyfBSHUHkXqrm1Axg3B9YJq0Lhsi3Rhltw5Fo5b0lLZUzyJmhasbK0yws1xGdKZd2fKG5Ef4KrGFPSR_DhmCxQQcx5A==

+ 18 - 0
config/nasa_config_.json

@@ -0,0 +1,18 @@
+{
+    "service_url": "https://nasa.macs-online.com/services/MacsAfterSalesAnalyseTest.wsdl",
+    "credentials": {
+        "token": "MDDq3CUd9ix0iSqR",
+        "username": "global-cube", 
+        "password": "ATPoIL*O6*%1BE%-"
+    },
+    "client_id": "11197",
+    "selected_year": "2020",
+    "selected_month": "05",
+    "source_dsn": { 
+        "server": "GC-SERVER1\\GLOBALCUBE", 
+        "user": "sa", 
+        "pass": "Mffu3011#", 
+        "database": "GAPS", 
+        "schema": "dbo" 
+    }
+}

+ 5 - 0
data/Auftraege_NASA_gruppiert.csv

@@ -0,0 +1,5 @@
+"Periode";"AuftragsArtSumme";"AuftragsArt";"AuftragsArtId";"AuftragsTypId";"TeileUmsatz";"LohnUmsatz";"SonstigeUmsatz";"GesamtUmsatz";"AnzahlAuftraege"
+"202005";"Extern";"Inspektion";"1";"1";30227,35;25274,41;0,00;55501,76;273
+"202005";"Garantie";"Inspektion";"2";"1";5828,40;3590,32;0,00;9418,72;66
+"202005";"Intern";"Inspektion";"3";"1";898,30;1767,00;0,00;2665,30;29
+"202005";"Theke";"Sonstiges";"4";"5";9034,08;0,00;0,00;9034,08;53

+ 26 - 0
data/Mitarbeiter_NASA.csv

@@ -0,0 +1,26 @@
+"Periode";"Produktiv";"Mitarbeiter";"Name";"Prod";"Jahr";"Monat";"Periode_Filter"
+"2020-05";"nicht produktiv";"ANLI";"Angelo Liso";0;"2020";"05";"2020-05"
+"2020-05";"nicht produktiv";"CHHA";"Christina Hautzer";0;"2020";"05";"2020-05"
+"2020-05";"nicht produktiv";"CIBR";"Cindy Brosowski";0;"2020";"05";"2020-05"
+"2020-05";"nicht produktiv";"DKSC";"Dominik Schäfer";0;"2020";"05";"2020-05"
+"2020-05";"nicht produktiv";"JOMU";"Joana Mueller";0;"2020";"05";"2020-05"
+"2020-05";"nicht produktiv";"JUFE";"Jürgen Feldberg";0;"2020";"05";"2020-05"
+"2020-05";"nicht produktiv";"MAGD";"Martina Gödel";0;"2020";"05";"2020-05"
+"2020-05";"nicht produktiv";"MIME";"Michael Menge";0;"2020";"05";"2020-05"
+"2020-05";"nicht produktiv";"PAJA";"Pascal Jansen";0;"2020";"05";"2020-05"
+"2020-05";"nicht produktiv";"ROGI";"Roland Giesen";0;"2020";"05";"2020-05"
+"2020-05";"nicht produktiv";"SAHE";"Sandra Hennekes";0;"2020";"05";"2020-05"
+"2020-05";"nicht produktiv";"SEKL";"Sebastian Klingen";0;"2020";"05";"2020-05"
+"2020-05";"nicht produktiv";"SEWE";"Sebastian Weichert";0;"2020";"05";"2020-05"
+"2020-05";"nicht produktiv";"SYBO";"Bonk, Sylwia";0;"2020";"05";"2020-05"
+"2020-05";"produktiv";"ANBO";"Andreas Borchert";1;"2020";"05";"2020-05"
+"2020-05";"produktiv";"CHTH";"Christian Thelen";1;"2020";"05";"2020-05"
+"2020-05";"produktiv";"DALE";"Dave Lenzen";1;"2020";"05";"2020-05"
+"2020-05";"produktiv";"JEFI";"Jerome Fischelmanns";1;"2020";"05";"2020-05"
+"2020-05";"produktiv";"NIRA";"Niklas Rahmen";1;"2020";"05";"2020-05"
+"2020-05";"produktiv";"ROBI";"Robert Bialy";1;"2020";"05";"2020-05"
+"2020-05";"produktiv";"RS2R";"Robert Schenk";1;"2020";"05";"2020-05"
+"2020-05";"produktiv";"SAGR";"Sascha Greff";1;"2020";"05";"2020-05"
+"2020-05";"produktiv";"STKU";"Kürten, Stefan";1;"2020";"05";"2020-05"
+"2020-05";"produktiv";"TOMU";"Tom Mummert";1;"2020";"05";"2020-05"
+"2020-05";"produktiv";"VAGO";"Gorr, Vadim";1;"2020";"05";"2020-05"

+ 200 - 0
data/Workshop_Order_Report.csv

@@ -0,0 +1,200 @@
+"creationDate";"currency";"documentType";"invoiceCategory";"invoiceDate";"amount";"discount";"orderLineNumber";"orderNumber";"portion";"unitPrice";"invoiceNumber";"lineNumber";"orderItemType";"category";"descriptionOperation";"hours";"operationCode";"standardHours";"descriptionOther";"type";"descriptionPart";"isDamageCausal";"manufacturer";"partNumber";"quantity";"serialNumber";"unit";"company";"descriptionPurchase";"invoiceCode";"invoiceDate";"invoiceNumber";"orderCompletionDate";"orderDate";"orderNumber";"licensePlate";"nextMotDueDate";"odometer";"odometerUnit";"vin";"vehicleIntakeDate";"timeRangeBegin";"timeRangeEnd"
+"2021-06-01";"EUR";"cancelation";"external";"2021-06-01";-25,21;0,00;5;6430599;0,00;25,21;6480189;5;"operation";"SRMM";"Sommerräder montieren";-1,00;"SRMM";-0,40;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-03-25";"2021-06-01";6430599;"NE-IT 1508";"2022-03-27";19312;"KM";"JMZGL692601622777";1800-01-01 00:00;"2021-03-25";"2021-03-25"
+"2021-06-01";"EUR";"cancelation";"external";"2021-06-01";-4,54;0,00;12;6430599;-1,00;4,54;6480189;12;"part";"";"";;"";;"";"";"Batterie Fernbedienung";0;"MA";"CR2025";-1,00;"";"";"";"";"";"";"";"2021-03-25";"2021-06-01";6430599;"NE-IT 1508";"2022-03-27";19312;"KM";"JMZGL692601622777";1800-01-01 00:00;"2021-03-25";"2021-03-25"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";0,01;0,00;5;6430600;0,00;0,01;6480190;5;"operation";"SRMM";"Sommerräder montieren";1,00;"SRMM";0,40;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-03-25";"2021-06-01";6430600;"NE-IT 1508";"2022-03-27";19312;"KM";"JMZGL692601622777";1800-01-01 00:00;"2021-03-25";"2021-03-25"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";163,50;0,00;5;6430554;0,00;109,00;6480191;5;"operation";"80I";"Wartung nach 80.000km und";1,50;"80I";1,50;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430554;"KK-MK 762";"2022-06-01";32095;"KM";"JMZKF6W7600604069";2021-06-02 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";-16,81;0,00;12;6430554;-1,00;16,81;6480191;12;"other";"";"";;"";;"Gutschein Sommeraktion";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430554;"KK-MK 762";"2022-06-01";32095;"KM";"JMZKF6W7600604069";2021-06-02 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";83,58;0,00;17;6430554;4,20;19,90;6480191;17;"part";"";"";;"";;"";"";"Motoroel Total 5W30 Quart";0;"MA";"900";4,20;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430554;"KK-MK 762";"2022-06-01";32095;"KM";"JMZKF6W7600604069";2021-06-02 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";13,86;0,00;22;6430554;1,00;13,86;6480191;22;"part";"";"";;"";;"";"";"Ölfilter";0;"MA";"PE01-14-302B9A";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430554;"KK-MK 762";"2022-06-01";32095;"KM";"JMZKF6W7600604069";2021-06-02 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";1,81;0,00;27;6430554;1,00;1,81;6480191;27;"part";"";"";;"";;"";"";"Dichtung";0;"MA";"9956-41-400";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430554;"KK-MK 762";"2022-06-01";32095;"KM";"JMZKF6W7600604069";2021-06-02 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";8,90;0,00;32;6430554;1,00;8,90;6480191;32;"part";"";"";;"";;"";"";"Funktionssicherung";0;"MA";"0000302";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430554;"KK-MK 762";"2022-06-01";32095;"KM";"JMZKF6W7600604069";2021-06-02 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";18,50;0,00;37;6430554;1,00;18,50;6480191;37;"part";"";"";;"";;"";"";"Bremsflüssigkeit";0;"MA";"0000307";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430554;"KK-MK 762";"2022-06-01";32095;"KM";"JMZKF6W7600604069";2021-06-02 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"warranty";"2021-06-01";196,96;0,00;20;6429753;1,00;196,96;6480192;20;"part";"";"";;"";;"";"";"Airbag";0;"MA";"DGK9-57-KB0";1,00;"";"";"";"";"";"";"";"2021-03-26";"2021-03-26";6429753;"MG-MC 293";"2024-03-18";674;"KM";"3MVDM6WG60E203290";1800-01-01 00:00;"2021-03-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"warranty";"2021-06-01";29,55;0,00;30;6429753;0,00;98,50;6480192;30;"operation";"S2201DRX";"Airbag a+e";0,30;"S2201DRX";0,30;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-03-26";"2021-03-26";6429753;"MG-MC 293";"2024-03-18";674;"KM";"3MVDM6WG60E203290";1800-01-01 00:00;"2021-03-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";70,00;0,00;5;6430352;0,00;70,00;6480194;5;"operation";"20I";"Wartung nach 20.000km oder";1,00;"20I";1,00;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-10";"2021-05-10";6430352;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";1,00;0,00;12;6430352;1,00;1,00;6480194;12;"part";"";"";;"";;"";"";"Dichtung";0;"MA";"9956-41-400";1,00;"";"";"";"";"";"";"";"2021-05-10";"2021-05-10";6430352;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";11,13;0,00;17;6430352;4,20;2,65;6480194;17;"part";"";"";;"";;"";"";"Motoroel Total 5W30 Quart";0;"MA";"900";4,20;"";"";"";"";"";"";"";"2021-05-10";"2021-05-10";6430352;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";13,86;0,00;22;6430352;1,00;13,86;6480194;22;"part";"";"";;"";;"";"";"Ölfilter";0;"MA";"PE01-14-302B9A";1,00;"";"";"";"";"";"";"";"2021-05-10";"2021-05-10";6430352;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";0,90;0,00;27;6430352;1,00;0,90;6480194;27;"part";"";"";;"";;"";"";"Scheibenklar";0;"MA";"1000";1,00;"";"";"";"";"";"";"";"2021-05-10";"2021-05-10";6430352;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";0,01;0,00;32;6430352;1,00;0,01;6480194;32;"part";"";"";;"";;"";"";"Funktionssicherung";0;"MA";"0000302";1,00;"";"";"";"";"";"";"";"2021-05-10";"2021-05-10";6430352;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";120,02;0,00;5;6430607;0,20;600,10;6480195;5;"part";"";"";;"";;"";"";"Einspritzdüse";0;"MA";"SH01-13-H50";0,20;"";"";"";"";"";"";"";"2021-06-01";"2021-06-01";6430607;"NE-JA 1312";"2023-04-23";80479;"KM";"JMZGJ691871330430";1800-01-01 00:00;"2021-06-01";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";3,03;0,00;10;6430607;0,05;60,66;6480195;10;"part";"";"";;"";;"";"";"KIT,CYCL HEAD-R092";0;"MA";"SHY3-10-YG0A";0,05;"";"";"";"";"";"";"";"2021-06-01";"2021-06-01";6430607;"NE-JA 1312";"2023-04-23";80479;"KM";"JMZGJ691871330430";1800-01-01 00:00;"2021-06-01";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"warranty";"2021-06-01";137,90;0,00;5;6430104;0,00;98,50;6480196;5;"operation";"SLS";"EinspritzdüseN A+E";1,40;"SLS";1,40;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-04-23";"2021-04-23";6430104;"NE-JA 1312";"2023-04-23";80479;"KM";"JMZGJ691871330430";1800-01-01 00:00;"2021-04-23";"2021-04-23"
+"2021-06-01";"EUR";"invoice";"warranty";"2021-06-01";36,81;4,09;10;6430104;0,60;68,17;6480196;10;"part";"";"";;"";;"";"";"KIT,CYCL HEAD-R092";0;"MA";"SHY3-10-YG0A";0,60;"";"";"";"";"";"";"";"2021-04-23";"2021-04-23";6430104;"NE-JA 1312";"2023-04-23";80479;"KM";"JMZGJ691871330430";1800-01-01 00:00;"2021-04-23";"2021-04-23"
+"2021-06-01";"EUR";"invoice";"warranty";"2021-06-01";1456,55;161,84;15;6430104;2,40;674,33;6480196;15;"part";"";"";;"";;"";"";"Einspritzdüse";0;"MA";"SH01-13-H50";2,40;"";"";"";"";"";"";"";"2021-04-23";"2021-04-23";6430104;"NE-JA 1312";"2023-04-23";80479;"KM";"JMZGJ691871330430";1800-01-01 00:00;"2021-04-23";"2021-04-23"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";149,40;0,00;20;6429339;1,00;149,40;6480197;20;"part";"";"";;"";;"";"";"Reifen";0;"MA";"88";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";133,40;0,00;30;6429339;1,00;133,40;6480197;30;"part";"";"";;"";;"";"";"LM Felge Borbet 7x17 BLACK";0;"MA";"99";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";1,03;0,00;40;6429339;1,00;1,03;6480197;40;"part";"";"";;"";;"";"";"Ventil TR 414";0;"MA";"414";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";2,88;0,00;45;6429339;3,00;0,96;6480197;45;"part";"";"";;"";;"";"";"Auswuchtgewichte";0;"MA";"8888";3,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";158,61;0,00;55;6429339;1,00;158,61;6480197;55;"part";"";"";;"";;"";"";"Trittschutz";0;"MA";"KD47-V4-080";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";32,40;0,00;60;6429339;1,00;32,40;6480197;60;"part";"";"";;"";;"";"";"Zierleiste";0;"MA";"KD53-50-650D";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";42,56;0,00;65;6429339;1,00;42,56;6480197;65;"part";"";"";;"";;"";"";"Trägerplatte";0;"MA";"KD53-59-97XA";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";95,60;0,00;70;6429339;20,00;4,78;6480197;70;"part";"";"";;"";;"";"";"KLAMMER VPE 5";0;"MA";"GJ6A-68-AB1";20,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";59,38;0,00;75;6429339;1,00;59,38;6480197;75;"part";"";"";;"";;"";"";"Seitenverkleidung (L)";0;"MA";"KD53-51-RB0C";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";336,00;0,00;80;6429339;1,00;336,00;6480197;80;"part";"";"";;"";;"";"";"Spiegelgehäuse";0;"MA";"KD51-69-181L";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";9,43;0,00;85;6429339;1,00;9,43;6480197;85;"part";"";"";;"";;"";"";"Abdeckung";0;"MA";"KD53-69-117";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";56,46;0,00;90;6429339;1,00;56,46;6480197;90;"part";"";"";;"";;"";"";"Seitl. Blinkleuchte (L)";0;"MA";"KD53-69-182B";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";719,59;0,00;95;6429339;1,00;719,59;6480197;95;"part";"";"";;"";;"";"";"Tür";0;"MA";"KDY3-73-02XE";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";11,32;0,00;100;6429339;4,00;2,83;6480197;100;"part";"";"";;"";;"";"";"Bolzen";0;"MA";"GJ6A-58-225A";4,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";61,80;0,00;105;6429339;1,00;61,80;6480197;105;"part";"";"";;"";;"";"";"Türdichtung";0;"MA";"KD53-73-760F";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";16,26;0,00;110;6429339;1,00;16,26;6480197;110;"part";"";"";;"";;"";"";"Dichtstreifen (L), i";0;"MA";"KA0G-73-821";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";29,10;0,00;115;6429339;1,00;29,10;6480197;115;"part";"";"";;"";;"";"";"Zierleiste";0;"MA";"KD53-50-670B";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";34,25;0,00;120;6429339;1,00;34,25;6480197;120;"part";"";"";;"";;"";"";"Träger";0;"MA";"KD53-73-97XA";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";24,94;0,00;125;6429339;1,00;24,94;6480197;125;"part";"";"";;"";;"";"";"Türdichtung";0;"MA";"KD53-73-651G";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";20,61;0,00;130;6429339;1,00;20,61;6480197;130;"part";"";"";;"";;"";"";"Deckel";0;"MA";"KD53-73-973A";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";58,83;0,00;135;6429339;1,00;58,83;6480197;135;"part";"";"";;"";;"";"";"Seitenschutz";0;"MA";"KD53-51-RD0B";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";28,03;0,00;140;6429339;1,00;28,03;6480197;140;"part";"";"";;"";;"";"";"Türinnengriff";0;"MA";"KD53-73-42XA";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";234,83;0,00;145;6429339;1,00;234,83;6480197;145;"part";"";"";;"";;"";"";"Rückleuchte";0;"MA";"KD54-51-160F";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";19,53;0,00;150;6429339;1,00;19,53;6480197;150;"part";"";"";;"";;"";"";"Dichtung";0;"MA";"KD54-51-163B";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";21,55;0,00;155;6429339;5,00;4,31;6480197;155;"part";"";"";;"";;"";"";"Schraube (VPE 5)";0;"MA";"9CF6-00-516B";5,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";9,30;0,00;160;6429339;2,00;4,65;6480197;160;"part";"";"";;"";;"";"";"Tülle";0;"MA";"9989-10-600";2,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";9,65;0,00;165;6429339;5,00;1,93;6480197;165;"part";"";"";;"";;"";"";"Schraube (VPE 5)";0;"MA";"9CS6-00-516B";5,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";21,40;0,00;170;6429339;2,00;10,70;6480197;170;"part";"";"";;"";;"";"";"Kappe (VPE 5)";0;"MA";"GJ6A-50-5A1";2,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";9,92;0,00;175;6429339;2,00;4,96;6480197;175;"part";"";"";;"";;"";"";"Niete (VPE 5)";0;"MA";"L33X-13-209";2,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";51,10;0,00;180;6429339;1,00;51,10;6480197;180;"part";"";"";;"";;"";"";"Spritzschutz";0;"MA";"KD53-50-340";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";51,10;0,00;185;6429339;1,00;51,10;6480197;185;"part";"";"";;"";;"";"";"Spritzschutz";0;"MA";"KD53-50-350";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";324,89;0,00;190;6429339;1,00;324,89;6480197;190;"part";"";"";;"";;"";"";"Stoßfänger, hinten";0;"MA";"KDY3-50-22XF8P";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";29,80;0,00;195;6429339;5,00;5,96;6480197;195;"part";"";"";;"";;"";"";"Dämmpolster";0;"MA";"G001-67-061";5,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";12,98;0,00;200;6429339;2,00;6,49;6480197;200;"part";"";"";;"";;"";"";"Halter";0;"MA";"KD49-67-UC5A";2,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";19,16;0,00;205;6429339;2,00;9,58;6480197;205;"part";"";"";;"";;"";"";"Halter";0;"MA";"KD45-67-UC5A62";2,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";15,10;0,00;210;6429339;1,00;15,10;6480197;210;"part";"";"";;"";;"";"";"Leiste";0;"MA";"KD53-50-2H1A";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";15,10;0,00;215;6429339;1,00;15,10;6480197;215;"part";"";"";;"";;"";"";"Halter";0;"MA";"KD53-50-2J1A";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";65,31;0,00;220;6429339;1,00;65,31;6480197;220;"part";"";"";;"";;"";"";"Spiegelabdeckung";0;"MA";"KD53-69-1N1B86";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";53,95;0,00;221;6429339;0,00;179,83;6480197;221;"operation";"SLS";"Fehlerspeicher auslesen";0,30;"SLS";0,30;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";143,86;0,00;223;6429339;0,00;179,83;6480197;223;"operation";"SLS";"Fahrzeugeingangsvermessung";0,80;"SLS";0,80;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";71,93;0,00;225;6429339;0,00;179,83;6480197;225;"operation";"SRMM";"angel. Sommerräder montieren";0,40;"SRMM";0,40;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";71,93;0,00;228;6429339;0,00;179,83;6480197;228;"operation";"SLS";"Reifen h.l. erneuern";0,40;"SLS";0,40;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";35,97;0,00;232;6429339;0,20;179,83;6480197;232;"other";"";"";;"";;"Fensterschachtleiste v.l. a+e";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";35,97;0,00;237;6429339;0,20;179,83;6480197;237;"other";"";"";;"";;"Zierleiste Tür v.l. a+e";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";17,98;0,00;242;6429339;0,10;179,83;6480197;242;"other";"";"";;"";;"Türaussengriff v.l. a+e";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";89,92;0,00;247;6429339;0,50;179,83;6480197;247;"other";"";"";;"";;"Aussenspiegel l. erneuern";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";305,71;0,00;252;6429339;1,70;179,83;6480197;252;"other";"";"";;"";;"Tür h.l. erneuern";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";53,95;0,00;257;6429339;0,30;179,83;6480197;257;"other";"";"";;"";;"Radhausverkleidung h.l. a+e";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";35,97;0,00;262;6429339;0,20;179,83;6480197;262;"other";"";"";;"";;"Kotflügelverbreiterung  hl a+e";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";35,97;0,00;267;6429339;0,20;179,83;6480197;267;"other";"";"";;"";;"Ladekantenschutz erneuern";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";161,85;0,00;272;6429339;0,90;179,83;6480197;272;"other";"";"";;"";;"Stoßfängerabdeck. h. erneuern";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";35,97;0,00;277;6429339;0,20;179,83;6480197;277;"other";"";"";;"";;"Stoßfängeraufnahme h. a+e";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";449,58;0,00;282;6429339;2,50;179,83;6480197;282;"other";"";"";;"";;"Tür v.l. instandsetzen";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";179,83;0,00;287;6429339;0,00;179,83;6480197;287;"operation";"FV";"Fahrzeugverbringung";1,00;"FV";1,00;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";17,98;0,00;292;6429339;0,00;179,83;6480197;292;"operation";"SLS";"Batteriestützbetrieb";0,10;"SLS";0,10;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";53,95;0,00;297;6429339;0,30;179,83;6480197;297;"other";"";"";;"";;"Hohlraumkonservierung ergänzen";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";12,00;0,00;302;6429339;1,00;12,00;6480197;302;"part";"";"";;"";;"";"";"Hohlraumkonservierung";0;"MA";"99";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";557,47;0,00;307;6429339;3,10;179,83;6480197;307;"other";"";"";;"";;"Tür v.l. Reparaturlack";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";35,97;0,00;312;6429339;0,20;179,83;6480197;312;"other";"";"";;"";;"Türgriff v.l. Oberflächenlack";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";233,78;0,00;317;6429339;1,30;179,83;6480197;317;"other";"";"";;"";;"Tür h.l. Neuteillack";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";35,97;0,00;322;6429339;0,20;179,83;6480197;322;"other";"";"";;"";;"Türgriff h.l. Oberflächenlack";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";71,93;0,00;327;6429339;0,40;179,83;6480197;327;"other";"";"";;"";;"Seitenwand l. Oberflächenlack";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";125,88;0,00;332;6429339;0,70;179,83;6480197;332;"other";"";"";;"";;"Stoßfänger h. Neuteillack";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";17,98;0,00;337;6429339;0,10;179,83;6480197;337;"other";"";"";;"";;"EPH-Sensor h.l.i Oberflächenl";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";17,98;0,00;342;6429339;0,10;179,83;6480197;342;"other";"";"";;"";;"EPH--Sensor h.r.i Oberflächenl";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";71,93;0,00;347;6429339;0,40;179,83;6480197;347;"other";"";"";;"";;"Zusatzarbeit Kunststoffteile";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";275,14;0,00;352;6429339;1,53;179,83;6480197;352;"other";"";"";;"";;"25% Zuschlag 3-Schicht-Met";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";1083,02;0,00;357;6429339;1,00;1083,02;6480197;357;"other";"";"";;"";;"75% Lackmaterial";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";54,19;0,00;362;6429339;1,00;54,19;6480197;362;"part";"";"";;"";;"";"";"Kleinmaterial";0;"MA";"99";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";89,92;0,00;367;6429339;0,00;179,83;6480197;367;"operation";"SLS";"Fehlerspeicher auslesen";0,50;"SLS";0,50;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";89,92;0,00;377;6429339;0,00;179,83;6480197;377;"operation";"PF";"Reparaturabschlussprobefahrt";0,50;"PF";1,00;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";53,95;0,00;382;6429339;0,00;179,83;6480197;382;"operation";"SLS";"Hygienereinigung";0,30;"SLS";0,30;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";10,00;0,00;387;6429339;1,00;10,00;6480197;387;"part";"";"";;"";;"";"";"Hygienereiniger";0;"MA";"99";1,00;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";29,41;0,00;392;6429339;1,00;29,41;6480197;392;"other";"";"";;"";;"Altteilentsorgung";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6429339;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";6,22;0,00;15;6430428;1,00;6,22;6480198;15;"part";"";"";;"";;"";"";"Heckwischerblatt";0;"MA";"BJT6-67-330 9S";1,00;"";"";"";"";"";"";"";"2021-05-17";"2021-05-17";6430428;"MG-HA 44";"2023-04-01";70305;"KM";"3MZBN64660M329548";1800-01-01 00:00;"2021-05-17";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";8,99;0,00;20;6430428;1,00;8,99;6480198;20;"part";"";"";;"";;"";"";"FUSSMATTEN M 3 2013-";0;"MA";"7124";1,00;"";"";"";"";"";"";"";"2021-05-17";"2021-05-17";6430428;"MG-HA 44";"2023-04-01";70305;"KM";"3MZBN64660M329548";1800-01-01 00:00;"2021-05-17";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";0,90;0,00;25;6430428;1,00;0,90;6480198;25;"part";"";"";;"";;"";"";"Scheibenklar";0;"MA";"1000";1,00;"";"";"";"";"";"";"";"2021-05-17";"2021-05-17";6430428;"MG-HA 44";"2023-04-01";70305;"KM";"3MZBN64660M329548";1800-01-01 00:00;"2021-05-17";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";1,19;0,00;30;6430428;1,00;1,19;6480198;30;"part";"";"";;"";;"";"";"Warnweste";0;"MA";"9035653";1,00;"";"";"";"";"";"";"";"2021-05-17";"2021-05-17";6430428;"MG-HA 44";"2023-04-01";70305;"KM";"3MZBN64660M329548";1800-01-01 00:00;"2021-05-17";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";66,17;0,00;35;6430428;1,00;66,17;6480198;35;"part";"";"";;"";;"";"";"Dämmmatte";0;"MA";"BPM4-56-681";1,00;"";"";"";"";"";"";"";"2021-05-17";"2021-05-17";6430428;"MG-HA 44";"2023-04-01";70305;"KM";"3MZBN64660M329548";1800-01-01 00:00;"2021-05-17";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";391,00;0,00;40;6430428;4,00;97,75;6480198;40;"part";"";"";;"";;"";"";"Reifen";0;"MA";"88";4,00;"";"";"";"";"";"";"";"2021-05-17";"2021-05-17";6430428;"MG-HA 44";"2023-04-01";70305;"KM";"3MZBN64660M329548";1800-01-01 00:00;"2021-05-17";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";0,68;0,00;50;6430428;4,00;0,17;6480198;50;"part";"";"";;"";;"";"";"Ventil TR 414";0;"MA";"414";4,00;"";"";"";"";"";"";"";"2021-05-17";"2021-05-17";6430428;"MG-HA 44";"2023-04-01";70305;"KM";"3MZBN64660M329548";1800-01-01 00:00;"2021-05-17";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";3,68;0,00;55;6430428;8,00;0,46;6480198;55;"part";"";"";;"";;"";"";"Auswuchtgewichte";0;"MA";"8888";8,00;"";"";"";"";"";"";"";"2021-05-17";"2021-05-17";6430428;"MG-HA 44";"2023-04-01";70305;"KM";"3MZBN64660M329548";1800-01-01 00:00;"2021-05-17";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";7,01;0,00;60;6430428;1,00;7,01;6480198;60;"part";"";"";;"";;"";"";"Mini Kombitasche";0;"MA";"6003";1,00;"";"";"";"";"";"";"";"2021-05-17";"2021-05-17";6430428;"MG-HA 44";"2023-04-01";70305;"KM";"3MZBN64660M329548";1800-01-01 00:00;"2021-05-17";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";1,35;0,00;65;6430428;1,00;1,35;6480198;65;"part";"";"";;"";;"";"";"Halter VPE 5";0;"MA";"TD11-56-694";1,00;"";"";"";"";"";"";"";"2021-05-17";"2021-05-17";6430428;"MG-HA 44";"2023-04-01";70305;"KM";"3MZBN64660M329548";1800-01-01 00:00;"2021-05-17";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";1,79;0,00;70;6430428;1,00;1,79;6480198;70;"part";"";"";;"";;"";"";"Kunstoffklebematerial 2K";0;"MA";"KK";1,00;"";"";"";"";"";"";"";"2021-05-17";"2021-05-17";6430428;"MG-HA 44";"2023-04-01";70305;"KM";"3MZBN64660M329548";1800-01-01 00:00;"2021-05-17";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";104,17;0,00;20;6430608;1,00;104,17;6480199;20;"other";"";"";;"";;"Tag Unfallersatzwagen";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6430608;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";20,17;0,00;25;6430608;1,00;20,17;6480199;25;"other";"";"";;"";;"Tag Haftungsreduzierung";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6430608;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";408,90;0,00;35;6430608;5,00;81,78;6480199;35;"other";"";"";;"";;"Tage Unfallersatzwagen";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6430608;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";100,85;0,00;40;6430608;5,00;20,17;6480199;40;"other";"";"";;"";;"Tage Haftungsreduzierung";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6430608;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";50,40;0,00;45;6430608;5,00;10,08;6480199;45;"other";"";"";;"";;"Tage Zusatzfahrer";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-02-23";"2021-02-23";6430608;"VIE-LA 148";"2022-01-01";107648;"KM";"JMZKEN91600314259";1800-01-01 00:00;"2021-02-23";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";138,14;0,00;15;6430609;0,50;276,27;6480200;15;"part";"";"";;"";;"";"";"ANTRIEBSEINHEIT";0;"VO";"32296296";0,50;"";"";"";"";"";"";"";"2021-06-01";"2021-06-01";6430609;"D-BC 1234";"2022-02-28";62012;"KM";"YV1XZ13BCK2130147";2021-06-01 00:00;"2021-06-01";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";138,14;0,00;20;6430609;0,50;276,27;6480200;20;"part";"";"";;"";;"";"";"ANTRIEBSEINHEIT";0;"VO";"32296297";0,50;"";"";"";"";"";"";"";"2021-06-01";"2021-06-01";6430609;"D-BC 1234";"2022-02-28";62012;"KM";"YV1XZ13BCK2130147";2021-06-01 00:00;"2021-06-01";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";37,50;37,50;25;6430609;0,00;125,00;6480200;25;"operation";"83244";"2x Drive unit power tailgate";0,60;"83244";0,60;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-06-01";"2021-06-01";6430609;"D-BC 1234";"2022-02-28";62012;"KM";"YV1XZ13BCK2130147";2021-06-01 00:00;"2021-06-01";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";25,21;0,00;5;6430591;0,00;25,21;6480201;5;"operation";"SRMM";"Sommerräder montieren";1,00;"SRMM";0,40;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-06-01";"2021-06-01";6430591;"MG-V 143";"2022-06-01";174538;"KM";"U5YPC813DDL299289";1800-01-01 00:00;"2021-05-31";"2021-05-31"
+"2021-06-01";"EUR";"cancelation";"internal";"2021-06-01";-70,00;0,00;5;6430610;0,00;70,00;6480202;5;"operation";"20I";"Wartung nach 20.000km oder";-1,00;"20I";-1,00;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-10";"2021-06-01";6430610;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"cancelation";"internal";"2021-06-01";-1,00;0,00;12;6430610;-1,00;1,00;6480202;12;"part";"";"";;"";;"";"";"Dichtung";0;"MA";"9956-41-400";-1,00;"";"";"";"";"";"";"";"2021-05-10";"2021-06-01";6430610;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"cancelation";"internal";"2021-06-01";-11,13;0,00;17;6430610;-4,20;2,65;6480202;17;"part";"";"";;"";;"";"";"Motoroel Total 5W30 Quart";0;"MA";"900";-4,20;"";"";"";"";"";"";"";"2021-05-10";"2021-06-01";6430610;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"cancelation";"internal";"2021-06-01";-13,86;0,00;22;6430610;-1,00;13,86;6480202;22;"part";"";"";;"";;"";"";"Ölfilter";0;"MA";"PE01-14-302B9A";-1,00;"";"";"";"";"";"";"";"2021-05-10";"2021-06-01";6430610;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"cancelation";"internal";"2021-06-01";-0,90;0,00;27;6430610;-1,00;0,90;6480202;27;"part";"";"";;"";;"";"";"Scheibenklar";0;"MA";"1000";-1,00;"";"";"";"";"";"";"";"2021-05-10";"2021-06-01";6430610;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"cancelation";"internal";"2021-06-01";-0,01;0,00;32;6430610;-1,00;0,01;6480202;32;"part";"";"";;"";;"";"";"Funktionssicherung";0;"MA";"0000302";-1,00;"";"";"";"";"";"";"";"2021-05-10";"2021-06-01";6430610;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";70,00;0,00;5;6430611;0,00;70,00;6480203;5;"operation";"20I";"Wartung nach 20.000km oder";1,00;"20I";1,00;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-10";"2021-06-01";6430611;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";1,00;0,00;12;6430611;1,00;1,00;6480203;12;"part";"";"";;"";;"";"";"Dichtung";0;"MA";"9956-41-400";1,00;"";"";"";"";"";"";"";"2021-05-10";"2021-06-01";6430611;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";11,13;0,00;17;6430611;4,20;2,65;6480203;17;"part";"";"";;"";;"";"";"Motoroel Total 5W30 Quart";0;"MA";"900";4,20;"";"";"";"";"";"";"";"2021-05-10";"2021-06-01";6430611;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";13,86;0,00;22;6430611;1,00;13,86;6480203;22;"part";"";"";;"";;"";"";"Ölfilter";0;"MA";"PE01-14-302B9A";1,00;"";"";"";"";"";"";"";"2021-05-10";"2021-06-01";6430611;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";0,90;0,00;27;6430611;1,00;0,90;6480203;27;"part";"";"";;"";;"";"";"Scheibenklar";0;"MA";"1000";1,00;"";"";"";"";"";"";"";"2021-05-10";"2021-06-01";6430611;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";0,01;0,00;32;6430611;1,00;0,01;6480203;32;"part";"";"";;"";;"";"";"Funktionssicherung";0;"MA";"0000302";1,00;"";"";"";"";"";"";"";"2021-05-10";"2021-06-01";6430611;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";8,34;0,00;42;6430611;1,00;8,34;6480203;42;"part";"";"";;"";;"";"";"Wischerblatt l.v.";0;"MA";"KB8M-67-330";1,00;"";"";"";"";"";"";"";"2021-05-10";"2021-06-01";6430611;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"invoice";"internal";"2021-06-01";6,56;0,00;47;6430611;1,00;6,56;6480203;47;"part";"";"";;"";;"";"";"Wischerblatt r.v.";0;"MA";"KD2W-67-330";1,00;"";"";"";"";"";"";"";"2021-05-10";"2021-06-01";6430611;"HS-AM 1106";"2023-05-18";6279;"KM";"JMZKF6W7600891988";2021-05-17 00:00;"2021-05-10";"2021-05-10"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";128,00;0,00;5;6430552;0,00;80,00;6480204;5;"operation";"40I";"Wartung nach 40.000km oder";1,60;"40I";1,60;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430552;"MG-JG 55";"2022-07-17";18324;"KM";"3MDDJ6H550M330415";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";1,54;0,27;12;6430552;1,00;1,81;6480204;12;"part";"";"";;"";;"";"";"Dichtung";0;"MA";"9956-41-400";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430552;"MG-JG 55";"2022-07-17";18324;"KM";"3MDDJ6H550M330415";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";66,86;16,72;17;6430552;4,20;19,90;6480204;17;"part";"";"";;"";;"";"";"Motoroel Total 5W30 Quart";0;"MA";"900";4,20;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430552;"MG-JG 55";"2022-07-17";18324;"KM";"3MDDJ6H550M330415";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";11,78;2,08;22;6430552;1,00;13,86;6480204;22;"part";"";"";;"";;"";"";"Ölfilter";0;"MA";"PE01-14-302B9A";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430552;"MG-JG 55";"2022-07-17";18324;"KM";"3MDDJ6H550M330415";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";14,80;3,70;27;6430552;1,00;18,50;6480204;27;"part";"";"";;"";;"";"";"Bremsflüssigkeit";0;"MA";"0000307";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430552;"MG-JG 55";"2022-07-17";18324;"KM";"3MDDJ6H550M330415";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";21,28;3,75;32;6430552;1,00;25,03;6480204;32;"part";"";"";;"";;"";"";"Innenraumfilter";0;"MA";"D09W-61-J6X 9A";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430552;"MG-JG 55";"2022-07-17";18324;"KM";"3MDDJ6H550M330415";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";2,21;0,55;37;6430552;1,00;2,76;6480204;37;"part";"";"";;"";;"";"";"Scheibenklar";0;"MA";"1000";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430552;"MG-JG 55";"2022-07-17";18324;"KM";"3MDDJ6H550M330415";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";3,63;0,91;42;6430552;1,00;4,54;6480204;42;"part";"";"";;"";;"";"";"Batterie Fernbedienung";0;"MA";"CR2025";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430552;"MG-JG 55";"2022-07-17";18324;"KM";"3MDDJ6H550M330415";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";96,00;0,00;5;6430549;0,00;80,00;6480205;5;"operation";"140I";"Wartung nach 140.000km oder";1,20;"140I";1,20;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430549;"D-JA 1609";"2023-06-01";101136;"KM";"JMZGJ692621162210";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";150,00;0,00;12;6430549;1,00;150,00;6480205;12;"other";"";"";;"";;"HU-Gebühren lt. Beleg";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430549;"D-JA 1609";"2023-06-01";101136;"KM";"JMZGJ692621162210";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";1,81;0,00;17;6430549;1,00;1,81;6480205;17;"part";"";"";;"";;"";"";"Dichtung";0;"MA";"9956-41-400";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430549;"D-JA 1609";"2023-06-01";101136;"KM";"JMZGJ692621162210";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";132,35;0,00;22;6430549;5,10;25,95;6480205;22;"part";"";"";;"";;"";"";"Motoroel Total 0W-30 Ineo Effi";0;"MA";"590";5,10;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430549;"D-JA 1609";"2023-06-01";101136;"KM";"JMZGJ692621162210";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";11,90;0,00;27;6430549;1,00;11,90;6480205;27;"part";"";"";;"";;"";"";"Ölfilter";0;"MA";"S550-14-302 9A";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430549;"D-JA 1609";"2023-06-01";101136;"KM";"JMZGJ692621162210";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";8,90;0,00;32;6430549;1,00;8,90;6480205;32;"part";"";"";;"";;"";"";"Funktionssicherung";0;"MA";"0000302";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430549;"D-JA 1609";"2023-06-01";101136;"KM";"JMZGJ692621162210";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";32,00;0,00;47;6430549;0,00;80,00;6480205;47;"operation";"SLS";"KEILRIPPENRIEMEN A+E";0,40;"SLS";0,40;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430549;"D-JA 1609";"2023-06-01";101136;"KM";"JMZGJ692621162210";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";36,00;0,00;52;6430549;1,00;36,00;6480205;52;"part";"";"";;"";;"";"";"Antriebsriemen";0;"MA";"SH01-15-909A";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430549;"D-JA 1609";"2023-06-01";101136;"KM";"JMZGJ692621162210";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";196,20;0,00;5;6430551;0,00;109,00;6480206;5;"operation";"80I";"Wartung nach 80.000km und";1,80;"80I";1,80;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430551;"MG-TH 880";"2022-05-01";59383;"KM";"JMZND6E7610121168";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";1,81;0,00;12;6430551;1,00;1,81;6480206;12;"part";"";"";;"";;"";"";"Dichtung";0;"MA";"9956-41-400";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430551;"MG-TH 880";"2022-05-01";59383;"KM";"JMZND6E7610121168";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";85,57;0,00;17;6430551;4,30;19,90;6480206;17;"part";"";"";;"";;"";"";"Motoroel Total 5W30 Quart";0;"MA";"900";4,30;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430551;"MG-TH 880";"2022-05-01";59383;"KM";"JMZND6E7610121168";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";13,86;0,00;22;6430551;1,00;13,86;6480206;22;"part";"";"";;"";;"";"";"Ölfilter";0;"MA";"PE01-14-302B9A";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430551;"MG-TH 880";"2022-05-01";59383;"KM";"JMZND6E7610121168";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";18,50;0,00;27;6430551;1,00;18,50;6480206;27;"part";"";"";;"";;"";"";"Bremsflüssigkeit";0;"MA";"0000307";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430551;"MG-TH 880";"2022-05-01";59383;"KM";"JMZND6E7610121168";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";20,92;0,00;42;6430551;1,00;20,92;6480206;42;"other";"";"";;"";;"Mietwagen";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430551;"MG-TH 880";"2022-05-01";59383;"KM";"JMZND6E7610121168";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";128,00;0,00;5;6430550;0,00;80,00;6480207;5;"operation";"40I";"Wartung nach 340.000km";1,60;"40I";1,60;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430550;"HS-JD 200";"2023-06-12";69333;"KM";"JMZNE2WPJN3P52722";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";75,62;0,00;10;6430550;3,80;19,90;6480207;10;"part";"";"";;"";;"";"";"Motoroel Total 5W30 Quart";0;"MA";"900";3,80;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430550;"HS-JD 200";"2023-06-12";69333;"KM";"JMZNE2WPJN3P52722";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";3,76;0,00;15;6430550;1,00;3,76;6480207;15;"part";"";"";;"";;"";"";"Dichtung";0;"MA";"Y401-10-4J5";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430550;"HS-JD 200";"2023-06-12";69333;"KM";"JMZNE2WPJN3P52722";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";13,62;0,00;20;6430550;1,00;13,62;6480207;20;"part";"";"";;"";;"";"";"Oelfilter";0;"MA";"Y401-14-302 9A";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430550;"HS-JD 200";"2023-06-12";69333;"KM";"JMZNE2WPJN3P52722";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";18,50;0,00;25;6430550;1,00;18,50;6480207;25;"part";"";"";;"";;"";"";"Bremsflüssigkeit";0;"MA";"0000307";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430550;"HS-JD 200";"2023-06-12";69333;"KM";"JMZNE2WPJN3P52722";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";25,17;0,00;30;6430550;1,00;25,17;6480207;30;"part";"";"";;"";;"";"";"Innenraumfilter";0;"MA";"GJ6A-61-P11A9B";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430550;"HS-JD 200";"2023-06-12";69333;"KM";"JMZNE2WPJN3P52722";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";2,76;0,00;35;6430550;1,00;2,76;6480207;35;"part";"";"";;"";;"";"";"Scheibenklar";0;"MA";"1000";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430550;"HS-JD 200";"2023-06-12";69333;"KM";"JMZNE2WPJN3P52722";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";8,90;0,00;40;6430550;1,00;8,90;6480207;40;"part";"";"";;"";;"";"";"Funktionssicherung";0;"MA";"0000302";1,00;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430550;"HS-JD 200";"2023-06-12";69333;"KM";"JMZNE2WPJN3P52722";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";150,00;0,00;55;6430550;1,00;150,00;6480207;55;"other";"";"";;"";;"HU-Gebühren lt. Beleg";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430550;"HS-JD 200";"2023-06-12";69333;"KM";"JMZNE2WPJN3P52722";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";20,92;0,00;75;6430550;1,00;20,92;6480207;75;"other";"";"";;"";;"Mietwagen M2";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-26";"2021-05-26";6430550;"HS-JD 200";"2023-06-12";69333;"KM";"JMZNE2WPJN3P52722";2021-06-01 00:00;"2021-05-26";"2021-05-26"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";401,98;0,00;10;6430154;1,00;401,98;6480208;10;"part";"";"";;"";;"";"";"Motorhaube";0;"MA";"KBY0-52-31XB";1,00;"";"";"";"";"";"";"";"2021-04-28";"2021-04-28";6430154;"VIE-PG 57";"2022-10-01";16976;"KM";"JMZKFGWMA00633377";2021-04-28 00:00;"2021-04-28";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";84,03;0,00;15;6430154;0,00;84,03;6480208;15;"operation";"KV";"Erstellung Kostenvoranschlag";1,00;"KV";1,00;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-04-28";"2021-04-28";6430154;"VIE-PG 57";"2022-10-01";16976;"KM";"JMZKFGWMA00633377";2021-04-28 00:00;"2021-04-28";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";179,83;0,00;21;6430154;0,00;179,83;6480208;21;"operation";"FV";"Fahrzeugverbringung";1,00;"FV";1,00;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-04-28";"2021-04-28";6430154;"VIE-PG 57";"2022-10-01";16976;"KM";"JMZKFGWMA00633377";2021-04-28 00:00;"2021-04-28";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";665,37;0,00;26;6430154;3,70;179,83;6480208;26;"other";"";"";;"";;"Motorhaube erneuern";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-04-28";"2021-04-28";6430154;"VIE-PG 57";"2022-10-01";16976;"KM";"JMZKFGWMA00633377";2021-04-28 00:00;"2021-04-28";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";305,71;0,00;31;6430154;1,70;179,83;6480208;31;"other";"";"";;"";;"Motorhaube Neuteillack";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-04-28";"2021-04-28";6430154;"VIE-PG 57";"2022-10-01";16976;"KM";"JMZKFGWMA00633377";2021-04-28 00:00;"2021-04-28";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";197,81;0,00;36;6430154;1,10;179,83;6480208;36;"other";"";"";;"";;"Zusatz Mehrschichtlack";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-04-28";"2021-04-28";6430154;"VIE-PG 57";"2022-10-01";16976;"KM";"JMZKFGWMA00633377";2021-04-28 00:00;"2021-04-28";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";323,69;0,00;41;6430154;1,80;179,83;6480208;41;"other";"";"";;"";;"Vorbereitung Lackierung";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-04-28";"2021-04-28";6430154;"VIE-PG 57";"2022-10-01";16976;"KM";"JMZKFGWMA00633377";2021-04-28 00:00;"2021-04-28";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";620,42;0,00;46;6430154;1,00;620,42;6480208;46;"other";"";"";;"";;"75% Lackmaterial";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-04-28";"2021-04-28";6430154;"VIE-PG 57";"2022-10-01";16976;"KM";"JMZKFGWMA00633377";2021-04-28 00:00;"2021-04-28";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";8,04;0,00;51;6430154;1,00;8,04;6480208;51;"part";"";"";;"";;"";"";"Kleinmaterial";0;"MA";"99";1,00;"";"";"";"";"";"";"";"2021-04-28";"2021-04-28";6430154;"VIE-PG 57";"2022-10-01";16976;"KM";"JMZKFGWMA00633377";2021-04-28 00:00;"2021-04-28";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";258,16;0,00;25;6430615;4,00;64,54;6480209;25;"other";"";"";;"";;"Tage Unfallersatzwagen";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-17";"2021-05-17";6430615;"VIE-PG 57";"2022-10-01";16976;"KM";"JMZKFGWMA00633377";1800-01-01 00:00;"2021-05-17";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";63,88;0,00;30;6430615;4,00;15,97;6480209;30;"other";"";"";;"";;"Tage Haftungsreduzierung";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-17";"2021-05-17";6430615;"VIE-PG 57";"2022-10-01";16976;"KM";"JMZKFGWMA00633377";1800-01-01 00:00;"2021-05-17";"1800-01-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";119,90;0,00;5;6430475;0,00;109,00;6480210;5;"operation";"60I";"Wartung nach 60.000km oder";1,10;"60I";1,10;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-18";"2021-05-18";6430475;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-18";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";150,00;0,00;12;6430475;1,00;150,00;6480210;12;"other";"";"";;"";;"HU-Gebühren lt. Beleg";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-18";"2021-05-18";6430475;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-18";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";1,81;0,00;27;6430475;1,00;1,81;6480210;27;"part";"";"";;"";;"";"";"Dichtung";0;"MA";"9956-41-400";1,00;"";"";"";"";"";"";"";"2021-05-18";"2021-05-18";6430475;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-18";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";83,58;0,00;32;6430475;4,20;19,90;6480210;32;"part";"";"";;"";;"";"";"Motoroel Total 5W30 Quart";0;"MA";"900";4,20;"";"";"";"";"";"";"";"2021-05-18";"2021-05-18";6430475;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-18";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";13,86;0,00;37;6430475;1,00;13,86;6480210;37;"part";"";"";;"";;"";"";"Ölfilter";0;"MA";"PE01-14-302B9A";1,00;"";"";"";"";"";"";"";"2021-05-18";"2021-05-18";6430475;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-18";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";27,21;0,00;52;6430475;0,00;108,85;6480210;52;"operation";"SLS";"MARDERSCHRECK EINBAUEN";0,25;"SLS";0,25;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-18";"2021-05-18";6430475;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-18";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";89,60;0,00;57;6430475;1,00;89,60;6480210;57;"part";"";"";;"";;"";"";"Marderabwehrgerät M 2700";0;"MA";"9243700";1,00;"";"";"";"";"";"";"";"2021-05-18";"2021-05-18";6430475;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-18";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";342,33;0,00;10;6430263;1,00;342,33;6480211;10;"part";"";"";;"";;"";"";"Heckscheibe";0;"MA";"KD53-63-930B9D";1,00;"";"";"";"";"";"";"";"2020-10-21";"2021-05-04";6430263;"NE-MR 1507";"2022-02-01";63701;"KM";"JMZKEF91600293528";2020-10-21 00:00;"2020-10-22";"2020-10-22"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";47,77;0,00;15;6430263;1,00;47,77;6480211;15;"part";"";"";;"";;"";"";"Leimsatz";0;"MA";"9000";1,00;"";"";"";"";"";"";"";"2020-10-21";"2021-05-04";6430263;"NE-MR 1507";"2022-02-01";63701;"KM";"JMZKEF91600293528";2020-10-21 00:00;"2020-10-22";"2020-10-22"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";377,64;0,00;30;6430263;0,00;179,83;6480211;30;"operation";"S1402XRX";"Heckscheibe erneuern";2,10;"S1402XRX";2,10;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2020-10-21";"2021-05-04";6430263;"NE-MR 1507";"2022-02-01";63701;"KM";"JMZKEF91600293528";2020-10-21 00:00;"2020-10-22";"2020-10-22"
+"2021-06-01";"EUR";"cancelation";"external";"2021-06-01";-119,90;0,00;5;6430618;0,00;109,00;6480212;5;"operation";"60I";"Wartung nach 60.000km oder";-1,10;"60I";-1,10;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-18";"2021-06-01";6430618;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"cancelation";"external";"2021-06-01";-150,00;0,00;12;6430618;-1,00;150,00;6480212;12;"other";"";"";;"";;"HU-Gebühren lt. Beleg";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-18";"2021-06-01";6430618;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"cancelation";"external";"2021-06-01";-1,81;0,00;27;6430618;-1,00;1,81;6480212;27;"part";"";"";;"";;"";"";"Dichtung";0;"MA";"9956-41-400";-1,00;"";"";"";"";"";"";"";"2021-05-18";"2021-06-01";6430618;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"cancelation";"external";"2021-06-01";-83,58;0,00;32;6430618;-4,20;19,90;6480212;32;"part";"";"";;"";;"";"";"Motoroel Total 5W30 Quart";0;"MA";"900";-4,20;"";"";"";"";"";"";"";"2021-05-18";"2021-06-01";6430618;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"cancelation";"external";"2021-06-01";-13,86;0,00;37;6430618;-1,00;13,86;6480212;37;"part";"";"";;"";;"";"";"Ölfilter";0;"MA";"PE01-14-302B9A";-1,00;"";"";"";"";"";"";"";"2021-05-18";"2021-06-01";6430618;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"cancelation";"external";"2021-06-01";-27,21;0,00;52;6430618;0,00;108,85;6480212;52;"operation";"SLS";"MARDERSCHRECK EINBAUEN";-0,25;"SLS";-0,25;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-18";"2021-06-01";6430618;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"cancelation";"external";"2021-06-01";-89,60;0,00;57;6430618;-1,00;89,60;6480212;57;"part";"";"";;"";;"";"";"Marderabwehrgerät M 2700";0;"MA";"9243700";-1,00;"";"";"";"";"";"";"";"2021-05-18";"2021-06-01";6430618;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";119,90;0,00;5;6430619;0,00;109,00;6480213;5;"operation";"60I";"Wartung nach 60.000km oder";1,10;"60I";1,10;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-18";"2021-06-01";6430619;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";150,00;0,00;12;6430619;1,00;150,00;6480213;12;"other";"";"";;"";;"HU-Gebühren lt. Beleg";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-18";"2021-06-01";6430619;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";1,81;0,00;27;6430619;1,00;1,81;6480213;27;"part";"";"";;"";;"";"";"Dichtung";0;"MA";"9956-41-400";1,00;"";"";"";"";"";"";"";"2021-05-18";"2021-06-01";6430619;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";83,58;0,00;32;6430619;4,20;19,90;6480213;32;"part";"";"";;"";;"";"";"Motoroel Total 5W30 Quart";0;"MA";"900";4,20;"";"";"";"";"";"";"";"2021-05-18";"2021-06-01";6430619;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";13,86;0,00;37;6430619;1,00;13,86;6480213;37;"part";"";"";;"";;"";"";"Ölfilter";0;"MA";"PE01-14-302B9A";1,00;"";"";"";"";"";"";"";"2021-05-18";"2021-06-01";6430619;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";27,21;0,00;52;6430619;0,00;108,85;6480213;52;"operation";"SLS";"MARDERSCHRECK EINBAUEN";0,25;"SLS";0,25;"";"";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-18";"2021-06-01";6430619;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";89,60;0,00;57;6430619;1,00;89,60;6480213;57;"part";"";"";;"";;"";"";"Marderabwehrgerät M 2700";0;"MA";"9243700";1,00;"";"";"";"";"";"";"";"2021-05-18";"2021-06-01";6430619;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-26";"2021-06-01"
+"2021-06-01";"EUR";"invoice";"external";"2021-06-01";-16,81;0,00;62;6430619;-1,00;16,81;6480213;62;"other";"";"";;"";;"Gutschein Sommeraktion";"VZ";"";0;"";"";;"";"";"";"";"";"";"";"2021-05-18";"2021-06-01";6430619;"MG-S 1215";"2023-06-01";20723;"KM";"JMZKFGW7A00678593";2021-06-01 00:00;"2021-05-26";"2021-06-01"

+ 5 - 0
export/2020-05_auftraege.csv

@@ -0,0 +1,5 @@
+Periode;AuftragsArtSumme;AuftragsArt;AuftragsArtId;AuftragsTypId;TeileUmsatz;LohnUmsatz;SonstigeUmsatz;GesamtUmsatz;AnzahlAuftraege
+202005;Extern;Inspektion;1;1;30227,35;25274,41;0,0;55501,76;273
+202005;Garantie;Inspektion;2;1;5828,4;3590,32;0,0;9418,72;66
+202005;Intern;Inspektion;3;1;898,3;1767,0;0,0;2665,3;29
+202005;Theke;Sonstiges;4;5;9034,08;0,0;0,0;9034,08;53

+ 26 - 0
export/2020-05_mitarbeiter.csv

@@ -0,0 +1,26 @@
+Periode;Produktiv;Mitarbeiter;Name;Prod;Jahr;Monat;Periode_Filter
+2020-05;nicht produktiv;ANLI;Angelo Liso;0;2020;05;2020-05
+2020-05;nicht produktiv;CHHA;Christina Hautzer;0;2020;05;2020-05
+2020-05;nicht produktiv;CIBR;Cindy Brosowski;0;2020;05;2020-05
+2020-05;nicht produktiv;DKSC;Dominik Schäfer;0;2020;05;2020-05
+2020-05;nicht produktiv;JOMU;Joana Mueller;0;2020;05;2020-05
+2020-05;nicht produktiv;JUFE;Jürgen Feldberg;0;2020;05;2020-05
+2020-05;nicht produktiv;MAGD;Martina Gödel;0;2020;05;2020-05
+2020-05;nicht produktiv;MIME;Michael Menge;0;2020;05;2020-05
+2020-05;nicht produktiv;PAJA;Pascal Jansen;0;2020;05;2020-05
+2020-05;nicht produktiv;ROGI;Roland Giesen;0;2020;05;2020-05
+2020-05;nicht produktiv;SAHE;Sandra Hennekes;0;2020;05;2020-05
+2020-05;nicht produktiv;SEKL;Sebastian Klingen;0;2020;05;2020-05
+2020-05;nicht produktiv;SEWE;Sebastian Weichert;0;2020;05;2020-05
+2020-05;nicht produktiv;SYBO;Bonk, Sylwia;0;2020;05;2020-05
+2020-05;produktiv;ANBO;Andreas Borchert;1;2020;05;2020-05
+2020-05;produktiv;CHTH;Christian Thelen;1;2020;05;2020-05
+2020-05;produktiv;DALE;Dave Lenzen;1;2020;05;2020-05
+2020-05;produktiv;JEFI;Jerome Fischelmanns;1;2020;05;2020-05
+2020-05;produktiv;NIRA;Niklas Rahmen;1;2020;05;2020-05
+2020-05;produktiv;ROBI;Robert Bialy;1;2020;05;2020-05
+2020-05;produktiv;RS2R;Robert Schenk;1;2020;05;2020-05
+2020-05;produktiv;SAGR;Sascha Greff;1;2020;05;2020-05
+2020-05;produktiv;STKU;Kürten, Stefan;1;2020;05;2020-05
+2020-05;produktiv;TOMU;Tom Mummert;1;2020;05;2020-05
+2020-05;produktiv;VAGO;Gorr, Vadim;1;2020;05;2020-05

+ 176 - 0
mazda_upload.py

@@ -0,0 +1,176 @@
+import pandas as pd
+import numpy as np
+import json
+from dataclasses import dataclass
+from datetime import datetime
+
+
+@dataclass
+class MazdaConfig:
+    domain: str
+    webservice: str
+    module: str
+    auth_url: str
+    token_url: str
+    client_id: str
+    client_secret: str
+    username: str
+    password: str
+    dealer_number: str
+
+
+cfg = MazdaConfig(
+    domain='https://mappsacc.mazdaeur.com',
+    webservice='/dogma-restapi-dms/api',
+    module='/vehicles/workshop/order-report',
+    auth_url='/oauth/authorize',
+    token_url='/oauth/token',
+    client_id='E7FC943B-B73F-F48E-B71A-419EA4CD4AC7',
+    client_secret='^bH=rk@c58zrr^Apc#9fzy$c',
+    username='mmd88888.cdk',
+    password='MazdaCX30',
+    dealer_number='88888/MMD'
+)
+
+redirect_uri = 'https://localhost/'
+base_dir = '/home/robert/projekte/mazda/'
+
+
+def date_format(d: datetime):
+    if d == 0:
+        return ''     # '0000-00-00T00:00:00.000Z'
+    date_str = d.isoformat(sep='T')
+    if len(date_str) == 19:
+        return date_str + '.000Z'
+    return date_str[:-3] + 'Z'
+
+
+def convert_csv(import_csv, export_json, year, month):
+    date_min = datetime(year, month, 1, 0, 0, 0)
+    date_max = datetime(year, month + 1, 1, 0, 0, 0)
+
+    date_cols = ['invoiceDate', 'orderDate', 'orderCompletionDate', 'vehicleIntakeDate', 'nextMotDueDate']
+    df = pd.read_csv(import_csv, encoding='latin-1', decimal=',', sep=';', parse_dates=date_cols)
+    df = df.fillna(0)[(df['invoiceDate'] >= date_min) & (df['invoiceDate'] <= date_max)]
+    df = df.sort_values(by=['invoiceDate', 'invoiceNumber', 'orderNumber', 'lineNumber'])
+    df['vin'] = np.where(df['vin'] == 0, '0' * 17, df['vin'])
+    # print(df[['currency','documentType','invoiceCategory','invoiceDate','invoiceNumber']].drop_duplicates().info())
+    invoices_filter = ['currency', 'documentType', 'invoiceCategory', 'invoiceDate', 'invoiceNumber']
+    invoices = df[invoices_filter].drop_duplicates().to_dict('records')
+    invoice_items_filter = ['invoiceNumber', 'orderLineNumber', 'orderNumber', 'amount', 'discount', 'portion', 'unitPrice']
+    invoice_items = df[invoice_items_filter].groupby('invoiceNumber')
+
+    for invoice in invoices:
+        invoice['invoiceDate'] = date_format(invoice['invoiceDate'])
+        items = invoice_items.get_group(invoice['invoiceNumber'])
+        items.pop('invoiceNumber')
+        invoice['invoiceItems'] = items.to_dict('records')
+
+    orders = df[['orderNumber', 'orderDate', 'orderCompletionDate', 'vehicleIntakeDate']].drop_duplicates().to_dict('records')
+    orders_vehicle_filter = ['orderNumber', 'licensePlate', 'nextMotDueDate', 'odometer', 'odometerUnit', 'vin']
+    orders_vehicle = df[orders_vehicle_filter].drop_duplicates().groupby('orderNumber')
+    orders_items = df[[
+        'orderNumber', 'lineNumber', 'orderItemType',
+        'category', 'descriptionOperation', 'hours', 'operationCode', 'standardHours',
+        'descriptionOther', 'type',
+        'descriptionPart', 'isDamageCausal', 'manufacturer', 'partNumber', 'quantity', 'serialNumber', 'unit',
+        'company', 'descriptionPurchase', 'invoiceCode', 'invoiceDate', 'invoiceNumber'
+    ]].drop_duplicates().groupby('orderNumber')
+
+    for order in orders:
+        order['vehicle'] = orders_vehicle.get_group(order['orderNumber']).to_dict('records')[0]
+        order['vehicle']['nextMotDueDate'] = date_format(order['vehicle']['nextMotDueDate'])
+
+        order['orderDate'] = date_format(order['orderDate'])
+        order['orderCompletionDate'] = date_format(order['orderCompletionDate'])
+        order['vehicleIntakeDate'] = date_format(order['vehicleIntakeDate'])
+
+        items = orders_items.get_group(order['orderNumber']).to_dict('records')
+        order['items'] = []
+        for item in items:
+            if item['orderItemType'] == 'operation':
+                order['items'].append({
+                    'lineNumber': item['lineNumber'],
+                    'operation': {
+                        'category': item['category'],
+                        'description': item['descriptionOperation'],
+                        'hours': item['hours'],
+                        'operationCode': item['operationCode'],
+                        'standardHours': item['standardHours']
+                    }
+                })
+            elif item['orderItemType'] == 'part':
+                order['items'].append({
+                    'lineNumber': item['lineNumber'],
+                    'part': {
+                        'description': item['descriptionPart'],
+                        'isDamageCausal': item['isDamageCausal'],
+                        'manufacturer': item['manufacturer'],
+                        'partNumber': item['partNumber'],
+                        'quantity': item['quantity'],
+                        'serialNumber': item['serialNumber'],
+                        'unit': item['unit']
+                    }
+                })
+            elif item['orderItemType'] == 'other':
+                order['items'].append({
+                    'lineNumber': item['lineNumber'],
+                    'other': {
+                        'description': item['descriptionOther'],
+                        'type': item['type']
+                    }
+                })
+            else:
+                order['items'].append({
+                    'lineNumber': item['lineNumber'],
+                    'purchaseInvoice': {
+                        'company': item['company'],
+                        'description': item['descriptionPurchase'],
+                        'invoiceCode': item['invoiceCode'],
+                        'invoiceDate': date_format(item['invoiceDate']),
+                        'invoiceNumber': item['invoiceNumber']
+                    }
+                })
+
+    res = {
+        'creationDate': date_format(datetime.now()),
+        'invoices': invoices,
+        'orders': orders,
+        'timeRangeBegin': date_format(date_min),
+        'timeRangeEnd': date_format(date_max)
+    }
+
+    json.dump(res, open(export_json, 'w'), indent=2)
+    return res
+
+
+def upload(oauth, data):
+    headers = {
+        'accept': 'application/vnd.mazdaeur.dms.v4+json',
+        'x-mme-organisation': cfg.dealer_number,
+        'X-mazda-org': cfg.dealer_number,
+        'Content-Type': 'application/json',
+        # 'Authorization': 'Bearer ' + token
+    }
+
+    invoices = data['invoices']
+    orders = data['orders']
+    data['orders'] = []
+    for i in invoices:
+        data['invoices'] = [i]
+        order_no = [item['orderNumber'] for item in i['invoiceItems']]
+        data['orders'] = [o for o in orders if o['orderNumber'] in order_no]
+        r = oauth.post(cfg.domain + cfg.webservice + cfg.module, json.dumps(data), headers=headers)
+        print(f"{i['invoiceNumber']} => {r.status_code}")
+        with open(base_dir + f"logs/invoice_{i['invoiceNumber']}.log", 'w') as fwh:
+            fwh.write(r.text)
+
+
+def main():
+    data = convert_csv(base_dir + 'data/Workshop_Order_Report.csv', base_dir + 'temp/mazda_export.json', 2021, 6)
+    # data = json.load(open(base_dir + 'mazda_export.json', 'r'))
+    upload(None, data)
+
+
+if __name__ == '__main__':
+    main()

+ 106 - 0
mazda_webservice.py

@@ -0,0 +1,106 @@
+from dataclasses import dataclass
+from requests_oauthlib import OAuth2Session
+from oauthlib.oauth2.rfc6749.errors import OAuth2Error
+from flask import Flask, redirect, request, session
+from datetime import datetime
+import json
+import os
+import mazda_upload
+
+
+@dataclass
+class Token:
+    access_token: str
+    token_type: str
+    refresh_token: str
+    expires_in: int
+    sub: str
+    iss: str
+    iat: int
+    defaultDomain: str
+    userGuid: str
+    organisations: list[str]
+    jti: str
+    scope: list[str]
+    expires_at: float
+
+
+app = Flask(__name__)
+
+cfg: mazda_upload.MazdaConfig = mazda_upload.cfg
+base_dir = '/home/robert/projekte/mazda/'
+
+
+def token_save(token):
+    session['oauth_token'] = token
+    with open(base_dir + 'temp/token.json', 'w') as fwh:
+        json.dump(token, fwh, indent=2)
+
+
+def token_load() -> Token:
+    try:
+        with open(base_dir + 'temp/token.json', 'r') as frh:
+            return json.load(frh)
+    except FileNotFoundError:
+        return None
+
+
+def get_token() -> Token:
+    if session.get('oauth_token') is None:
+        session['oauth_token'] = token_load()
+
+        if session['oauth_token'] is not None and session['oauth_token']['expires_at'] < datetime.now().timestamp():
+            session['oauth_token'] = None
+    return session['oauth_token']
+
+
+@app.route("/")
+def demo():
+    # if token := get_token() is not None:
+    oauth = OAuth2Session(cfg.client_id, token=get_token())
+
+    if oauth.authorized:
+        return redirect('/profile')
+
+    redirect_uri = request.base_url + 'callback'
+    print(redirect_uri)
+    oauth = OAuth2Session(cfg.client_id, redirect_uri=redirect_uri)
+    authorization_url, state = oauth.authorization_url(cfg.domain + cfg.auth_url)
+    session['oauth_state'] = state
+    return redirect(authorization_url)
+
+
+@app.route("/callback", methods=["GET"])
+def callback():
+    state = session.get('oauth_state')
+    if state is None:
+        return redirect('/')
+    print(state)
+    redirect_uri = request.base_url
+    print(redirect_uri)
+    oauth = OAuth2Session(cfg.client_id, state=state, redirect_uri=redirect_uri)
+    try:
+        token = oauth.fetch_token(cfg.domain + cfg.token_url, client_secret=cfg.client_secret, authorization_response=request.url)
+        token_save(token)
+        session['oauth_token'] = token
+        return redirect('/profile')
+    except OAuth2Error as e:
+        print(e)
+        return redirect('/')
+
+
+@app.route("/profile", methods=["GET"])
+def profile():
+    oauth = OAuth2Session(cfg.client_id, token=session.get('oauth_token'))
+    data = mazda_upload.convert_csv(base_dir + 'data/Workshop_Order_Report.csv', base_dir + 'temp/mazda_export.json', 2021, 6)
+    mazda_upload.upload(oauth, data)
+    return app.response_class(
+        response=json.dumps(data, indent=2),
+        mimetype='application/json'
+    )
+
+
+if __name__ == "__main__":
+    # os.environ['OAUTHLIB_INSECURE_TRANSPORT'] = "1"
+    app.secret_key = os.urandom(24)
+    app.run(host='0.0.0.0', port='8085', ssl_context=('config/cert/cert.pem', 'config/cert/key.pem'), debug=True)

+ 106 - 0
nasa_upload.py

@@ -0,0 +1,106 @@
+import pandas as pd
+import pyodbc
+import json
+from os import path
+from datetime import date
+from dateutil.relativedelta import relativedelta
+from sqlalchemy import create_engine
+from suds.client import Client
+from cryptography.fernet import Fernet
+
+# Konfiguration
+fernet_key = b'YBckeKYt-8g7LFvpG7XqAAcEbsYESnI-yl8by9rjeQQ='
+fernet = Fernet(fernet_key)
+
+if path.exists('nasa_config.json'):
+    with open('nasa_config.json', 'r') as f:
+        config = json.load(f)
+    with open('nasa_config.crypt', 'wb') as f:
+        f.write(fernet.encrypt(json.dumps(config).encode()))
+else:
+    with open('nasa_config.crypt', 'rb') as f:
+        config = json.loads(fernet.decrypt(f.read()).decode())
+
+args = ['2020', '05']
+# args = []
+if len(args) >= 2:
+    config['selected_year'] = args[0]
+    config['selected_month'] = args[1]
+else:
+    curr_date = date.today() - relativedelta(months=+1)
+    config['selected_year'] = curr_date.strftime('%Y')
+    config['selected_month'] = curr_date.strftime('%m')
+
+
+select_befehl_auftraege = "SELECT * FROM [Auftraege_NASA_gruppiert] WHERE Periode = '" + \
+                          config['selected_year'] + config['selected_month'] + "'"
+select_befehl_mitarbeiter = "SELECT * FROM [Mitarbeiter_NASA] WHERE Periode = '" + \
+                            config['selected_year'] + "-" + config['selected_month'] + "'"
+source_auftraege = 'nasa/Auftraege_NASA_gruppiert.csv'
+source_mitarbeiter = 'nasa/Mitarbeiter_NASA.csv'
+
+
+header = {
+    'HaendlerNr': config['client_id'],
+    'Filiale': "1",
+    'Jahr': config['selected_year'],
+    'Monat': config['selected_month'],
+    'Fabrikat': 'Mazda',
+    'AnzahlMitarbeiter': '0',
+    'AnzahlProduktiv': '0.0',
+    'WerkstattDurchlaeufe': '0',
+    'Token': config['credentials']['token']
+}
+
+
+def conn_string(dsn):
+    return f"mssql+pyodbc://{dsn['user']}:{dsn['pass']}@{dsn['server']}/{dsn['database']}?driver=SQL+Server+Native+Client+11.0"
+
+
+# Datenbankverbindung
+source_db = create_engine(conn_string(config['source_dsn']))
+
+# Abfrage in Array speichern
+df = pd.read_sql(select_befehl_auftraege, con=source_db)
+# df = pd.read_csv(source_auftraege, sep=";", encoding="latin-1", decimal=",")
+df.to_csv("mazda/export/" + config['selected_year'] + "-" + config['selected_month'] + "_auftraege.csv",
+          sep=";", encoding="latin-1", decimal=",", index=False)
+
+# Array in gewünschtes Format bringen
+auftragsart = ["Inspektion", "Karosseriearbeit", "Lackierung", "Verschleißteile", "Sonstiges"]
+columns = ["AuftragsArt", "AuftragsArtId", "TeileUmsatz", "LohnUmsatz", "SonstigeUmsatz", "GesamtUmsatz", "AnzahlAuftraege"]
+
+df = df[columns]
+header['WerkstattDurchlaeufe'] = df['AnzahlAuftraege'].sum()
+header['AfterSalesPositionen'] = df.to_dict("records")
+
+# Mitarbeiter gesamt und produktiv
+df = pd.read_sql(select_befehl_mitarbeiter, con=source_db)
+# df = pd.read_csv(source_mitarbeiter, sep=";", encoding="latin-1", decimal=",")
+
+df.to_csv("mazda/export/" + config['selected_year'] + "-" + config['selected_month'] + '_mitarbeiter.csv',
+          sep=';', encoding='latin-1', decimal=',', index=False)
+
+header['AnzahlMitarbeiter'] = df.shape[0]
+header['AnzahlProduktiv'] = df['Prod'].sum()
+
+# SOAP-Verbindung
+client = Client(config['service_url'], username=config['credentials']['username'], password=config['credentials']['password'])
+
+try:
+    result = client.service.MeldeAfterSalesDaten(header)
+except Exception as e:
+    print(e)
+    result = -1
+
+# Erfolg/Fehler protokollieren
+
+print('Periode: ' + config['selected_year'] + "-" + config['selected_month'])
+if len(header['AfterSalesPositionen']) == result:
+    print('Erfolgreich ' + str(result) + ' Datensätze übertragen')
+else:
+    print('Übertragung der Datensätze Fehlgeschlagen.')
+    if result == -1:
+        print('Fehler! Es waren keine Datensätze vorhanden.')
+    else:
+        print(str(len(header['AfterSalesPositionen']) - result) + ' Datensätze nicht verarbeitet')

+ 33 - 0
nasa_upload.spec

@@ -0,0 +1,33 @@
+# -*- mode: python ; coding: utf-8 -*-
+
+block_cipher = None
+
+
+a = Analysis(['nasa-upload.py'],
+             pathex=['D:\\Projekte\\Python'],
+             binaries=[],
+             datas=[],
+             hiddenimports=[],
+             hookspath=[],
+             runtime_hooks=[],
+             excludes=[],
+             win_no_prefer_redirects=False,
+             win_private_assemblies=False,
+             cipher=block_cipher,
+             noarchive=False)
+pyz = PYZ(a.pure, a.zipped_data,
+             cipher=block_cipher)
+exe = EXE(pyz,
+          a.scripts,
+          a.binaries,
+          a.zipfiles,
+          a.datas,
+          [],
+          name='nasa-upload',
+          debug=False,
+          bootloader_ignore_signals=False,
+          strip=False,
+          upx=True,
+          upx_exclude=[],
+          runtime_tmpdir=None,
+          console=True )

+ 439 - 0
queries/test.sql

@@ -0,0 +1,439 @@
+SELECT T3."Auftragsnr_",
+CASE
+WHEN T3."Art" = 1 THEN T3."Menge"
+ELSE 0
+END,
+CASE
+WHEN T3."Nr_" NOT like 'HU-K%'
+AND T3."Produktbuchungsgruppe" NOT IN ('W_DP')
+AND T3."Nr_" NOT IN ('E002540') THEN T3."Menge (Stunde)"
+ELSE 0
+END,
+CASE
+WHEN T3."Produktbuchungsgruppe" NOT IN (
+'W_KARO',
+'W_MECH',
+'W_LACK',
+'W_KARO_AZK',
+'W_LACK_AZE',
+'W_ELEK',
+'W_ELEK_NL',
+'W_KARO_NL',
+'W_LACK_NL',
+'W_MECH_NL',
+'W_SATT'
+)
+AND T3."Produktbuchungsgruppe" NOT like 'T\_%' escape '\' or T3."Nr_" = ' E002540 ' THEN CASE WHEN case WHEN(T3."Geschäftsbuchungsgruppe"IN (' C_INTERN ',' INTERN ',' P_INTERN ')) THEN ' Intern '
+                                                                                                                                                                                                                                                                                                                WHEN(T3."Geschäftsbuchungsgruppe"IN (' GAR_NST ',' GAR_STB ')) THEN ' GWL '
+                                                                                                                                                                                                                                                                                                                                                                                ELSE ' Extern '
+                                                                                                                                                                                                                                                                                                            END = ' Intern ' THEN T3."Verrechnungsbetrag"
+                                                                                                                                                                                                                                                                                                                            ELSE CASE WHEN T3."Offen" = 0 THEN T3."Verkaufsbetrag" * -1
+                                                                                                                                                                                                                                                                                                                                                            ELSE T3."Verkaufsbetrag"
+                                                                                                                                                                                                                                                                                                                                    END
+                                                                                                                                                                                                                                                                                                    END
+                                                                                                                                                                                                                                                                                                                                                            ELSE 0
+                                    END , CASE WHEN case WHEN T3."Produktbuchungsgruppe" like ' T \ _ % ' escape ' \ ' THEN T3."Einstandsbetrag"
+                                                                                                                        ELSE 0
+                                                    END = 0 AND CASE WHEN(T3."Produktbuchungsgruppe"IN (' W_KARO ',' W_MECH ',' W_LACK ',' W_KARO_AZK ',' W_LACK_AZE ',' W_ELEK ',' W_ELEK_NL ',' W_KARO_NL ',' W_LACK_NL ',' W_MECH_NL ',' W_SATT ')
+                                                                                AND T3."Nr_" <> ' E002540 ') THEN CASE WHEN(case WHEN(T3."Geschäftsbuchungsgruppe"IN (' C_INTERN ',' INTERN ',' P_INTERN ')) THEN ' Intern '
+                                                                                                                                WHEN(T3."Geschäftsbuchungsgruppe"IN (' GAR_NST ',' GAR_STB ')) THEN ' GWL '
+                                                                                                                                                                                                ELSE ' Extern '
+                                                                                                                            END = ' Intern ') THEN T3."Verrechnungsbetrag"
+                                                                                                                                            ELSE CASE WHEN(T3."Offen" = 0) THEN T3."Verkaufsbetrag" * -1
+                                                                                                                                                                            ELSE T3."Verkaufsbetrag"
+                                                                                                                                                END
+                                                                                                                END
+                                                                                                                                                                            ELSE 0
+                                                                END = 0 AND CASE WHEN(T3."Produktbuchungsgruppe" like ' T \ _ % ' escape ' \ '
+                                                                                            AND T3."Nr_" <> ' E002540 ') THEN CASE WHEN(case WHEN(T3."Geschäftsbuchungsgruppe"IN (' C_INTERN ',' INTERN ',' P_INTERN ')) THEN ' Intern '
+                                                                                                                                            WHEN(T3."Geschäftsbuchungsgruppe"IN (' GAR_NST ',' GAR_STB ')) THEN ' GWL '
+                                                                                                                                                                                                            ELSE ' Extern '
+                                                                                                                                        END = ' Intern ') THEN T3."Verrechnungsbetrag"
+                                                                                                                                                        ELSE CASE WHEN(T3."Offen" = 0) THEN T3."Verkaufsbetrag" * -1
+                                                                                                                                                                                        ELSE T3."Verkaufsbetrag"
+                                                                                                                                                            END
+                                                                                                                            END
+                                                                                                                                                                                        ELSE 0
+                                                                            END <> 0 THEN T3."Menge" * T8."Einstandspreis"
+                                                                                    ELSE CASE WHEN T3."Produktbuchungsgruppe" like ' T \ _ % ' escape ' \ ' THEN T3."Einstandsbetrag"
+                                                                                                                                                            ELSE 0
+                                                                                            END
+                                            END , CASE WHEN T3."Produktbuchungsgruppe" like ' T \ _ % ' escape ' \ ' AND T3."Nr_" <> ' E002540 ' THEN CASE WHEN case WHEN(T3."Geschäftsbuchungsgruppe"IN (' C_INTERN ',' INTERN ',' P_INTERN ')) THEN ' Intern '
+                                                                                                                                                                    WHEN(T3."Geschäftsbuchungsgruppe"IN (' GAR_NST ',' GAR_STB ')) THEN ' GWL '
+                                                                                                                                                                                                                                    ELSE ' Extern '
+                                                                                                                                                                END = ' Intern ' THEN T3."Verrechnungsbetrag"
+                                                                                                                                                                                ELSE CASE WHEN T3."Offen" = 0 THEN T3."Verkaufsbetrag" * -1
+                                                                                                                                                                                                            ELSE T3."Verkaufsbetrag"
+                                                                                                                                                                                    END
+                                                                                                                                                    END
+                                                                                                                                                                                                            ELSE 0
+                                                END , CASE WHEN T3."Produktbuchungsgruppe" IN (' W_KARO ',' W_MECH ',' W_LACK ',' W_KARO_AZK ',' W_LACK_AZE ',' W_ELEK ',' W_ELEK_NL ',' W_KARO_NL ',' W_LACK_NL ',' W_MECH_NL ',' W_SATT ') AND T3."Nr_" <> ' E002540 ' THEN CASE WHEN case WHEN(T3."Geschäftsbuchungsgruppe"IN (' C_INTERN ',' INTERN ',' P_INTERN ')) THEN ' Intern '
+                                                                                                                                                                                                                                                                                            WHEN(T3."Geschäftsbuchungsgruppe"IN (' GAR_NST ',' GAR_STB ')) THEN ' GWL '
+                                                                                                                                                                                                                                                                                                                                                            ELSE ' Extern '
+                                                                                                                                                                                                                                                                                        END = ' Intern ' THEN T3."Verrechnungsbetrag"
+                                                                                                                                                                                                                                                                                                        ELSE CASE WHEN T3."Offen" = 0 THEN T3."Verkaufsbetrag" * -1
+                                                                                                                                                                                                                                                                                                                                        ELSE T3."Verkaufsbetrag"
+                                                                                                                                                                                                                                                                                                                END
+                                                                                                                                                                                                                                                                                END
+                                                                                                                                                                                                                                                                                                                                        ELSE 0
+                                                        END , CASE WHEN case WHEN(T3."Produktbuchungsgruppe" like ' T \ _ % ' escape ' \ '
+                                                                                    AND T3."Nr_" <> ' E002540 ') THEN CASE WHEN(case WHEN(T3."Geschäftsbuchungsgruppe"IN (' C_INTERN ',' INTERN ',' P_INTERN ')) THEN ' Intern '
+                                                                                                                                    WHEN(T3."Geschäftsbuchungsgruppe"IN (' GAR_NST ',' GAR_STB ')) THEN ' GWL '
+                                                                                                                                                                                                    ELSE ' Extern '
+                                                                                                                                END = ' Intern ') THEN T3."Verrechnungsbetrag"
+                                                                                                                                                    ELSE CASE WHEN(T3."Offen" = 0) THEN T3."Verkaufsbetrag" * -1
+                                                                                                                                                                                ELSE T3."Verkaufsbetrag"
+                                                                                                                                                        END
+                                                                                                                        END
+                                                                                                                                                                                ELSE 0
+                                                                        END - CASE WHEN(case WHEN T3."Produktbuchungsgruppe" like ' T \ _ % ' escape ' \ ' THEN T3."Einstandsbetrag"
+                                                                                                                                                        ELSE 0
+                                                                                        END = 0
+                                                                                            AND CASE WHEN(T3."Produktbuchungsgruppe"IN (' W_KARO ',' W_MECH ',' W_LACK ',' W_KARO_AZK ',' W_LACK_AZE ',' W_ELEK ',' W_ELEK_NL ',' W_KARO_NL ',' W_LACK_NL ',' W_MECH_NL ',' W_SATT ')
+                                                                                                            AND T3."Nr_" <> ' E002540 ') THEN CASE WHEN(case WHEN(T3."Geschäftsbuchungsgruppe"IN (' C_INTERN ',' INTERN ',' P_INTERN ')) THEN ' Intern '
+                                                                                                                                                            WHEN(T3."Geschäftsbuchungsgruppe"IN (' GAR_NST ',' GAR_STB ')) THEN ' GWL '
+                                                                                                                                                                                                                            ELSE ' Extern '
+                                                                                                                                                        END = ' Intern ') THEN T3."Verrechnungsbetrag"
+                                                                                                                                                                            ELSE CASE WHEN(T3."Offen" = 0) THEN T3."Verkaufsbetrag" * -1
+                                                                                                                                                                                                        ELSE T3."Verkaufsbetrag"
+                                                                                                                                                                                END
+                                                                                                                                                END
+                                                                                                                                                                                                        ELSE 0
+                                                                                                END = 0
+                                                                                            AND CASE WHEN(T3."Produktbuchungsgruppe" like ' T \ _ % ' escape ' \ '
+                                                                                                            AND T3."Nr_" <> ' E002540 ') THEN CASE WHEN(case WHEN(T3."Geschäftsbuchungsgruppe"IN (' C_INTERN ',' INTERN ',' P_INTERN ')) THEN ' Intern '
+                                                                                                                                                            WHEN(T3."Geschäftsbuchungsgruppe"IN (' GAR_NST ',' GAR_STB ')) THEN ' GWL '
+                                                                                                                                                                                                                            ELSE ' Extern '
+                                                                                                                                                        END = ' Intern ') THEN T3."Verrechnungsbetrag"
+                                                                                                                                                                            ELSE CASE WHEN(T3."Offen" = 0) THEN T3."Verkaufsbetrag" * -1
+                                                                                                                                                                                                        ELSE T3."Verkaufsbetrag"
+                                                                                                                                                                                END
+                                                                                                                                                END
+                                                                                                                                                                                                        ELSE 0
+                                                                                                END <> 0) THEN T3."Menge" * T8."Einstandspreis"
+                                                                                                        ELSE CASE WHEN T3."Produktbuchungsgruppe" like ' T \ _ % ' escape ' \ ' THEN T3."Einstandsbetrag"
+                                                                                                                                                                                ELSE 0
+                                                                                                            END
+                                                                            END < 0 THEN ' VK < EK '
+                                                                                    ELSE ' VK > EK '
+                                                            END , CASE WHEN T3."Produktbuchungsgruppe" like ' % LOHN % ' THEN T3."Produktbuchungsgruppe"
+                                                                                                                        ELSE NULL
+                                                                    END ,
+T8."Nr_"
+,
+T8."GMPD Code" + T8."GMPD Subcode"
+,
+T8."GMPD Subcode"
+,
+T8."GMPD Code"
+,
+T7."Erstzulassung"
+, CASE WHEN T1."Buchungsdatum" is null THEN T2."Buchungsdatum"
+ELSE T1."Buchungsdatum"
+END ,
+T6."PLZ Code"
+,
+substring(T6."PLZ Code",1,4) ,
+substring(T6."PLZ Code",1,3) ,
+substring(T6."PLZ Code",1,2) ,
+substring(T6."PLZ Code",1,1) , CASE WHEN T10."Ländercode" is null or T10."Ländercode" = ' ' or T10."Ländercode" IN (' D ',' DE ') THEN ' Deutschland '
+                                        ELSE ' Ausland '
+END ,
+T6."Ländercode"
+,
+T6."Nr_" + ' - ' + T6."Name"
+,
+T3."Geschäftsbuchungsgruppe"
+,
+substring(upper(T7."Modell") ,1,3) ,
+T3."Markencode"
+, CASE WHEN T3."Markencode" IN (' OPEL ',' VW ') THEN T3."Markencode"
+ELSE ' Fremdfabrikat '
+END ,
+T3."Kostenstellencode" + ' - ' + T9."Name"
+,
+getdate() , CASE WHEN T1."Nr_" is null THEN T2."Nr_"
+ELSE T1."Nr_"
+END + ' - ' + CASE WHEN NOT T5."Nachname" is null or T5."Nachname" <> '' THEN T3."Serviceberaternr_" + ' - ' + T5."Vorname" + ' ' + T5."Nachname"
+ELSE ' SB fehlt '
+END + ' - ' + T6."Nr_" + ' - ' + T6."Name" , CASE WHEN T1."Nr_" is null THEN T2."Nr_"
+        ELSE T1."Nr_"
+END + ' - ' + T6."Name" , CASE WHEN T3."Geschäftsbuchungsgruppe" IN (' C_INTERN ',' INTERN ',' P_INTERN ') THEN ' Intern '
+            WHEN T3."Geschäftsbuchungsgruppe" IN (' GAR_NST ',' GAR_STB ') THEN ' GWL '
+                                                                            ELSE ' Extern '
+        END , CASE WHEN NOT T5."Nachname" is null or T5."Nachname" <> '' THEN T3."Serviceberaternr_" + ' - ' + T5."Vorname" + ' ' + T5."Nachname"
+                                                                        ELSE ' SB fehlt '
+            END , CASE WHEN T1."Filialcode" is null THEN T2."Filialcode"
+                                                    ELSE T1."Filialcode"
+                    END , CASE WHEN T5."Funktion" IN (' Service Berater ',' Serviceberater ',' Serviceverater ') THEN ' Serviceberater '
+                                                                                                                ELSE ' sonstige MA '
+                        END ,
+T5."Funktion"
+,
+T3."Herkunftsnr_(Zahlung)"
+,
+T1."Rech_ an Name"
+,
+T1."Rech_ an Deb_-Nr_"
+, CASE WHEN T1."Auftragsdatum" is null THEN T2."Auftragsdatum"
+ELSE T1."Auftragsdatum"
+END , CASE WHEN T1."Nr_" is null THEN T2."Nr_"
+ELSE T1."Nr_"
+END + ' - ' + T6."Name" + ' - ' + CASE WHEN NOT T5."Nachname" is null or T5."Nachname" <> '' THEN T3."Serviceberaternr_" + ' - ' + T5."Vorname" + ' ' + T5."Nachname"
+            ELSE ' SB fehlt '
+END + ' - ' ,
+datepart(weekday,getdate()) ,
+T8."Einstandspreis (durchschn_)"
+,
+T8."EK-Preis (neuester)"
+,
+T8."Einstandspreis"
+,
+T8."VK-Preis"
+,
+T8."Basiseinheitencode"
+,
+T8."Beschreibung"
+,
+T3."Verrechnungsbetrag"
+, CASE WHEN(T3."Produktbuchungsgruppe" like ' T \ _ % ' escape ' \ '
+AND T3."Nr_" <> ' E002540 ') THEN CASE WHEN(case WHEN(T3."Geschäftsbuchungsgruppe"IN (' C_INTERN ',' INTERN ',' P_INTERN ')) THEN ' Intern '
+WHEN(T3."Geschäftsbuchungsgruppe"IN (' GAR_NST ',' GAR_STB ')) THEN ' GWL '
+                                    ELSE ' Extern '
+END = ' Intern ') THEN T3."Verrechnungsbetrag"
+ELSE CASE WHEN(T3."Offen" = 0) THEN T3."Verkaufsbetrag" * -1
+                    ELSE T3."Verkaufsbetrag"
+END
+END
+                    ELSE 0
+END - CASE WHEN(case WHEN T3."Produktbuchungsgruppe" like ' T \ _ % ' escape ' \ ' THEN T3."Einstandsbetrag"
+ELSE 0
+END = 0
+AND CASE WHEN(T3."Produktbuchungsgruppe"IN (' W_KARO ',' W_MECH ',' W_LACK ',' W_KARO_AZK ',' W_LACK_AZE ',' W_ELEK ',' W_ELEK_NL ',' W_KARO_NL ',' W_LACK_NL ',' W_MECH_NL ',' W_SATT ')
+AND T3."Nr_" <> ' E002540 ') THEN CASE WHEN(case WHEN(T3."Geschäftsbuchungsgruppe"IN (' C_INTERN ',' INTERN ',' P_INTERN ')) THEN ' Intern '
+WHEN(T3."Geschäftsbuchungsgruppe"IN (' GAR_NST ',' GAR_STB ')) THEN ' GWL '
+                                                            ELSE ' Extern '
+END = ' Intern ') THEN T3."Verrechnungsbetrag"
+            ELSE CASE WHEN(T3."Offen" = 0) THEN T3."Verkaufsbetrag" * -1
+                                            ELSE T3."Verkaufsbetrag"
+                END
+END
+                                            ELSE 0
+END = 0
+AND CASE WHEN(T3."Produktbuchungsgruppe" like ' T \ _ % ' escape ' \ '
+AND T3."Nr_" <> ' E002540 ') THEN CASE WHEN(case WHEN(T3."Geschäftsbuchungsgruppe"IN (' C_INTERN ',' INTERN ',' P_INTERN ')) THEN ' Intern '
+WHEN(T3."Geschäftsbuchungsgruppe"IN (' GAR_NST ',' GAR_STB ')) THEN ' GWL '
+                                                            ELSE ' Extern '
+END = ' Intern ') THEN T3."Verrechnungsbetrag"
+            ELSE CASE WHEN(T3."Offen" = 0) THEN T3."Verkaufsbetrag" * -1
+                                            ELSE T3."Verkaufsbetrag"
+                END
+END
+                                            ELSE 0
+END <> 0) THEN T3."Menge" * T8."Einstandspreis"
+ELSE CASE WHEN T3."Produktbuchungsgruppe" like ' T \ _ % ' escape ' \ ' THEN T3."Einstandsbetrag"
+                ELSE 0
+END
+END ,
+T3."Kundengruppencode"
+,
+T1."Archivierungsdatum"
+, CASE WHEN T3."Menge pro Stunde" <> 0 THEN convert(float(53) ,(T3."AW Mont_ 1" + T3."AW Mont_ 2")) / T3."Menge pro Stunde"
+ELSE T3."AW Mont_ 1" + T3."AW Mont_ 2"
+END , CASE WHEN T3."Menge pro Stunde" <> 0 AND CASE WHEN(T3."Nr_" NOT like ' HU - K % '
+AND T3."Produktbuchungsgruppe" NOT IN (' W_DP ')
+AND T3."Nr_" NOT IN (' E002540 ')) THEN T3."Menge (Stunde)"
+        ELSE 0
+END >= 0 AND T3."Nr_" NOT like ' HU - K % ' THEN convert(float(53) ,T3."Vorgabezeit") / T3."Menge pro Stunde"
+WHEN T3."Menge pro Stunde" <> 0 AND CASE WHEN(T3."Nr_" NOT like ' HU - K % '
+AND T3."Produktbuchungsgruppe" NOT IN (' W_DP ')
+AND T3."Nr_" NOT IN (' E002540 ')) THEN T3."Menge (Stunde)"
+        ELSE 0
+END < 0 AND T3."Nr_" NOT like ' HU - K % ' THEN(convert(float(53) ,T3."Vorgabezeit") / T3."Menge pro Stunde") * -1
+ELSE T3."Vorgabezeit"
+END ,
+T3."AW Mont_ 2"
+,
+T3."AW Mont_ 1"
+,
+T3."Vorgabezeitart"
+,
+T3."Vorgabezeit"
+,
+T3."Menge (Stunde)"
+,
+T3."Menge pro Stunde"
+, CASE WHEN T3."Produktbuchungsgruppe" NOT IN (' W_KARO ',' W_MECH ',' W_LACK ',' W_KARO_AZK ',' W_LACK_AZE ') AND T3."Produktbuchungsgruppe" NOT like ' T \ _ % ' escape ' \ ' or T3."Nr_" = ' E002540 ' THEN T3."Einstandsbetrag"
+                                                                                                                ELSE 0
+END , CASE WHEN T3."Produktbuchungsgruppe" like ' T \ _ % ' escape ' \ ' THEN T3."Einstandsbetrag"
+ELSE 0
+END , CASE WHEN case WHEN(T3."Geschäftsbuchungsgruppe"IN (' C_INTERN ',' INTERN ',' P_INTERN ')) THEN ' Intern '
+WHEN(T3."Geschäftsbuchungsgruppe"IN (' GAR_NST ',' GAR_STB ')) THEN ' GWL '
+ELSE ' Extern '
+END = ' Intern ' THEN T3."Verrechnungsbetrag"
+ELSE CASE WHEN T3."Offen" = 0 THEN T3."Verkaufsbetrag" * -1
+ELSE T3."Verkaufsbetrag"
+END
+END , CASE WHEN T3."Kostenstellencode" like ' 1 % ' THEN ' 1 '
+WHEN T3."Kostenstellencode" like ' 2 % ' THEN ' 2 '
+WHEN T3."Kostenstellencode" IN (' 30 ',' 31 ',' 60 ') THEN ' 6 '
+WHEN T3."Kostenstellencode" IN (' 40 ',' 62 ') THEN ' 3 '
+WHEN T3."Kostenstellencode" = ' 41 ' THEN ' 4 '
+WHEN T3."Kostenstellencode" = ' 42 ' THEN ' 5 '
+WHEN T3."Kostenstellencode" like ' 7 % ' THEN ' 7 '
+WHEN T3."Kostenstellencode" like ' 9 % ' THEN ' 0 '
+ELSE NULL
+END ,
+T3."Fahrgestellnummer" + ' - ' + T7."Modell"
+,
+T7."Modell"
+,
+T6."Name"
+,
+T6."Nr_"
+, CASE WHEN T3."Herkunftsnr_" like ' % INT % ' or CASE WHEN T1."Verk_ an Deb_-Nr_" is null THEN T2."Verk_ an Deb_-Nr_"
+ELSE T1."Verk_ an Deb_-Nr_"
+END like ' % INT % ' or CASE WHEN T1."Rech_ an Deb_-Nr_" is null THEN T2."Rech_ an Deb_-Nr_"
+                        ELSE T1."Rech_ an Deb_-Nr_"
+END like ' % INT % ' THEN ' Intern '
+WHEN T3."Belegtyp" = 2 AND(T3."Herkunftsnr_" NOT like ' % INT % ' orCASE WHEN T1."Verk_ an Deb_-Nr_" is null THEN T2."Verk_ an Deb_-Nr_"
+                        ELSE T1."Verk_ an Deb_-Nr_"
+END NOT like ' % INT % ' or CASE WHEN T1."Rech_ an Deb_-Nr_" is null THEN T2."Rech_ an Deb_-Nr_"
+                                                    ELSE T1."Rech_ an Deb_-Nr_"
+            END NOT like ' % INT % ') THEN ' Extern '
+WHEN T3."Belegtyp" = 3 AND(T3."Herkunftsnr_" NOT like ' % INT % ' orCASE WHEN T1."Verk_ an Deb_-Nr_" is null THEN T2."Verk_ an Deb_-Nr_"
+                        ELSE T1."Verk_ an Deb_-Nr_"
+END NOT like ' % INT % ' or CASE WHEN T1."Rech_ an Deb_-Nr_" is null THEN T2."Rech_ an Deb_-Nr_"
+                                                    ELSE T1."Rech_ an Deb_-Nr_"
+            END NOT like ' % INT % ') THEN ' GWL '
+                                        ELSE NULL
+END , CASE WHEN T1."Rech_ an Deb_-Nr_" is null THEN T2."Rech_ an Deb_-Nr_"
+ELSE T1."Rech_ an Deb_-Nr_"
+END , CASE WHEN T3."Offen" = 0 THEN T3."Verkaufsbetrag" * -1
+ELSE T3."Verkaufsbetrag"
+END ,
+T3."Einstandsbetrag"
+,
+T3."Menge"
+,
+T5."Nachname"
+,
+T5."Vorname"
+, CASE WHEN ' 1 ' = ' 2 ' THEN ' 20 '
+ELSE CASE WHEN T1."Filialcode" is null THEN T2."Filialcode"
+ELSE T1."Filialcode"
+END
+END ,
+T4."Bezeichnung"
+,
+T4."Code"
+,
+T3."Monteur Nr_ 2"
+,
+T3."Monteur Nr_ 1"
+,
+T3."Serviceberaternr_"
+,
+T3."Auftragszeilennr_"
+,
+T3."Herkunftsnr_"
+,
+T3."Fahrzeugartencode"
+,
+T3."Artikelgruppencode"
+,
+T3."Fahrgestellnummer"
+,
+T3."Nummernserie"
+,
+T3."Belegdatum"
+,
+T3."Produktbuchungsgruppe"
+,
+T3."Herkunftscode"
+,
+T3."Benutzer ID"
+,
+T3."Kostenstellencode"
+,
+T3."Werkstattbuchungsgruppe"
+,
+T3."Verkaufsbetrag"
+,
+T3."VK-Preis"
+,
+T3."Einstandspreis"
+,
+T3."EK-Preis"
+,
+T3."Beschreibung"
+,
+T3."Nr_"
+,
+T3."Art"
+,
+T3."Belegnr_"
+, CASE WHEN T1."Verk_ an Deb_-Nr_" is null THEN T2."Verk_ an Deb_-Nr_"
+ELSE T1."Verk_ an Deb_-Nr_"
+END , CASE WHEN T1."Nr_" is null THEN T2."Nr_"
+ELSE T1."Nr_"
+END , CASE WHEN T1."Belegart" is null THEN T2."Belegart"
+ELSE T1."Belegart"
+END ,
+T1."Interne Belegnr_"
+,
+T1."Interner Auftrag"
+,
+T1."Filialcode"
+,
+T1."Buchungsdatum"
+,
+T1."Auftragsdatum"
+,
+T1."Verk_ an Deb_-Nr_"
+,
+T1."Nr_"
+,
+T1."Belegart"
+FROM((((((((("CARLO"."import"."Werkstattposten" T3 FULL OUTER JOIN
+"CARLO"."import"."Archiv_Werkstattkopf" T1 ON T3."Auftragsnr_" = T1."Nr_"
+AND T3."Client_DB" = T1."Client_DB") FULL OUTER JOIN
+"CARLO"."import"."Werkstattkopf" T2 ON T2."Nr_" = T3."Auftragsnr_"
+AND T2."Client_DB" = T3."Client_DB") LEFT OUTER JOIN
+"CARLO"."import"."Filialbezeichnung" T4 ON T3."Filialcode" = T4."Code"
+AND T3."Client_DB" = T4."Client_DB") LEFT OUTER JOIN
+"CARLO"."import"."Employee" T5 ON T3."Serviceberaternr_" = T5."Nr_"
+AND T3."Client_DB" = T5."Client_DB") LEFT OUTER JOIN
+"CARLO"."import"."Debitor" T6 ON T3."Herkunftsnr_" = T6."Nr_"
+AND T3."Client_DB" = T6."Client_DB") LEFT OUTER JOIN
+"CARLO"."import"."Fahrzeug" T7 ON T3."Fahrgestellnummer" = T7."Fahrgestellnummer"
+AND T3."Client_DB" = T7."Client_DB") LEFT OUTER JOIN
+"CARLO"."import"."Artikel" T8 ON T3."Nr_" = T8."Nr_"
+AND T3."Client_DB" = T8."Client_DB") LEFT OUTER JOIN
+"CARLO"."import"."Kostenstelle" T9 ON T3."Kostenstellencode" = T9."Code"
+AND T3."Client_DB" = T9."Client_DB") FULL OUTER JOIN
+"CARLO"."import"."Verkaufsrechnungskopf" T11 ON T11."Nr_" = T3."Belegnr_"
+AND T11."Client_DB" = T3."Client_DB") LEFT OUTER JOIN
+"CARLO"."import"."Debitor" T10 ON T11."Verk_ an Deb_-Nr_" = T10."Nr_" AND T11."Client_DB" = T10."Client_DB"
+WHERE CASE WHEN(T3."Geschäftsbuchungsgruppe"IN (' C_INTERN ',' INTERN ',' P_INTERN ')) THEN ' Intern '
+WHEN(T3."Geschäftsbuchungsgruppe"IN (' GAR_NST ',' GAR_STB ')) THEN ' GWL '
+else ' Extern '
+end = ' Intern ' AND(T3."Art" <> 2
+AND T3."Belegnr_" NOT like ' G % '
+AND T3."Abgeschlossen" = 1
+AND T3."Nummernserie" <> ''
+AND T3."Offen" = 0
+AND(T3."Belegnr_" like ' WVRG % ' or T3."Belegnr_" like ' WSGG % ')
+AND T3."Nummernserie" <> ' WSLIEFG ' or T3."Art" <> 2
+AND T3."Belegnr_" NOT like ' G % '
+AND T3."Abgeschlossen" = 1
+AND T3."Nummernserie" <> ''
+AND T3."Offen" = 1
+AND(T3."Belegnr_" like ' WVLG % ' or T3."Belegnr_" like ' WVGL % ') or T3."Art" <> 2
+AND T3."Belegnr_" NOT like ' G % '
+AND T3."Abgeschlossen" = 1
+AND T3."Offen" = 1
+AND T3."Belegnr_" like ' WVAN % ') AND CASE WHEN T1."Buchungsdatum" is null THEN T2."Buchungsdatum"
+else T1."Buchungsdatum"
+end >= {ts ' 2018 -01 -01 00 :00 :00.000 '}
+ORDER BY 1 asc