Overview:-
Product Receipt 'ABC-1'
Product Receipt 'ABC-1'
Now in first Invoice I will select Product receipt 'ABC', 'ABC-2'.
Purchase Invoice number 'INV-00001'
After that in second invoice I will select product receipt 'ABC', 'ABC-1'.
Purchase Invoice number 'INV-00002'
Now I will create last invoice from remaining product receipt lines, so my third invoice generate like below.
Purchase Invoice number 'INV-00003'
So my final product receipt wise data will be like below.
Here is the SQL query for get product receipt line wise invoice number.
Here we will see how to get
invoice number from product receipt in Ax 2012. Let’s take an example of purchase order,
I have created one purchase order after in that purchase order I have created
one or more product receipt and GRN. When I will go for purchase invoice I will
select two product receipt and in that product receipt I will select only 1(one)
line if I have one or more lines in that product receipt. Then I will go for
invoice.
Purchase invoice complete
based on product receipt selected lines. The remaining product
receipt and their lines I will create a new purchase
invoice. Now I have one product receipt and multiple invoice based on
lines I will get an invoice number of
product receipt.
For Example:-
Purchase order number: - 'XYZ-000001'
Product Receipt: - 'ABC','ABC-1','ABC-2'
In my first product receipt 'ABC' I have 2 (Two) lines same as I have multiple line in other product
receipt.
Product Receipt 'ABC'
Line Number
|
Item
|
Ordered Qty
|
Receipt Qty
|
Invoice Qty
|
1
|
PPP
|
1000
|
500
|
0
|
2
|
PPP-1
|
1500
|
500
|
0
|
Product Receipt 'ABC-1'
Line Number
|
Item
|
Ordered Qty
|
Receipt Qty
|
Invoice Qty
|
1
|
PPP
|
500
|
250
|
0
|
2
|
PPP-1
|
1000
|
500
|
0
|
Product Receipt 'ABC-1'
Line Number
|
Item
|
Ordered Qty
|
Receipt Qty
|
Invoice Qty
|
1
|
PPP
|
250
|
250
|
0
|
2
|
PPP-1
|
500
|
500
|
0
|
Now in first Invoice I will select Product receipt 'ABC', 'ABC-2'.
In product receipt ‘ABC’ I
will select 1 line, after in product receipt 'ABC-2' I will select 1 line.
Purchase Invoice number 'INV-00001'
Line Number
|
Item
|
Invoice Qty
|
1
|
PPP
|
750
|
After that in second invoice I will select product receipt 'ABC', 'ABC-1'.
In product receipt 'ABC' I
will select 2 line, after in product receipt 'ABC-1' I will select 1 line.
Purchase Invoice number 'INV-00002'
Line Number
|
Item
|
Invoice Qty
|
1
|
PPP
|
250
|
2
|
PPP-1
|
500
|
Now I will create last invoice from remaining product receipt lines, so my third invoice generate like below.
Purchase Invoice number 'INV-00003'
Line Number
|
Item
|
Invoice Qty
|
2
|
PPP-1
|
1000
|
So my final product receipt wise data will be like below.
Purchase Order
|
Product Receipt
|
Line Number
|
Item Number
|
Purchase Invoice
|
Ordered Qty
|
Received Qty
|
Invoice Qty
|
XYZ-000001
|
ABC
|
1
|
PPP
|
INV-00001
|
1000
|
500
|
500
|
XYZ-000001
|
ABC
|
2
|
PPP-1
|
INV-00002
|
1500
|
500
|
500
|
XYZ-000001
|
ABC-1
|
1
|
PPP
|
INV-00002
|
500
|
250
|
250
|
XYZ-000001
|
ABC-1
|
2
|
PPP-1
|
INV-00003
|
1000
|
500
|
500
|
XYZ-000001
|
ABC-2
|
1
|
PPP
|
INV-00001
|
250
|
250
|
250
|
XYZ-000001
|
ABC-2
|
2
|
PPP-1
|
INV-00003
|
500
|
500
|
500
|
Here is the SQL query for get product receipt line wise invoice number.
SELECT vendpackingslipjour.purchid AS 'Purchase Order Number', CONVERT(DATE, purchtable.accountingdate) AS 'Accounting Date', purchtable.purchstatus AS 'Purchase Status', vendpackingslipjour.grnnumber_in AS 'GRN Number', CONVERT(DATE, vendpackingslipjour.deliverydate) AS 'Delivery Date', vendpackingslipjour.packingslipid AS 'Product Receipt Number', vendinvoicejour.invoiceid AS 'Invoice Number', vendtable.accountnum AS 'Vendor Account', dirpartytable.NAME AS 'Vendor Name', Cast(vendpackingsliptrans.linenum AS DECIMAL(10, 2)) AS 'Line Number', vendpackingsliptrans.itemid AS 'Item Number', ecoresproducttranslation.NAME AS 'Item Name', Cast(vendpackingsliptrans.ordered AS DECIMAL(10, 2)) AS 'Ordered Quamtity', Cast(vendpackingsliptrans.receivedqty_in AS DECIMAL(10, 2)) AS 'Received Quantity', Cast(vendinvoiceinfosubline.inventnow AS DECIMAL(10, 2)) AS 'Invoice Quantity' FROM vendpackingsliptrans JOIN ecoresproduct ON ecoresproduct.displayproductnumber = vendpackingsliptrans.itemid JOIN ecoresproducttranslation ON ecoresproducttranslation.product = ecoresproduct.recid JOIN vendpackingslipjour ON vendpackingslipjour.recid = vendpackingsliptrans.vendpackingslipjour AND vendpackingslipjour.grnnumber_in != '' AND vendpackingslipjour.dataareaid = 'appl' AND ( @PURCHID = '' OR vendpackingslipjour.purchid = @PURCHID ) AND ( ( Format(vendpackingslipjour.deliverydate, 'dd-MM-yyyy') >= Format(@FromDate, 'dd-MM-yyyy') ) OR ( Format(vendpackingslipjour.deliverydate, 'dd-MM-yyyy') <= Format(@ToDate, 'dd-MM-yyyy') ) ) JOIN purchtable ON purchtable.purchid = vendpackingslipjour.purchid AND purchtable.dataareaid = 'appl' JOIN vendtable ON vendtable.accountnum = purchtable.orderaccount AND vendtable.dataareaid = 'appl' AND ( @VendAccount = '' OR vendtable.accountnum = @VendAccount ) JOIN dirpartytable ON dirpartytable.recid = vendtable.party LEFT JOIN vendinvoiceinfosubline ON vendinvoiceinfosubline.journalrefrecid = vendpackingsliptrans.recid AND vendinvoiceinfosubline.dataareaid = 'appl' AND vendinvoiceinfosubline.documentid = vendpackingsliptrans.packingslipid LEFT JOIN vendinvoiceinfosubtable ON vendinvoiceinfosubtable.parmid = vendinvoiceinfosubline.parmid AND vendinvoiceinfosubtable.dataareaid = 'appl' LEFT JOIN vendinvoiceinfotable ON vendinvoiceinfotable.parmid = vendinvoiceinfosubline.parmid AND vendinvoiceinfotable.parmjobstatus = 1 --and VENDINVOICEINFOTABLE.VENDINVOICESAVESTATUS not in ('1','2') AND vendinvoiceinfotable.dataareaid = 'appl' --Executed-0 --ContainErrors-1 --Waiting-2 LEFT JOIN vendinvoiceinfoline ON vendinvoiceinfoline.parmid = vendinvoiceinfosubline.parmid AND vendinvoiceinfoline.tablerefid = vendinvoiceinfotable.tablerefid AND vendinvoiceinfoline.parmid = vendinvoiceinfosubtable.parmid AND vendinvoiceinfoline.origpurchid = vendinvoiceinfosubtable.origpurchid AND vendinvoiceinfoline.tablerefid = vendinvoiceinfosubtable.tablerefid AND vendinvoiceinfoline.itemid = vendpackingsliptrans.itemid AND vendinvoiceinfoline.dataareaid = 'appl' LEFT JOIN vendinvoicejour ON vendinvoicejour.parmid = vendinvoiceinfosubline.parmid AND vendinvoicejour.dataareaid = 'appl' --left join VENDINVOICETRANS on VENDINVOICETRANS.INVOICEID = VENDINVOICEJOUR.INVOICEID -- and VENDINVOICETRANS.INVOICEDATE = VENDINVOICEJOUR.INVOICEDATE -- and VENDINVOICETRANS.PURCHID = VENDINVOICEJOUR.PURCHID -- and VENDINVOICETRANS.NUMBERSEQUENCEGROUP = VENDINVOICEJOUR.NUMBERSEQUENCEGROUP -- and VENDINVOICETRANS.INTERNALINVOICEID = VENDINVOICEJOUR.INTERNALINVOICEID -- and VENDINVOICETRANS.ITEMID = VENDPACKINGSLIPTRANS.ITEMID --where VENDPACKINGSLIPTRANS.FULLYMATCHED in ('1','0') ORDER BY vendinvoicejour.purchid ASC
No comments:
Post a Comment
Thanks for your comment.