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)
|
||||
- **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
@@ -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
@@ -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'
|
||||
),
|
||||
|
||||
Reference in new issue
Block a user