Skip to content

Commit

Permalink
invoice, jaxrs: Fixes #86 (Add invoice item description for credity a…
Browse files Browse the repository at this point in the history
…nd external charges)
  • Loading branch information
sbrossie committed Feb 10, 2016
1 parent 078cb11 commit e1121e2
Show file tree
Hide file tree
Showing 19 changed files with 62 additions and 44 deletions.
Expand Up @@ -673,7 +673,7 @@ protected void fullyAdjustInvoiceAndCheckForCompletion(final Account account, fi
public Void apply(@Nullable final Void input) { public Void apply(@Nullable final Void input) {
try { try {
invoiceUserApi.insertCreditForInvoice(account.getId(), invoice.getId(), invoice.getBalance(), invoice.getInvoiceDate(), invoiceUserApi.insertCreditForInvoice(account.getId(), invoice.getId(), invoice.getBalance(), invoice.getInvoiceDate(),
account.getCurrency(), callContext); account.getCurrency(), null, callContext);
} catch (final InvoiceApiException e) { } catch (final InvoiceApiException e) {
fail(e.toString()); fail(e.toString());
} }
Expand All @@ -688,7 +688,7 @@ protected void fullyAdjustInvoiceItemAndCheckForCompletion(final Account account
public Void apply(@Nullable final Void input) { public Void apply(@Nullable final Void input) {
try { try {
invoiceUserApi.insertInvoiceItemAdjustment(account.getId(), invoice.getId(), invoice.getInvoiceItems().get(itemNb - 1).getId(), invoiceUserApi.insertInvoiceItemAdjustment(account.getId(), invoice.getId(), invoice.getInvoiceItems().get(itemNb - 1).getId(),
invoice.getInvoiceDate(), callContext); invoice.getInvoiceDate(), null, callContext);
} catch (final InvoiceApiException e) { } catch (final InvoiceApiException e) {
fail(e.toString()); fail(e.toString());
} }
Expand Down
Expand Up @@ -245,7 +245,8 @@ public void testApplyCreditOnExistingBalance() throws Exception {
assertTrue(accountBalance1.compareTo(new BigDecimal("249.95")) == 0); assertTrue(accountBalance1.compareTo(new BigDecimal("249.95")) == 0);


busHandler.pushExpectedEvents(NextEvent.INVOICE_ADJUSTMENT); busHandler.pushExpectedEvents(NextEvent.INVOICE_ADJUSTMENT);
invoiceUserApi.insertCredit(account.getId(), new BigDecimal("300"), new LocalDate(clock.getUTCNow(), account.getTimeZone()), account.getCurrency(), callContext); invoiceUserApi.insertCredit(account.getId(), new BigDecimal("300"), new LocalDate(clock.getUTCNow(), account.getTimeZone()),
account.getCurrency(), null, callContext);
assertListenerStatus(); assertListenerStatus();


final BigDecimal accountBalance2 = invoiceUserApi.getAccountBalance(account.getId(), callContext); final BigDecimal accountBalance2 = invoiceUserApi.getAccountBalance(account.getId(), callContext);
Expand Down
Expand Up @@ -107,7 +107,7 @@ public void testSimplePartialRepairWithItemAdjustment() throws Exception {
// //
busHandler.pushExpectedEvents(NextEvent.INVOICE_ADJUSTMENT); busHandler.pushExpectedEvents(NextEvent.INVOICE_ADJUSTMENT);
invoiceUserApi.insertInvoiceItemAdjustment(account.getId(), invoices.get(1).getId(), invoices.get(1).getInvoiceItems().get(0).getId(), clock.getUTCToday(), invoiceUserApi.insertInvoiceItemAdjustment(account.getId(), invoices.get(1).getId(), invoices.get(1).getInvoiceItems().get(0).getId(), clock.getUTCToday(),
BigDecimal.TEN, account.getCurrency(), callContext); BigDecimal.TEN, account.getCurrency(), null, callContext);
assertListenerStatus(); assertListenerStatus();


invoices = invoiceUserApi.getInvoicesByAccount(account.getId(), callContext); invoices = invoiceUserApi.getInvoicesByAccount(account.getId(), callContext);
Expand Down
Expand Up @@ -127,6 +127,7 @@ public InvoiceItem createAdjustmentItem(final Invoice invoiceToBeAdjusted,
@Nullable final BigDecimal positiveAdjAmount, @Nullable final BigDecimal positiveAdjAmount,
@Nullable final Currency currency, @Nullable final Currency currency,
final LocalDate effectiveDate, final LocalDate effectiveDate,
final String description,
final InternalCallContext context) throws InvoiceApiException { final InternalCallContext context) throws InvoiceApiException {
final InvoiceItem invoiceItemToBeAdjusted = Iterables.<InvoiceItem>tryFind(invoiceToBeAdjusted.getInvoiceItems(), final InvoiceItem invoiceItemToBeAdjusted = Iterables.<InvoiceItem>tryFind(invoiceToBeAdjusted.getInvoiceItems(),
new Predicate<InvoiceItem>() { new Predicate<InvoiceItem>() {
Expand Down Expand Up @@ -159,7 +160,7 @@ public boolean apply(final InvoiceItem input) {
invoiceItemToBeAdjusted.getInvoiceId(), invoiceItemToBeAdjusted.getInvoiceId(),
invoiceItemToBeAdjusted.getAccountId(), invoiceItemToBeAdjusted.getAccountId(),
effectiveDate, effectiveDate,
null, description,
amountToAdjust, amountToAdjust,
currencyForAdjustment, currencyForAdjustment,
invoiceItemToBeAdjusted.getId()); invoiceItemToBeAdjusted.getId());
Expand Down
Expand Up @@ -322,18 +322,18 @@ public InvoiceItem getCreditById(final UUID creditId, final TenantContext contex
} }


return new CreditAdjInvoiceItem(creditItem.getId(), creditItem.getCreatedDate(), creditItem.getInvoiceId(), creditItem.getAccountId(), return new CreditAdjInvoiceItem(creditItem.getId(), creditItem.getCreatedDate(), creditItem.getInvoiceId(), creditItem.getAccountId(),
creditItem.getStartDate(), creditItem.getAmount().negate(), creditItem.getCurrency()); creditItem.getStartDate(), creditItem.getDescription(), creditItem.getAmount().negate(), creditItem.getCurrency());
} }


@Override @Override
public InvoiceItem insertCredit(final UUID accountId, final BigDecimal amount, final LocalDate effectiveDate, public InvoiceItem insertCredit(final UUID accountId, final BigDecimal amount, final LocalDate effectiveDate,
final Currency currency, final CallContext context) throws InvoiceApiException { final Currency currency, final String description, final CallContext context) throws InvoiceApiException {
return insertCreditForInvoice(accountId, null, amount, effectiveDate, currency, context); return insertCreditForInvoice(accountId, null, amount, effectiveDate, currency, description, context);
} }


@Override @Override
public InvoiceItem insertCreditForInvoice(final UUID accountId, final UUID invoiceId, final BigDecimal amount, public InvoiceItem insertCreditForInvoice(final UUID accountId, final UUID invoiceId, final BigDecimal amount,
final LocalDate effectiveDate, final Currency currency, final CallContext context) throws InvoiceApiException { final LocalDate effectiveDate, final Currency currency, final String description, final CallContext context) throws InvoiceApiException {
if (amount == null || amount.compareTo(BigDecimal.ZERO) <= 0) { if (amount == null || amount.compareTo(BigDecimal.ZERO) <= 0) {
throw new InvoiceApiException(ErrorCode.CREDIT_AMOUNT_INVALID, amount); throw new InvoiceApiException(ErrorCode.CREDIT_AMOUNT_INVALID, amount);
} }
Expand All @@ -358,6 +358,7 @@ public List<Invoice> prepareInvoices() throws InvoiceApiException {
invoiceForCredit.getId(), invoiceForCredit.getId(),
accountId, accountId,
effectiveDate, effectiveDate,
description,
// Note! The amount is negated here! // Note! The amount is negated here!
amount.negate(), amount.negate(),
currency); currency);
Expand All @@ -381,14 +382,14 @@ public boolean apply(final InvoiceItem invoiceItem) {


@Override @Override
public InvoiceItem insertInvoiceItemAdjustment(final UUID accountId, final UUID invoiceId, final UUID invoiceItemId, public InvoiceItem insertInvoiceItemAdjustment(final UUID accountId, final UUID invoiceId, final UUID invoiceItemId,
final LocalDate effectiveDate, final CallContext context) throws InvoiceApiException { final LocalDate effectiveDate, final String description, final CallContext context) throws InvoiceApiException {
return insertInvoiceItemAdjustment(accountId, invoiceId, invoiceItemId, effectiveDate, null, null, context); return insertInvoiceItemAdjustment(accountId, invoiceId, invoiceItemId, effectiveDate, null, null, description, context);
} }


@Override @Override
public InvoiceItem insertInvoiceItemAdjustment(final UUID accountId, final UUID invoiceId, final UUID invoiceItemId, public InvoiceItem insertInvoiceItemAdjustment(final UUID accountId, final UUID invoiceId, final UUID invoiceItemId,
final LocalDate effectiveDate, @Nullable final BigDecimal amount, final LocalDate effectiveDate, @Nullable final BigDecimal amount,
@Nullable final Currency currency, final CallContext context) throws InvoiceApiException { @Nullable final Currency currency, final String description, final CallContext context) throws InvoiceApiException {
if (amount != null && amount.compareTo(BigDecimal.ZERO) <= 0) { if (amount != null && amount.compareTo(BigDecimal.ZERO) <= 0) {
throw new InvoiceApiException(ErrorCode.INVOICE_ITEM_ADJUSTMENT_AMOUNT_SHOULD_BE_POSITIVE, amount); throw new InvoiceApiException(ErrorCode.INVOICE_ITEM_ADJUSTMENT_AMOUNT_SHOULD_BE_POSITIVE, amount);
} }
Expand All @@ -402,6 +403,7 @@ public Iterable<Invoice> prepareInvoices() throws InvoiceApiException {
amount, amount,
currency, currency,
effectiveDate, effectiveDate,
description,
internalCallContextFactory.createInternalCallContext(accountId, context)); internalCallContextFactory.createInternalCallContext(accountId, context));
invoice.addInvoiceItem(adjustmentItem); invoice.addInvoiceItem(adjustmentItem);


Expand Down
Expand Up @@ -29,19 +29,15 @@
import org.killbill.billing.invoice.api.InvoiceItemType; import org.killbill.billing.invoice.api.InvoiceItemType;
import org.killbill.billing.util.UUIDs; import org.killbill.billing.util.UUIDs;


import com.google.common.base.Objects; import com.google.common.base.MoreObjects;


public class CreditAdjInvoiceItem extends AdjInvoiceItem { public class CreditAdjInvoiceItem extends AdjInvoiceItem {


public CreditAdjInvoiceItem(final UUID invoiceId, final UUID accountId, final LocalDate date, public CreditAdjInvoiceItem(final UUID invoiceId, final UUID accountId, final LocalDate date,
final BigDecimal amount, final Currency currency) { @Nullable final String description, final BigDecimal amount, final Currency currency) {
this(UUIDs.randomUUID(), null, invoiceId, accountId, date, amount, currency); this(UUIDs.randomUUID(), null, invoiceId, accountId, date, description, amount, currency);
} }


public CreditAdjInvoiceItem(final UUID id, @Nullable final DateTime createdDate, final UUID invoiceId, final UUID accountId, final LocalDate date,
final BigDecimal amount, final Currency currency) {
this(id, createdDate, invoiceId, accountId, date, null, amount, currency);
}


public CreditAdjInvoiceItem(final UUID id, @Nullable final DateTime createdDate, final UUID invoiceId, final UUID accountId, final LocalDate date, public CreditAdjInvoiceItem(final UUID id, @Nullable final DateTime createdDate, final UUID invoiceId, final UUID accountId, final LocalDate date,
@Nullable final String description, final BigDecimal amount, final Currency currency) { @Nullable final String description, final BigDecimal amount, final Currency currency) {
Expand All @@ -55,6 +51,6 @@ public InvoiceItemType getInvoiceItemType() {


@Override @Override
public String getDescription() { public String getDescription() {
return Objects.firstNonNull(description, "Invoice adjustment"); return MoreObjects.firstNonNull(description, "Invoice adjustment");
} }
} }
Expand Up @@ -34,16 +34,12 @@


public class ItemAdjInvoiceItem extends AdjInvoiceItem { public class ItemAdjInvoiceItem extends AdjInvoiceItem {


public ItemAdjInvoiceItem(final InvoiceItem invoiceItem, final LocalDate effectiveDate, public ItemAdjInvoiceItem(final InvoiceItem linkedInvoiceItem, final LocalDate effectiveDate,
final BigDecimal amount, final Currency currency) { final BigDecimal amount, final Currency currency) {
this(UUIDs.randomUUID(), invoiceItem.getInvoiceId(), invoiceItem.getAccountId(), effectiveDate, this(UUIDs.randomUUID(), null, linkedInvoiceItem.getInvoiceId(), linkedInvoiceItem.getAccountId(), effectiveDate,
amount, currency, invoiceItem.getId()); linkedInvoiceItem.getDescription(), amount, currency, linkedInvoiceItem.getId());
} }


public ItemAdjInvoiceItem(final UUID id, final UUID invoiceId, final UUID accountId, final LocalDate startDate,
final BigDecimal amount, final Currency currency, final UUID linkedItemId) {
this(id, null, invoiceId, accountId, startDate, null, amount, currency, linkedItemId);
}


public ItemAdjInvoiceItem(final UUID id, @Nullable final DateTime createdDate, final UUID invoiceId, final UUID accountId, final LocalDate startDate, public ItemAdjInvoiceItem(final UUID id, @Nullable final DateTime createdDate, final UUID invoiceId, final UUID accountId, final LocalDate startDate,
@Nullable final String description, final BigDecimal amount, final Currency currency, final UUID linkedItemId) { @Nullable final String description, final BigDecimal amount, final Currency currency, final UUID linkedItemId) {
Expand Down
Expand Up @@ -149,7 +149,7 @@ private InvoiceItem mergeInvoiceAdjustmentItem(final List<InvoiceItem> invoiceIt
if (!mergedInvoiceAdjustment.getCurrency().equals(item.getCurrency())) { if (!mergedInvoiceAdjustment.getCurrency().equals(item.getCurrency())) {
invoiceItems.add(item); invoiceItems.add(item);
} else { } else {
mergedInvoiceAdjustment = new CreditAdjInvoiceItem(invoice.getId(), invoice.getAccountId(), invoice.getInvoiceDate(), mergedInvoiceAdjustment = new CreditAdjInvoiceItem(invoice.getId(), invoice.getAccountId(), invoice.getInvoiceDate(), mergedInvoiceAdjustment.getDescription(),
mergedInvoiceAdjustment.getAmount().add(item.getAmount()), mergedInvoiceAdjustment.getCurrency()); mergedInvoiceAdjustment.getAmount().add(item.getAmount()), mergedInvoiceAdjustment.getCurrency());
} }
} }
Expand Down
Expand Up @@ -201,12 +201,13 @@ public void testAdjustFullInvoice() throws Exception {


// Adjust the invoice for the full amount // Adjust the invoice for the full amount
final InvoiceItem creditInvoiceItem = invoiceUserApi.insertCreditForInvoice(accountId, invoiceId, invoiceBalance, final InvoiceItem creditInvoiceItem = invoiceUserApi.insertCreditForInvoice(accountId, invoiceId, invoiceBalance,
clock.getUTCToday(), accountCurrency, callContext); clock.getUTCToday(), accountCurrency, "some description", callContext);
Assert.assertEquals(creditInvoiceItem.getInvoiceId(), invoiceId); Assert.assertEquals(creditInvoiceItem.getInvoiceId(), invoiceId);
Assert.assertEquals(creditInvoiceItem.getInvoiceItemType(), InvoiceItemType.CREDIT_ADJ); Assert.assertEquals(creditInvoiceItem.getInvoiceItemType(), InvoiceItemType.CREDIT_ADJ);
Assert.assertEquals(creditInvoiceItem.getAccountId(), accountId); Assert.assertEquals(creditInvoiceItem.getAccountId(), accountId);
Assert.assertEquals(creditInvoiceItem.getAmount().compareTo(invoiceBalance.negate()), 0); Assert.assertEquals(creditInvoiceItem.getAmount().compareTo(invoiceBalance.negate()), 0);
Assert.assertEquals(creditInvoiceItem.getCurrency(), accountCurrency); Assert.assertEquals(creditInvoiceItem.getCurrency(), accountCurrency);
Assert.assertEquals(creditInvoiceItem.getDescription(), "some description");
Assert.assertNull(creditInvoiceItem.getLinkedItemId()); Assert.assertNull(creditInvoiceItem.getLinkedItemId());


// Verify the adjusted invoice balance // Verify the adjusted invoice balance
Expand All @@ -231,7 +232,8 @@ public void testAdjustPartialInvoice() throws Exception {
// Adjust the invoice for a fraction of the balance // Adjust the invoice for a fraction of the balance
final BigDecimal creditAmount = invoiceBalance.divide(BigDecimal.TEN); final BigDecimal creditAmount = invoiceBalance.divide(BigDecimal.TEN);
final InvoiceItem creditInvoiceItem = invoiceUserApi.insertCreditForInvoice(accountId, invoiceId, creditAmount, final InvoiceItem creditInvoiceItem = invoiceUserApi.insertCreditForInvoice(accountId, invoiceId, creditAmount,
clock.getUTCToday(), accountCurrency, callContext); clock.getUTCToday(), accountCurrency,
null, callContext);
Assert.assertEquals(creditInvoiceItem.getInvoiceId(), invoiceId); Assert.assertEquals(creditInvoiceItem.getInvoiceId(), invoiceId);
Assert.assertEquals(creditInvoiceItem.getInvoiceItemType(), InvoiceItemType.CREDIT_ADJ); Assert.assertEquals(creditInvoiceItem.getInvoiceItemType(), InvoiceItemType.CREDIT_ADJ);
Assert.assertEquals(creditInvoiceItem.getAccountId(), accountId); Assert.assertEquals(creditInvoiceItem.getAccountId(), accountId);
Expand All @@ -251,7 +253,8 @@ public void testAdjustPartialInvoice() throws Exception {
@Test(groups = "slow") @Test(groups = "slow")
public void testCantAdjustInvoiceWithNegativeAmount() throws Exception { public void testCantAdjustInvoiceWithNegativeAmount() throws Exception {
try { try {
invoiceUserApi.insertCreditForInvoice(accountId, invoiceId, BigDecimal.TEN.negate(), clock.getUTCToday(), accountCurrency, callContext); invoiceUserApi.insertCreditForInvoice(accountId, invoiceId, BigDecimal.TEN.negate(), clock.getUTCToday(), accountCurrency,
null, callContext);
Assert.fail("Should not have been able to adjust an invoice with a negative amount"); Assert.fail("Should not have been able to adjust an invoice with a negative amount");
} catch (InvoiceApiException e) { } catch (InvoiceApiException e) {
Assert.assertEquals(e.getCode(), ErrorCode.CREDIT_AMOUNT_INVALID.getCode()); Assert.assertEquals(e.getCode(), ErrorCode.CREDIT_AMOUNT_INVALID.getCode());
Expand All @@ -274,7 +277,7 @@ public void testAdjustFullInvoiceItem() throws Exception {


// Adjust the invoice for the full amount // Adjust the invoice for the full amount
final InvoiceItem adjInvoiceItem = invoiceUserApi.insertInvoiceItemAdjustment(accountId, invoiceId, invoiceItem.getId(), final InvoiceItem adjInvoiceItem = invoiceUserApi.insertInvoiceItemAdjustment(accountId, invoiceId, invoiceItem.getId(),
clock.getUTCToday(), callContext); clock.getUTCToday(), null, callContext);
Assert.assertEquals(adjInvoiceItem.getInvoiceId(), invoiceId); Assert.assertEquals(adjInvoiceItem.getInvoiceId(), invoiceId);
Assert.assertEquals(adjInvoiceItem.getInvoiceItemType(), InvoiceItemType.ITEM_ADJ); Assert.assertEquals(adjInvoiceItem.getInvoiceItemType(), InvoiceItemType.ITEM_ADJ);
Assert.assertEquals(adjInvoiceItem.getAccountId(), accountId); Assert.assertEquals(adjInvoiceItem.getAccountId(), accountId);
Expand Down Expand Up @@ -309,7 +312,7 @@ public void testAdjustPartialInvoiceItem() throws Exception {
final BigDecimal adjAmount = invoiceItem.getAmount().divide(BigDecimal.TEN); final BigDecimal adjAmount = invoiceItem.getAmount().divide(BigDecimal.TEN);
final InvoiceItem adjInvoiceItem = invoiceUserApi.insertInvoiceItemAdjustment(accountId, invoiceId, invoiceItem.getId(), final InvoiceItem adjInvoiceItem = invoiceUserApi.insertInvoiceItemAdjustment(accountId, invoiceId, invoiceItem.getId(),
clock.getUTCToday(), adjAmount, accountCurrency, clock.getUTCToday(), adjAmount, accountCurrency,
callContext); null, callContext);
Assert.assertEquals(adjInvoiceItem.getInvoiceId(), invoiceId); Assert.assertEquals(adjInvoiceItem.getInvoiceId(), invoiceId);
Assert.assertEquals(adjInvoiceItem.getInvoiceItemType(), InvoiceItemType.ITEM_ADJ); Assert.assertEquals(adjInvoiceItem.getInvoiceItemType(), InvoiceItemType.ITEM_ADJ);
Assert.assertEquals(adjInvoiceItem.getAccountId(), accountId); Assert.assertEquals(adjInvoiceItem.getAccountId(), accountId);
Expand All @@ -332,7 +335,7 @@ public void testCantAdjustInvoiceItemWithNegativeAmount() throws Exception {


try { try {
invoiceUserApi.insertInvoiceItemAdjustment(accountId, invoiceId, invoiceItem.getId(), clock.getUTCToday(), invoiceUserApi.insertInvoiceItemAdjustment(accountId, invoiceId, invoiceItem.getId(), clock.getUTCToday(),
BigDecimal.TEN.negate(), accountCurrency, callContext); BigDecimal.TEN.negate(), accountCurrency, null, callContext);
Assert.fail("Should not have been able to adjust an item with a negative amount"); Assert.fail("Should not have been able to adjust an item with a negative amount");
} catch (InvoiceApiException e) { } catch (InvoiceApiException e) {
Assert.assertEquals(e.getCode(), ErrorCode.INVOICE_ITEM_ADJUSTMENT_AMOUNT_SHOULD_BE_POSITIVE.getCode()); Assert.assertEquals(e.getCode(), ErrorCode.INVOICE_ITEM_ADJUSTMENT_AMOUNT_SHOULD_BE_POSITIVE.getCode());
Expand Down
Expand Up @@ -546,7 +546,7 @@ public void testAccountBalanceWithCredit() throws EntityPersistenceException {
endDate, rate1, rate1, Currency.USD); endDate, rate1, rate1, Currency.USD);
invoiceUtil.createInvoiceItem(item1, context); invoiceUtil.createInvoiceItem(item1, context);


final CreditAdjInvoiceItem creditItem = new CreditAdjInvoiceItem(invoice1.getId(), accountId, new LocalDate(), rate1.negate(), Currency.USD); final CreditAdjInvoiceItem creditItem = new CreditAdjInvoiceItem(invoice1.getId(), accountId, new LocalDate(), null, rate1.negate(), Currency.USD);
invoiceUtil.createInvoiceItem(creditItem, context); invoiceUtil.createInvoiceItem(creditItem, context);


final BigDecimal balance = invoiceDao.getAccountBalance(accountId, context); final BigDecimal balance = invoiceDao.getAccountBalance(accountId, context);
Expand Down Expand Up @@ -921,7 +921,7 @@ public void testAccountBalanceWithAllSortsOfThings() throws EntityPersistenceExc
assertEquals(cba.compareTo(new BigDecimal("0.00")), 0); assertEquals(cba.compareTo(new BigDecimal("0.00")), 0);


// FINALLY ISSUE A CREDIT ADJ // FINALLY ISSUE A CREDIT ADJ
final CreditAdjInvoiceItem creditItem = new CreditAdjInvoiceItem(invoice2.getId(), accountId, new LocalDate(), rate2.negate(), Currency.USD); final CreditAdjInvoiceItem creditItem = new CreditAdjInvoiceItem(invoice2.getId(), accountId, new LocalDate(), null, rate2.negate(), Currency.USD);
invoiceUtil.createInvoiceItem(creditItem, context); invoiceUtil.createInvoiceItem(creditItem, context);
balance = invoiceDao.getAccountBalance(accountId, context); balance = invoiceDao.getAccountBalance(accountId, context);
assertEquals(balance.compareTo(new BigDecimal("0.00")), 0); assertEquals(balance.compareTo(new BigDecimal("0.00")), 0);
Expand Down Expand Up @@ -1669,6 +1669,7 @@ private void createCredit(final UUID accountId, @Nullable final UUID invoiceId,
invoiceModelDao.getId(), invoiceModelDao.getId(),
accountId, accountId,
effectiveDate, effectiveDate,
null,
// Note! The amount is negated here! // Note! The amount is negated here!
creditAmount.negate(), creditAmount.negate(),
invoiceModelDao.getCurrency()); invoiceModelDao.getCurrency());
Expand Down

0 comments on commit e1121e2

Please sign in to comment.