Alerter / payment_queries.py
Ninad077's picture
Upload 3 files
89855b8 verified
queries = {
# Query 1
'1. Duplicate data in 09_payable_file': '''
select
merged,
count(merged)
from
`fynd-db.Outstanding.09_Payable_File_table` as A
group by
1
having
count(merged) <> 1
''',
'2. Checking already paid data showing in outstanding file': '''
select
merged,
paid_settled_merged_transaction,
REGEXP_CONTAINS(paid_settled_merged_transaction, CONCAT(r'(^|,)', merged, r'(,|$)')) as cc1,
from
`fynd-db.Outstanding.09_Payable_File_table` as A
where
REGEXP_CONTAINS(paid_settled_merged_transaction, CONCAT(r'(^|,)', merged, r'(,|$)')) <> false
''',
'3. Checking return transaction not having sale transaction': '''
select
bag_id,
paid_settled_merged_transaction,
count(bag_id) as bag_count,
from
`fynd-db.Outstanding.09_Payable_File_table`
where
bag_id in
(select
bag_id,
-- merged,
-- paid_settled_merged_transaction,
-- REGEXP_CONTAINS(paid_settled_merged_transaction, CONCAT(r'(^|,)', merged, r'(,|$)')) as cc1,
from
`fynd-db.Outstanding.09_Payable_File_table` as A
where
transaction_type = 'Return'
and paid_settled_merged_transaction is null)
group by
1,2
having
count(bag_id) = 1
order by
1 asc
''',
'4. Checking old data inserted in 09_net_collection table': '''
SELECT
A.bag_id,
A.collection_partner,
A.Settlement_type,
A.inserted_date,
B.bag_id,
B.Transaction_type,
C.bag_id,
C.settlement_type,
D.bag_id
FROM
`fynd-db.finance_recon_tool_asia.01_finance_avis_data_final` AS A
LEFT JOIN
`fynd-db.finance_dwh.Brand_Settlement_pulse` AS B
ON A.bag_id = B.bag_id
LEFT JOIN
`fynd-db.finance_recon_tool_asia.09_seller_net_collection_daily` AS C
ON A.bag_id = C.bag_id
LEFT JOIN
`fynd-db.finance_recon_tool_asia.05_partner_collection` AS D
ON A.bag_id = D.bag_id
WHERE
A.Settlement_type <> 'NA'
and date(A.inserted_date) > '2024-07-31'
AND B.bag_id IS NOT NULL
AND C.bag_id IS NOT NULL
AND D.bag_id IS NOT NULL
AND (
CASE
WHEN A.Settlement_type = 'collection' THEN 'Sale'
WHEN A.Settlement_type = 'refund' THEN 'Return'
ELSE 'Claim'
END
) = B.Transaction_type
GROUP BY
1,2,3,4,5,6,7,8,9
''',
'5. Checking whether expected payout date is null': '''
SELECT
*
FROM
`fynd-db.Outstanding.09_Payable_File_table`
where
expected_payout_date is null
''',
'6. Validation for seller net collection formula': '''
SELECT
distinct
bag_id,
transaction_type,
settlement_type,
round(esp-seller_discounts-bca,0) BCA_Diff,
round(bca-seller_tender_value-tcs_on_vog-tds_on_bca+seller_fees-seller_net_collection,0) Seller_net_collection_diff
FROM
`fynd-db.Outstanding.09_Payable_File_table`
where
round(esp-seller_discounts-bca,0) not in (0,1)
and round(bca-seller_tender_value-tcs_on_vog-tds_on_bca+seller_fees-seller_net_collection,0) not in (0,1)
''',
'7. Checking sign for payout, refund & claim ': '''
SELECT
*,
CASE
WHEN (settlement_type = 'collection' AND bca >= 0) THEN 'MATCH'
WHEN (settlement_type = 'refund' AND bca <= 0) THEN 'MATCH'
WHEN (settlement_type = 'Claim' AND bca >= 0) THEN 'MATCH'
ELSE 'NOT MATCH'
END AS comment
FROM
`fynd-db.Outstanding.09_Payable_File_table`
WHERE
--settlement_type ='collection' and
settlement_type in ('collection','refund','cliam') and
NOT (
(settlement_type = 'collection' AND bca >= 0)
OR
(settlement_type = 'refund' AND bca <= 0)
OR
(settlement_type = 'claim' AND bca >= 0)
)
''',
'8. Checking TCS & TDS': '''
SELECT
distinct
bag_id,
settlement_type,
segement_code,
tcs_on_vog,
tds_on_bca,
case when segement_code not in ('FY','UN') and tcs_on_vog = 0 then 'Match'
when segement_code not in ('FY','UN') and tds_on_bca = 0 then 'Match'
when segement_code in ('FY','UN') and tcs_on_vog <> 0 and tds_on_bca <> 0 then 'Match' else "Not Match" end as Check
FROM
`fynd-db.Outstanding.09_Payable_File_table`
where
(case when segement_code not in ('FY','UN') and tcs_on_vog = 0 then 'Match'
when segement_code not in ('FY','UN') and tds_on_bca = 0 then 'Match'
when segement_code in ('FY','UN') and tcs_on_vog <> 0 and tds_on_bca <> 0 then 'Match' else "Not Match" end) = 'Not Match'
''',
'9. Collection done but data not updated in 09_net_collection': '''
with status as (SELECT
Company_id,
Company_name,
Bagid,
Placed_date,
Cancelled_date,
bag_invoiced,
RTO_delivered_date,
Delivered_date,
FROM
`fynd-db.finance_asia_dwh.Bag_Audit_review`),
error_bags as (
SELECT
bag_id
FROM `fynd-db.finance_recon_tool_asia.03_error_view_data`
WHERE
resolve_date is null
)
SELECT
DISTINCT
C.Company_id,
C.Company_name,
A.bag_id AS COLLECTED_BAG,
B.bag_id AS SETTLEMENT_BAG,
D.bag_id AS error_BAG,
A.order_type,
Placed_date,
Cancelled_date,
bag_invoiced,
RTO_delivered_date,
Delivered_date
FROM
`fynd-db.finance_recon_tool_asia.05_partner_collection` AS A
left join
(SELECT
DISTINCT
bag_id
FROM `fynd-db.finance_recon_tool_asia.09_seller_net_collection_daily`
WHERE
Settlement_type = 'collection'
) AS B
ON
A.bag_id = B.bag_id
left join
status as C
on
A.bag_id = C.Bagid
left join
error_bags as D
on
A.bag_id = D.bag_id
WHERE
receipt_date >= '2023-04-01'
and net_remitted <> 0
and C.Company_id not in (select
test_company
from `fynd-db.finance_dwh.test_details`)
AND B.bag_id IS NULL
and Delivered_date is not null
AND D.bag_id IS NULL
''',
'10. Refund done but data not updated in 09_net_collection': '''
with status as (SELECT
Company_id,
Company_name,
Ordering_channel,
Bagid,
Placed_date,
Cancelled_date,
bag_invoiced,
RTO_delivered_date,
Delivered_date,
Return_picked_date,
Return_delivered_date
FROM
`fynd-db.finance_asia_dwh.Bag_Audit_review`),
error_bags as (
SELECT
bag_id
FROM `fynd-db.finance_recon_tool_asia.03_error_view_data`
WHERE
resolve_date is null
)
SELECT
DISTINCT
C.Company_id,
C.Company_name,
C.Ordering_channel,
A.bag_id AS COLLECTED_BAG,
B.bag_id AS SETTLEMENT_BAG,
D.bag_id AS error_BAG,
A.order_type,
Placed_date,
Cancelled_date,
bag_invoiced,
RTO_delivered_date,
Delivered_date,
Return_picked_date,
Return_delivered_date
FROM
`fynd-db.finance_recon_tool_asia.05_partner_refunds` AS A
left join
(SELECT
DISTINCT
bag_id
FROM `fynd-db.finance_recon_tool_asia.09_seller_net_collection_daily`
WHERE
Settlement_type = 'refund'
) AS B
ON
A.bag_id = B.bag_id
left join
status as C
on
A.bag_id = C.Bagid
left join
error_bags as D
on
A.bag_id = D.bag_id
WHERE
refund_date >= '2023-04-01'
and net_refunded <> 0
and C.Company_id not in (select
test_company
from `fynd-db.finance_dwh.test_details`)
AND B.bag_id IS NULL
and C.Company_id not in (507)
and (case when Ordering_channel in ('FYND','UNIKET') and Return_picked_date is not null then 'yes'
when Ordering_channel not in ('FYND','UNIKET') and Return_delivered_date is not null then 'yes' else 'no' end) = 'yes'
AND D.bag_id IS NULL
''',
'11. Checking for duplicate count in 09_net_collection': '''
select
concat(bag_id,Settlement_type) as Merged,
count(concat(bag_id,Settlement_type))
from `fynd-db.finance_recon_tool_asia.09_seller_net_collection_daily`
group by
1
having
count(concat(bag_id,Settlement_type)) not in (1)
''',
'12. Checking for presence of Non-RBL, Prepaid & Fynd/Uniket in 09_payable_file': '''
select
*
from
`fynd-db.Outstanding.09_Payable_File_table` A
where
order_type = 'PPD'
and
ordering_channel not in ('UNIKET', 'FYND')
and
A.Company_Type = 'Non RBL'
and collection_comment = 'collection_pending'
''',
'13. Checking for difference in collection': '''
select
*,
current_timestamp() as table_update_date
from
`fynd-db.Outstanding.09_Payable_File_table`
where
Collection_amount_comment = 'collection_diff'
'''
}