9.9 KiB
Finance Sitzungspunkte Andreas
Stand: 2026-06-02
Zweck: Kompakte Zusammenfassung der letzten Finance-/Andreas-Punkte und was davon bereits umgesetzt bzw. noch offen ist.
Kurzfazit
- Das Finance Dashboard bleibt technisch produktiv nutzbar.
- Fuehrende Sicht fuer Soll/Ist bleibt
Finance Summary. Management Analysebleibt Diagnose: Laender, IC/2nd-party, Rohdaten, Abweichungen, Spartenanalyse.- IC wird nicht automatisch aus dem Standard-Ist entfernt.
- Budgetkurse 2026 sind im Programm und auf dem Server eingespielt.
- Spanien-Sage-Serverexport kann jetzt Full oder Range exportieren.
Letzte Sitzungspunkte
| Thema | Punkt von Andreas / Finance | Stand |
|---|---|---|
| Intercompany | Pro Land klaeren, ob IC bereits in Quelle/Sollwert herausgerechnet ist. | Teilweise geklaert: FR, IN, US passen ohne IC-Abgrenzung; IT braucht Sonderabgrenzung; DE, UK, CH, AT bleiben offen. |
| Spanien Sollwert | ES hat keine echte Ist-Abweichung; alter Sollwert war falsch. | Fachlich dokumentiert: ES-Ist und korrigierter Sollwert 3'082'320.18 EUR. |
| Spanien Export | Nicht jedes Mal Volljahr exportieren, wenn bereits Basisexport vorhanden ist. | Sage-Server-Script unterstuetzt jetzt -ExportMode Full und -ExportMode Range. |
| Wechselkurse | Offizieller Kurstyp und Kursdatum klaeren. | Budgetkurse 2026 wurden als Budgetkurse eingetragen. Kursdatum bleibt in Settings konfigurierbar. |
| Spartenanalyse | >90% nicht zugeordnet ist fachlich unplausibel. | Aktuelle Daten zeigen: Spartenfelder sind fast nur bei CH und teilweise AT gefuellt. Viele Laender haben keine Produktspartenfelder in CentralSalesRecords; deshalb ist es ein Mapping-/Referenzproblem, nicht fachlich "nur 10% Umsatz mit Sparte". |
| DE | Welche Kundenlaender / Filter gehoeren offiziell zum deutschen Ist? | Offen. Nicht einfach IC abziehen; Hauptfrage sind Kundenlaender/Filter. |
| UK | Sage-Differenz klaeren. | Offen: Exportvollstaendigkeit, Discounts, Freight/Charges und 2nd-party/IC pruefen. |
| IT | Neue IT-Abgrenzung pruefen. | IT ist Sonderfall: Trafag Italia aus externem IT-Ist ausschliessen; doppelte Einzelpositionen mit leerem Supplier country nur einmal zaehlen. |
| CH / AT | FKDAT als Perioden-/Buchungsdatum bestaetigen. |
Offen. |
| Kosten | Entscheiden, ob Kosten/Marge Teil des Dashboards werden. | Offen; weiterhin nicht in Umsatzfreigabe mischen. |
IC-Stand je Land
| Land | Aussage | Filter / Abgrenzung |
|---|---|---|
| FR | Ohne IC-Abgrenzung stimmt der Soll/Ist-Vergleich. | IC-Filter ignorieren; B1 Positions-Netto verwenden. |
| IN | Ohne IC-Abgrenzung stimmt der Soll/Ist-Vergleich. | IC-Filter ignorieren; INR-Hauswaehrung verwenden. |
| US | Ohne IC-Abgrenzung stimmt der Soll/Ist-Vergleich. | IC-Filter ignorieren; B1 Positions-Netto verwenden. |
| IT | Ohne Abgrenzung stimmt es nicht sauber. | IT-Sonderabgrenzung anwenden: Trafag Italia aus externem Ist ausschliessen; Duplikate mit leerem Supplier country nur einmal zaehlen. |
| ES | IC ist aktuell nicht der relevante Punkt. | Sage ImporteNeto; Credit Notes/REC negativ; korrigierter Sollwert 3'082'320.18 EUR. |
| DE | Nicht final beurteilbar. | Kundenlaender/Kundenfilter offen; nicht einfach IC abziehen. |
| UK | Nicht final beurteilbar. | Sage-Export, Discounts/Freight/Charges und 2nd-party/IC pruefen. |
| CH | Nicht beurteilbar. | Kein Sollwert im Seed. |
| AT | Abweichung vorhanden, Ursache unklar. | IC nicht automatisch abziehen; Filter/Datum weiter pruefen. |
Spanien Sage Server Export
Relevant ist das Paket:
SageSpainFinalExportPackage.zip
Wichtige Datei im Paket:
Export-SageSpainSalesCsv.ps1
Full Export:
.\Export-SageSpainSalesCsv.ps1 -ExportMode Full -Year 2025
Range Export:
.\Export-SageSpainSalesCsv.ps1 -ExportMode Range -FromDate "2025-05-01" -ToDate "2025-06-01"
Range nach Registrierungsdatum:
.\Export-SageSpainSalesCsv.ps1 -ExportMode Range -DateFilter LineRegistrationDate -FromDate "2025-05-01" -ToDate "2025-06-01"
Hinweis:
ToDateist exklusiv.- Wenn der alte Vollbestand bereits vorhanden ist, braucht Spanien fuer Folgeupdates nur noch Range-Dateien fuer den neuen oder korrigierten Zeitraum.
- Das Sage-Script liest nur Daten aus SQL Server und aendert nichts in Sage.
- Unser Importprozess wird danach separat entschieden; der Serverexport ist jetzt nur die Dateierzeugung.
Spartenanalyse / Produktmapping
Warum nur rund 10% Abdeckung?
Die Spartenanalyse zaehlt Umsatz nur als sauber zugeordnet, wenn eine Materialnummer gegen die zentrale TR-AG-/SAP-Referenz gematcht wird und dort eine gueltige Produktsparte vorhanden ist.
Aktueller Befund aus der lokalen Datenbank:
| Kennzahl | Wert |
|---|---|
CentralSalesRecords total |
75'089 |
| Zeilen 2025 nach Invoice/Extraction | 54'682 |
| Zeilen mit Produktsparte-Code | 36'847 |
| Zeilen mit gueltigem Assigned-Flag | 27'047 |
| Zeilen mit gueltiger Produktsparte | 27'047 |
Zeilen UNASS |
9'800 |
| Zeilen ohne Materialnummer | 59 |
Laenderbefund:
| Land | Zeilen | Gueltig zugeordnet | UNASS |
Keine Produktfelder |
|---|---|---|---|---|
| CH | 38'838 |
26'337 |
9'187 |
3'314 |
| AT | 1'454 |
710 |
613 |
131 |
| Italien | 16'850 |
0 |
0 |
16'850 |
| Indien | 5'515 |
0 |
0 |
5'515 |
| Deutschland | 4'548 |
0 |
0 |
4'548 |
| Spanien | 4'341 |
0 |
0 |
4'341 |
| Frankreich | 2'285 |
0 |
0 |
2'285 |
| USA | 1'256 |
0 |
0 |
1'256 |
| England | 2 |
0 |
0 |
2 |
Interpretation:
- Die niedrige Abdeckung ist nicht als fachliche Umsatzverteilung zu lesen.
- Sie zeigt, dass das zentrale Produktmapping aktuell nur fuer CH und teilweise AT in den Daten ankommt.
- Bei IT, IN, DE, ES, FR, US und UK sind die Produktspartenfelder aktuell leer.
- Wahrscheinliche Ursachen: lokale Materialnummern passen nicht direkt zu TR-AG
MATNR, fehlende Referenzdaten inProductDivisionRefSet, Join trifft nicht oder Produktfelder werden bei diesen Laendern nicht befuellt.
Prozessfluss vom Holen bis Anwenden
1. SAP/TR-AG stellt zentrale Produktreferenz bereit
EntitySet: ProductDivisionRefSet
Felder: Matnr, Paph1, Paph1Text, Wwpfa, WwpfaText, Wwpsp, WwpspText, IsAssigned
2. Webprogramm holt beim SAP-Standort zwei Quellen
Z = FinanzdataSchweizOeSet
P = ProductDivisionRefSet
3. Join im Web-Exporter
Z.Matnr = P.Matnr
JoinType = Left
4. Mapping ins interne SalesRecord-Modell
Z.Matnr -> Material
Z.Prodh -> ProductGroup
P.Paph1 -> ProductHierarchyCode
P.Paph1Text -> ProductHierarchyText
P.Wwpfa -> ProductFamilyCode
P.WwpfaText -> ProductFamilyText
P.Wwpsp -> ProductDivisionCode
P.WwpspText -> ProductDivisionText
P.IsAssigned -> ProductMappingAssigned
5. Speicherung in CentralSalesRecords
Die Produktfelder werden mit jeder Umsatzzeile gespeichert.
6. Management Analyse > Spartenanalyse
Statuslogik:
- Material leer -> Material fehlt
- kein Treffer in zentraler Referenz -> Nicht im TR-AG-Stamm
- Treffer, aber IsAssigned nicht wahr oder Division = UNASS -> Nicht zugeordnet
- Treffer, IsAssigned wahr und Division nicht UNASS -> Zugeordnet
7. Sparten-Finanzanalyse
Nur Status Zugeordnet geht in Umsatz nach Produktsparte / Produktfamilie / PAPH1.
SAP-Objektnamen und Code-Stand
| Objekt | Name |
|---|---|
| SAP Gateway Service | ZPOWERBI_EINKAUF_SRV |
| Sales EntitySet | FinanzdataSchweizOeSet |
| Sales Gateway-Methode | FINANZDATASCHWEI_GET_ENTITYSET |
| Produktsparten EntitySet | ProductDivisionRefSet |
| Produktsparten Gateway-Methode | PRODUCTDIVISIONR_GET_ENTITYSET |
| Provider-Klasse | ZCL_PRODSPARTE_PROVIDER |
| Mapping-Aufbau-Report | Z_PRODSPARTE_MAP_BUILD |
| Test-/ALV-Report | Z_PRODSPARTE_REPORT |
| Mapping-Tabelle | ZPRODSPARTE_MAP |
| DDIC-Struktur | ZSTR_PRODSPARTE_OUT |
Vorhandener Code im Repo:
docs/abap/ZCL_PRODSPARTE_PROVIDER.abapdocs/abap/Z_PRODSPARTE_MAP_BUILD.abapdocs/abap/Z_PRODSPARTE_REPORT.abap
Nicht als vollstaendiger Code im Repo vorhanden:
FINANZDATASCHWEI_GET_ENTITYSETPRODUCTDIVISIONR_GET_ENTITYSET
Diese beiden Gateway-Methoden sind in den MDs beschrieben, aber der komplette DPC_EXT-Methodencode muss aus SAP geholt oder neu formuliert werden.
Budgetkurse
Budget 2026
Budget 2026 wurde eingetragen und deployed:
| Von | Nach | Rate |
|---|---|---|
| CHF | CHF | 1 |
| USD | CHF | 0.80 |
| EUR | CHF | 0.94 |
| GBP | CHF | 1.09 |
| CNY | CHF | 0.11764706 |
| INR | CHF | 0.00909091 |
| CZK | CHF | 0.03846154 |
| PLN | CHF | 0.22 |
| JPY | CHF | 0.00571429 |
Technische Ablage:
CurrencyExchangeRates
Notes = Budget 2026
ValidFrom = 2026-01-01
ValidTo = 2026-12-31
Budget 2025
Andreas hat neue Budget-2025-Werte geliefert. Noch nicht final eingetragen, weil CNY noch fehlt:
| Waehrung | Rate nach CHF |
|---|---|
| EUR | 0.937034700 |
| GBP | 1.093822350 |
| INR | 0.009532034 |
| PLN | 0.221032130 |
| RUB | 0.009958327 |
| CZK | 0.037963103 |
| JPY | 0.005553195 |
| USD | 0.830651790 |
| CNY | offen |
Deploy-Stand
Deploy wurde am 2026-06-02 ausgefuehrt:
- Publish nach
\\trch-webapp-bidashboard.trafagch.local\BiDashboard$\ BiDashboard.dllZeitstempel nach Deploy:2026-06-02 15:15:20- Server-DB enthaelt
9Budget-2026-Kurse. - Testlauf vor Deploy:
82/82Tests gruen.
Naechste klare To-dos
- CNY Budget 2025 von Andreas nachliefern lassen.
- Budget 2025 Seedwerte danach gesammelt aktualisieren und deployen.
- DE: offizielle Kundenlaender/Kundenfilter bestaetigen.
- UK: Sage-Exportvollstaendigkeit und Discounts/Freight/Charges pruefen.
- CH/AT:
FKDATals fachliches Periodendatum bestaetigen. - Spartenmapping weiter pruefen: Gateway-Methodencode
PRODUCTDIVISIONR_GET_ENTITYSETaus SAP holen oder sauber neu formulieren; danach pruefen, warum Produktfelder nur bei CH/AT gefuellt sind. - Entscheiden, ob CHF-Sicht nur Reporting bleibt oder offizieller Vergleichswert wird.