@Override public BigDecimal getCreditedAmount() { return MoreObjects.firstNonNull(invoice.getCreditedAmount(), BigDecimal.ZERO); }
private void printDetailInvoice(final Invoice invoice) { log.info("-------------------- START DETAIL ----------------------"); log.info("Invoice " + invoice.getId() + ": BALANCE = " + invoice.getBalance() + ", CBA = " + invoice.getCreditedAmount() + ", CHARGE_AMOUNT = " + invoice.getChargedAmount() + ", ADJ_AMOUNT = " + invoice.getCreditedAmount()); for (final InvoiceItem cur : invoice.getInvoiceItems()) { log.info(cur.toString()); } log.info("-------------------- END DETAIL ----------------------"); } }
@Test(groups = "fast") public void testIgnoreZeroAdjustments() throws Exception { // Scenario: single item with payment // * $10 item // * $-10 CBA // * $10 CBA final FixedPriceInvoiceItem fixedItem = new FixedPriceInvoiceItem(UUID.randomUUID(), UUID.randomUUID(), null, null, UUID.randomUUID().toString(), UUID.randomUUID().toString(), UUID.randomUUID().toString(), new LocalDate(), BigDecimal.TEN, Currency.USD); final CreditBalanceAdjInvoiceItem creditBalanceAdjInvoiceItem = new CreditBalanceAdjInvoiceItem(fixedItem.getInvoiceId(), fixedItem.getAccountId(), fixedItem.getStartDate(), fixedItem.getAmount(), fixedItem.getCurrency()); final CreditBalanceAdjInvoiceItem creditBalanceAdjInvoiceItem2 = new CreditBalanceAdjInvoiceItem(fixedItem.getInvoiceId(), fixedItem.getAccountId(), fixedItem.getStartDate(), fixedItem.getAmount().negate(), fixedItem.getCurrency()); final Invoice invoice = new DefaultInvoice(fixedItem.getInvoiceId(), fixedItem.getAccountId(), null, new LocalDate(), new LocalDate(), Currency.USD, false, InvoiceStatus.COMMITTED); invoice.addInvoiceItem(fixedItem); invoice.addInvoiceItem(creditBalanceAdjInvoiceItem); invoice.addInvoiceItem(creditBalanceAdjInvoiceItem2); // Check the scenario Assert.assertEquals(invoice.getBalance().doubleValue(), 10.00); Assert.assertEquals(invoice.getCreditedAmount().doubleValue(), 0.00); // Verify the merge final InvoiceFormatter formatter = new DefaultInvoiceFormatter(config, invoice, Locale.US, null, resourceBundleFactory, internalCallContext); final List<InvoiceItem> invoiceItems = formatter.getInvoiceItems(); Assert.assertEquals(invoiceItems.size(), 1); Assert.assertEquals(invoiceItems.get(0).getInvoiceItemType(), InvoiceItemType.FIXED); Assert.assertEquals(invoiceItems.get(0).getAmount().doubleValue(), 10.00); }
public InvoiceJson(final Invoice input, final String bundleKeys, final List<CreditJson> credits, final List<AuditLog> auditLogs) { this(input.getChargedAmount(), input.getCurrency(), input.getStatus(), input.getCreditedAmount(), input.getRefundedAmount(), input.getId(), input.getInvoiceDate(), input.getTargetDate(), String.valueOf(input.getInvoiceNumber()), input.getBalance(), input.getAccountId(), bundleKeys, credits, null, input.isParentInvoice(), input.getParentInvoiceId(), input.getParentAccountId(), toAuditLogJson(auditLogs)); }
this.currency = input.getCurrency(); this.status = input.getStatus(); this.creditAdj = input.getCreditedAmount(); this.refundAdj = input.getRefundedAmount(); this.invoiceId = input.getId();
assertTrue(parentInvoice.isParentInvoice()); assertEquals(parentInvoice.getChargedAmount().compareTo(BigDecimal.valueOf(19.95)), 0); assertEquals(parentInvoice.getCreditedAmount().compareTo(BigDecimal.ZERO), 0);
assertTrue(parentInvoice.isParentInvoice()); assertEquals(parentInvoice.getChargedAmount().compareTo(BigDecimal.valueOf(799.90)), 0); assertEquals(parentInvoice.getCreditedAmount().compareTo(BigDecimal.ZERO), 0);