diff --git a/lib/data/models/payment_model.dart b/lib/data/models/payment_model.dart index b90fa74cb..17756fbe1 100644 --- a/lib/data/models/payment_model.dart +++ b/lib/data/models/payment_model.dart @@ -450,6 +450,11 @@ abstract class PaymentEntity extends Object bool get isOnline => (companyGatewayId ?? '').isNotEmpty; + bool get isCompletedOrPartiallyRefunded => [ + kPaymentStatusCompleted, + kPaymentStatusPartiallyRefunded + ].contains(statusId); + @override FormatNumberType get listDisplayAmountType => FormatNumberType.money; diff --git a/lib/redux/dashboard/dashboard_selectors.dart b/lib/redux/dashboard/dashboard_selectors.dart index e0d5316f2..b766e062b 100644 --- a/lib/redux/dashboard/dashboard_selectors.dart +++ b/lib/redux/dashboard/dashboard_selectors.dart @@ -83,7 +83,10 @@ List _chartInvoices({ final client = clientMap[invoice.clientId] ?? ClientEntity(id: invoice.clientId); - if (!invoice.isSent || invoice.isDeleted || client.isDeleted) { + if (!invoice.isSent || + invoice.isDeleted || + invoice.isCancelledOrReversed || + client.isDeleted) { // skip it } else if (!invoice.isBetween( settings.startDate(company), settings.endDate(company))) { @@ -380,7 +383,9 @@ List chartPayments( clientMap[payment.clientId] ?? ClientEntity(id: payment.clientId); final date = payment.date; - if (payment.isDeleted || client.isDeleted) { + if (payment.isDeleted || + !payment.isCompletedOrPartiallyRefunded || + client.isDeleted) { // skip it } else if (!payment.isBetween( settings.startDate(company), settings.endDate(company))) {