eg
This commit is contained in:
1 parent
9db080faea
commit
c816ea3ac9
3 files changed
+24
-33
No files matched your search
+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