File: /www/exchange2/exchange/custom_reports/2019-05-15-telcom-settled-commission.sql
SET @system_date = CURDATE(),@edso = 0,@adso = 0,@rdso = 0;
SELECT dd.debtor_reference_id as 'Debtor ID',
IF(dd.trade_name = '', dd.debtor_name, dd.trade_name) as 'Debtor Name',
DATE(m.logapprove_date) as 'Traded Date',
m.actual_date as 'Issued Date',
m.trade_reference_id as 'Trade ID',
IFNULL(DATEDIFF(DATE(expected_date), DATE(actual_date)), 0) as 'EDSO',
m.invoice_no as 'Ref',
m.face_value as 'Value',
m.expected_date as 'Expected Date',
DATEDIFF(IF(main_trans.transaction_type = 6 AND
payment_trans.transaction_date <= @system_date, payment_trans.transaction_date, @system_date),
DATE(actual_date)) as 'RDSO',
m.max_thirty_day_reserve / 100 as 'SR%',
purchase_discount / 100 as 'PP%',
invoice_closed_attributes.processing_fee as 'Processing Fee',
c.purchase_payment as 'Purchased',
getReserve(expected_date, actual_date, payment_trans.transaction_date,
IF(payment_trans.transaction_date <= @system_date AND m.reserve IS NOT NULL, CURDATE(), @system_date),
m.reserve, face_value, max_thirty_day_reserve, purchase_discount,
invoice_closed_attributes.processing_fee, m.override_180_day_rule,
IFNULL(m.face_value_charge, IFNULL(dd.face_value_charge, od.face_value_charge)),
od.credebt_facility_type, m.face_value_charge_applied, m.ldc_premium, m.agent_commission) as 'Reserve',
m.face_value - c.purchase_payment - getReserve(expected_date, actual_date, payment_trans.transaction_date,
IF(
payment_trans.transaction_date <= @system_date AND m.reserve IS NOT NULL,
CURDATE(), @system_date),
m.reserve, face_value, max_thirty_day_reserve, purchase_discount,
invoice_closed_attributes.processing_fee, m.override_180_day_rule,
IFNULL(m.face_value_charge,
IFNULL(dd.face_value_charge, od.face_value_charge)),
od.credebt_facility_type, m.face_value_charge_applied, m.ldc_premium, m.agent_commission) -
2 * invoice_closed_attributes.processing_fee as 'Settled Commission',
payment_trans.transaction_date as 'Settled Date',
IF(m.override_180_day_rule, "X", "") as 'Disable 180 days rule'
FROM invoice_master m
LEFT JOIN invoice_closed c ON c.invoice_id = m.invoice_id
LEFT JOIN invoice_closed_attributes ON invoice_closed_attributes.invoice_id = m.invoice_id
JOIN manual_transactions as main_trans
ON main_trans.manual_transaction_id = m.manual_transaction_id AND main_trans.status = 1
JOIN manual_transactions as payment_trans
ON main_trans.reconcile_payment = payment_trans.manual_transaction_id AND payment_trans.status = 1
LEFT JOIN manual_transactions as reserve_trans
ON reserve_trans.manual_transaction_id = m.drp_id AND reserve_trans.status = 1
LEFT JOIN debtor_relation dr ON dr.debtor_id = m.debtor_id
LEFT JOIN debtors_detail dd ON dd.debtor_id = m.debtor_id
LEFT JOIN organisation_details od ON od.user_id = dr.trader_id
WHERE dr.trader_id = 1324
AND dd.type = 'debtor'
AND m.root_invoice_id > 0
AND m.invoice_status = 3