eg
This commit is contained in:
1 parent
9db080faea
commit
c816ea3ac9
3 files changed
+24
-33
No files matched your search
@@ -32,7 +32,7 @@ The left sidebar groups reports by topic:
|
|||||||
- **Amazon** → *VAT Summary* (USt-Übersicht je Land)
|
- **Amazon** → *VAT Summary* (USt-Übersicht je Land)
|
||||||
- **ODOO** → *Rechnungen pro Monat* (Pivot über Odoo-Rechnungen)
|
- **ODOO** → *Rechnungen pro Monat* (Pivot über Odoo-Rechnungen)
|
||||||
- **Gesamt** → *Alle Rechnungen pro Monat* (PivotTable.js-Experiment)
|
- **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.
|
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
|
Clicking a topic expands its submenu; clicking a submenu item switches the
|
||||||
|
|||||||
-20
@@ -94,26 +94,6 @@
|
|||||||
<a class="submenu-item" href="#" data-view="gesamt-rechnungen-pivot">
|
<a class="submenu-item" href="#" data-view="gesamt-rechnungen-pivot">
|
||||||
Alle Rechnungen pro Monat
|
Alle Rechnungen pro Monat
|
||||||
</a>
|
</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">
|
<a class="submenu-item" href="#" data-view="schweiz-quartal">
|
||||||
Quartal Schweiz
|
Quartal Schweiz
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
+23
-12
@@ -22,6 +22,13 @@
|
|||||||
-- In psql stattdessen:
|
-- In psql stattdessen:
|
||||||
-- \set quarter '2026-Q3'
|
-- \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
|
-- Spalten-Mapping ODOO -> AMAZON
|
||||||
-- (Felder ohne Amazon-Pendant bleiben leer)
|
-- (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
|
make_date(yr::int, (qn - 1) * 3 + 1, 1) + INTERVAL '3 months' AS next_day
|
||||||
FROM params
|
FROM params
|
||||||
),
|
),
|
||||||
-- Die drei activity_period-Werte (Format 'YYYY-MMM', deutsche Kuerzel) fuer die
|
|
||||||
-- Amazon-Tabelle.
|
|
||||||
qmonths AS (
|
qmonths AS (
|
||||||
SELECT
|
-- Alle moeglichen Schreibweisen der 3 Quartalsmonate als 'YYYY-MMM'
|
||||||
q.yr || '-' || CASE ((q.qn - 1) * 3 + m.m)
|
-- (deutsche UND englische Kuerzel, da die gespeicherte Schreibweise je
|
||||||
WHEN 1 THEN 'JAN' WHEN 2 THEN 'FEB' WHEN 3 THEN 'MÄR'
|
-- nach Herkunft abweichen kann).
|
||||||
WHEN 4 THEN 'APR' WHEN 5 THEN 'MAI' WHEN 6 THEN 'JUN'
|
SELECT DISTINCT
|
||||||
WHEN 7 THEN 'JUL' WHEN 8 THEN 'AUG' WHEN 9 THEN 'SEP'
|
q.yr || '-' || v.abbr AS activity_period
|
||||||
WHEN 10 THEN 'OKT' WHEN 11 THEN 'NOV' WHEN 12 THEN 'DEZ'
|
|
||||||
END AS activity_period
|
|
||||||
FROM quarters q
|
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
|
ELSE 0
|
||||||
END AS rate
|
END AS rate
|
||||||
FROM brandize_datacenter_amazon_vat_transaction a
|
FROM brandize_datacenter_amazon_vat_transaction a
|
||||||
WHERE a.activity_period IN (SELECT activity_period FROM qmonths)
|
WHERE upper(a.activity_period) IN (SELECT upper(activity_period) FROM qmonths)
|
||||||
AND a.arrival_country = 'CH'
|
-- 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):
|
-- Optional: Gebuehrenzeilen ausschliessen (wie in VAT_Summary.sql):
|
||||||
-- AND a.sales_channel <> 'AMAZON_FEE'
|
-- AND a.sales_channel <> 'AMAZON_FEE'
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in new issue
Block a user