Greetings dears!
I just started diving in project module, and I'm confused regarding the structure of how the project invoices are stored.
I have seen that all project invoices uses "ProjInvoiceJour" as a header, and there are 5 tables for each transaction type (ProjInvoiceOnAcc, ProjInvoiceEmpl, ProjInvoiceCost, ProjInvoiceRevenue and ProjInvoiceItem)
But what I'm confused about is why there is a detail table for each of the trans tables I mentioned above?
Those tables are:
ProjInvoiceOnAccDetail
ProjInvoiceEmplDetail
ProjInvoiceCostDetail
ProjInvoiceRevenueDetail
ProjInvoiceItemDetail
I have seen that the "SalesPrice" and "LineAmount" fields are available in the detail tables, why not on the original trans table it self (i.e. ProjInvoiceEmpl)?
What is the use for dividing the transactions into 2 tables?
Also I have checked the relation cardinality between the detail table and their original trans table, which was:
ProjInvoiceEmpl: ZeroOne --- ZeroMany ProjInvoiceEmplDetail
So it's possible to have many records in details related to one record in original trans table
But when I checked the standard project invoice report called "PSAProjInvoice" and checked its DP class "PSAProjInvoiceDP", I saw that the detail table was used with a select statement without grouping. Here is a screenshot for the DP class:
Sorry for my bad English and I hope I was clear enough.
Thanks in advance!
Hi Momochi,
It is a great question and I can only help partially. I can't remember the full details, but I thought the detail tables were related to corrective or credit invoices.
André Arnaud de Cal...
846
Super User 2025 Season 2
CA Neeraj Kumar
838
Sohaib Cheema
818
User Group Leader