This commit is contained in:
oliver committed 2026-10-12 10:12:46 -03:00
1 parent 9db080faea
commit c816ea3ac9
3 files changed
+24 -33

No files matched your search

+1 -1
View File
@@ -32,7 +32,7 @@ The left sidebar groups reports by topic:
- **Amazon** → *VAT Summary* (USt-Übersicht je Land)
- **ODOO** → *Rechnungen pro Monat* (Pivot über Odoo-Rechnungen)
- **Gesamt** → *Alle Rechnungen pro Monat* (PivotTable.js-Experiment)
- **Schweiz** → *Quartal Schweiz* (AMAZON + ODOO, Lieferung in die Schweiz)
- **Gesamt** → *Quartal Schweiz* (AMAZON + ODOO, Lieferung in die Schweiz)
All groups start collapsed, so no submenu is visible when the page opens.
Clicking a topic expands its submenu; clicking a submenu item switches the
-20
View File
@@ -94,26 +94,6 @@
<a class="submenu-item" href="#" data-view="gesamt-rechnungen-pivot">
Alle Rechnungen pro Monat
</a>
</div>
</div>
<!-- Schweiz -->
<div class="menu-group" data-group>
<button class="menu-main" type="button" data-toggle aria-expanded="false">
<span class="menu-logo">
<svg viewBox="0 0 48 48" aria-hidden="true">
<rect width="48" height="48" rx="12" fill="#d52b1e" />
<text x="24" y="30" text-anchor="middle" font-size="15" font-weight="700"
fill="#ffffff" font-family="Arial, sans-serif">CH</text>
</svg>
</span>
<span class="menu-name">Schweiz</span>
<svg class="chevron" viewBox="0 0 24 24" aria-hidden="true">
<path d="M9 6l6 6-6 6" fill="none" stroke="currentColor" stroke-width="2.2"
stroke-linecap="round" stroke-linejoin="round" />
</svg>
</button>
<div class="submenu">
<a class="submenu-item" href="#" data-view="schweiz-quartal">
Quartal Schweiz
</a>
+23 -12
View File
@@ -22,6 +22,13 @@
-- In psql stattdessen:
-- \set quarter '2026-Q3'
--
-- Diagnose (falls keine AMAZON-Zeilen geliefert werden):
-- SELECT activity_period, count(*)
-- FROM brandize_datacenter_amazon_vat_transaction
-- WHERE arrival_country = 'CH' OR sale_arrival_country = 'CH'
-- GROUP BY 1 ORDER BY 1;
-- -- zeigt das tatsaechliche Format von activity_period
--
-- ---------------------------------------------------------------------------
-- Spalten-Mapping ODOO -> AMAZON
-- (Felder ohne Amazon-Pendant bleiben leer)
@@ -67,18 +74,20 @@ quarters AS (
make_date(yr::int, (qn - 1) * 3 + 1, 1) + INTERVAL '3 months' AS next_day
FROM params
),
-- Die drei activity_period-Werte (Format 'YYYY-MMM', deutsche Kuerzel) fuer die
-- Amazon-Tabelle.
qmonths AS (
SELECT
q.yr || '-' || CASE ((q.qn - 1) * 3 + m.m)
WHEN 1 THEN 'JAN' WHEN 2 THEN 'FEB' WHEN 3 THEN 'MÄR'
WHEN 4 THEN 'APR' WHEN 5 THEN 'MAI' WHEN 6 THEN 'JUN'
WHEN 7 THEN 'JUL' WHEN 8 THEN 'AUG' WHEN 9 THEN 'SEP'
WHEN 10 THEN 'OKT' WHEN 11 THEN 'NOV' WHEN 12 THEN 'DEZ'
END AS activity_period
-- Alle moeglichen Schreibweisen der 3 Quartalsmonate als 'YYYY-MMM'
-- (deutsche UND englische Kuerzel, da die gespeicherte Schreibweise je
-- nach Herkunft abweichen kann).
SELECT DISTINCT
q.yr || '-' || v.abbr AS activity_period
FROM quarters q
CROSS JOIN generate_series(1, 3) AS m(m)
CROSS JOIN generate_series(1, 3) AS g(n)
JOIN (VALUES
(1, 'JAN'), (2, 'FEB'), (3, 'MÄR'), (3, 'MAR'), (4, 'APR'),
(5, 'MAI'), (5, 'MAY'), (6, 'JUN'), (7, 'JUL'), (8, 'AUG'),
(9, 'SEP'), (10, 'OKT'), (10, 'OCT'), (11, 'NOV'),
(12, 'DEZ'), (12, 'DEC')
) AS v(mnum, abbr) ON v.mnum = (q.qn - 1) * 3 + g.n
),
-- ===========================================================================
@@ -345,8 +354,10 @@ amazon_base AS (
ELSE 0
END AS rate
FROM brandize_datacenter_amazon_vat_transaction a
WHERE a.activity_period IN (SELECT activity_period FROM qmonths)
AND a.arrival_country = 'CH'
WHERE upper(a.activity_period) IN (SELECT upper(activity_period) FROM qmonths)
-- Lieferung in die Schweiz: Ziel-/Versandland kann in arrival_country
-- oder sale_arrival_country stehen.
AND (upper(a.arrival_country) = 'CH' OR upper(a.sale_arrival_country) = 'CH')
-- Optional: Gebuehrenzeilen ausschliessen (wie in VAT_Summary.sql):
-- AND a.sales_channel <> 'AMAZON_FEE'
),