While cleaning up some code related to returns, I've noticed the
PartyAcctgPreferences.useInvoiceIdForReturns flag: if set to Y then the returnId is generated using the id sequence of the invoices. Does this make sense? My guess is that this code is there as an hack to use the return as a "credit invoice"... however in my opinion we should get rid of this because it seems more suited for a customization and not worth of a flag/field in the data model. I'd suggest to: 1) remove the PartyAcctgPreferences.useInvoiceIdForReturns field 2) remove the code that uses it (in the createReturnHeader service) There is already some code that creates a real invoice from a return and, even if it needs to be enhanced, this is really the way to go: with a real invoice we can use and apply payments etc... What do you think? Jacopo |
This came from a requirement where a certain country (I don't remember which...) requires strict sequencing and even registry with the govt of invoices. Skipping an invoice number was considered an audit trigger and a possible means for committing fraud (or tax evasion, or something). Because returns have a financial impact but no invoice they wanted to include returns in that sequence to strictly control them. We may very well be able to remove this, I don't know. It was a bit of a hack, and if we are generating invoices from returns now then it probably isn't necessary. Is anyone reading this email actually using this anymore? -David On Jul 1, 2008, at 7:44 AM, Jacopo Cappellato wrote: > While cleaning up some code related to returns, I've noticed the > PartyAcctgPreferences.useInvoiceIdForReturns flag: if set to Y then > the returnId is generated using the id sequence of the invoices. > Does this make sense? My guess is that this code is there as an hack > to use the return as a "credit invoice"... however in my opinion we > should get rid of this because it seems more suited for a > customization and not worth of a flag/field in the data model. > I'd suggest to: > 1) remove the PartyAcctgPreferences.useInvoiceIdForReturns field > 2) remove the code that uses it (in the createReturnHeader service) > > There is already some code that creates a real invoice from a return > and, even if it needs to be enhanced, this is really the way to go: > with a real invoice we can use and apply payments etc... > > What do you think? > > Jacopo > > |
David,
thanks for your comment, that makes a lot of sense to me because Italy is a country in which a strict sequencing of invoices is required as well. However, as you mention, the sequence should be that of the invoice associated to the return (that in Italy is named "nota di credito"/"credit note"), instead of the returnId. By the way it is not a big issue and we can postpone the decision. Jacopo On Jul 1, 2008, at 9:47 PM, David E Jones wrote: > > This came from a requirement where a certain country (I don't > remember which...) requires strict sequencing and even registry with > the govt of invoices. Skipping an invoice number was considered an > audit trigger and a possible means for committing fraud (or tax > evasion, or something). > > Because returns have a financial impact but no invoice they wanted > to include returns in that sequence to strictly control them. > > We may very well be able to remove this, I don't know. It was a bit > of a hack, and if we are generating invoices from returns now then > it probably isn't necessary. > > Is anyone reading this email actually using this anymore? > > -David > > > On Jul 1, 2008, at 7:44 AM, Jacopo Cappellato wrote: > >> While cleaning up some code related to returns, I've noticed the >> PartyAcctgPreferences.useInvoiceIdForReturns flag: if set to Y then >> the returnId is generated using the id sequence of the invoices. >> Does this make sense? My guess is that this code is there as an >> hack to use the return as a "credit invoice"... however in my >> opinion we should get rid of this because it seems more suited for >> a customization and not worth of a flag/field in the data model. >> I'd suggest to: >> 1) remove the PartyAcctgPreferences.useInvoiceIdForReturns field >> 2) remove the code that uses it (in the createReturnHeader service) >> >> There is already some code that creates a real invoice from a >> return and, even if it needs to be enhanced, this is really the way >> to go: with a real invoice we can use and apply payments etc... >> >> What do you think? >> >> Jacopo >> >> > |
Free forum by Nabble | Edit this page |