diff --git a/analytics/src/main/java/com/ning/billing/analytics/model/BusinessInvoice.java b/analytics/src/main/java/com/ning/billing/analytics/model/BusinessInvoice.java
index a52383f..31591c6 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/model/BusinessInvoice.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/model/BusinessInvoice.java
@@ -20,9 +20,11 @@ import java.math.BigDecimal;
import java.util.UUID;
import org.joda.time.DateTime;
+import org.joda.time.DateTimeZone;
import com.ning.billing.analytics.utils.Rounder;
import com.ning.billing.catalog.api.Currency;
+import com.ning.billing.invoice.api.Invoice;
public class BusinessInvoice {
private final UUID invoiceId;
@@ -55,6 +57,12 @@ public class BusinessInvoice {
this.updatedDate = updatedDate;
}
+ public BusinessInvoice(final String accountKey, final Invoice invoice) {
+ this(accountKey, invoice.getAmountCharged(), invoice.getAmountCredited(), invoice.getAmountPaid(), invoice.getBalance(),
+ new DateTime(DateTimeZone.UTC), invoice.getCurrency(), invoice.getInvoiceDate(), invoice.getId(), invoice.getTargetDate(),
+ new DateTime(DateTimeZone.UTC));
+ }
+
public DateTime getCreatedDate() {
return createdDate;
}
diff --git a/analytics/src/main/java/com/ning/billing/analytics/model/BusinessInvoiceItem.java b/analytics/src/main/java/com/ning/billing/analytics/model/BusinessInvoiceItem.java
index 6538712..0da3c9f 100644
--- a/analytics/src/main/java/com/ning/billing/analytics/model/BusinessInvoiceItem.java
+++ b/analytics/src/main/java/com/ning/billing/analytics/model/BusinessInvoiceItem.java
@@ -20,9 +20,13 @@ import java.math.BigDecimal;
import java.util.UUID;
import org.joda.time.DateTime;
+import org.joda.time.DateTimeZone;
import com.ning.billing.analytics.utils.Rounder;
import com.ning.billing.catalog.api.Currency;
+import com.ning.billing.catalog.api.Plan;
+import com.ning.billing.catalog.api.PlanPhase;
+import com.ning.billing.invoice.api.InvoiceItem;
public class BusinessInvoiceItem {
private final UUID itemId;
@@ -66,6 +70,13 @@ public class BusinessInvoiceItem {
this.updatedDate = updatedDate;
}
+ public BusinessInvoiceItem(final String externalKey, final InvoiceItem invoiceItem, final Plan plan, final PlanPhase planPhase) {
+ this(invoiceItem.getAmount(), plan.getBillingPeriod().toString(), new DateTime(DateTimeZone.UTC), invoiceItem.getCurrency(), invoiceItem.getEndDate(),
+ externalKey, invoiceItem.getInvoiceId(), invoiceItem.getId(), invoiceItem.getInvoiceItemType().toString(),
+ invoiceItem.getPhaseName(), plan.getProduct().getName(), plan.getProduct().getCatalogName(), plan.getProduct().getCategory().toString(),
+ planPhase.getName(), invoiceItem.getStartDate(), new DateTime(DateTimeZone.UTC));
+ }
+
public DateTime getCreatedDate() {
return createdDate;
}