killbill-uncached

Details

diff --git a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessInvoiceDao.java b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessInvoiceDao.java
index 2e56de4..3654cc8 100644
--- a/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessInvoiceDao.java
+++ b/osgi-bundles/bundles/analytics/src/main/java/com/ning/billing/osgi/bundles/analytics/dao/BusinessInvoiceDao.java
@@ -371,7 +371,9 @@ public class BusinessInvoiceDao extends BusinessAnalyticsDaoBase {
                 if (repairedInvoiceItem.getInvoiceItemType().equals(invoiceItem.getInvoiceItemType()) &&
                     repairedInvoiceItem.getSubscriptionId().equals(invoiceItem.getSubscriptionId()) &&
                     repairedInvoiceItem.getStartDate().compareTo(invoiceItem.getStartDate()) == 0 &&
-                    !repairedInvoiceItem.getEndDate().isBefore(invoiceItem.getEndDate()) &&
+                    // FIXED items have a null end date
+                    ((repairedInvoiceItem.getEndDate() == null && invoiceItem.getEndDate() == null) ||
+                     (repairedInvoiceItem.getEndDate() != null && invoiceItem.getEndDate() != null && !repairedInvoiceItem.getEndDate().isBefore(invoiceItem.getEndDate()))) &&
                     !repairedInvoiceItem.getId().equals(invoiceItem.getId())) {
                     if (reparationItem == null) {
                         reparationItem = invoiceItem;