From e95babfb2351bdffdc19c6460727072a1d1068f2 Mon Sep 17 00:00:00 2001
From: Monish Deb <deb.monish@gmail.com>
Date: Fri, 1 Feb 2019 19:23:24 +0530
Subject: [PATCH] dev/financial#40: Missing Financial type and Credit Account
 Code in Bookkeeping Transaction Report

Signed-off-by: Kevin Cristiano <kcristiano@kcristiano.com>
---
 civicrm/CRM/Price/BAO/LineItem.php | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/civicrm/CRM/Price/BAO/LineItem.php b/civicrm/CRM/Price/BAO/LineItem.php
index c00e3fda01..61a8f0b088 100644
--- a/civicrm/CRM/Price/BAO/LineItem.php
+++ b/civicrm/CRM/Price/BAO/LineItem.php
@@ -769,7 +769,10 @@ WHERE li.contribution_id = %1";
           ));
           unset($updateFinancialItemInfoValues['financialTrxn']);
         }
-        elseif (!empty($updateFinancialItemInfoValues['link-financial-trxn']) && $newFinancialItem->amount != 0) {
+        elseif ($newFinancialItem->amount != 0 && (// bug in EntityFinancialTrxn.create API which doesn't recognize 0 amount
+          !empty($updateFinancialItemInfoValues['link-financial-trxn']) ||
+           in_array($contributionStatus, ['Pending refund', 'Partially paid'])
+        )) {
           civicrm_api3('EntityFinancialTrxn', 'create', array(
             'entity_id' => $newFinancialItem->id,
             'entity_table' => 'civicrm_financial_item',
-- 
GitLab