HEX
Server: Apache/2.2.15 (CentOS)
System: Linux ip-10-0-2-146.eu-west-1.compute.internal 2.6.32-754.35.1.el6.centos.plus.x86_64 #1 SMP Sat Nov 7 11:33:42 UTC 2020 x86_64
User: root (0)
PHP: 5.6.40
Disabled: NONE
Upload Files
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