Last purchase price per item
The most recent A/P invoice price, vendor and date for every item.
SELECT X.ItemCode, X.Dscription, X.Price, X.Currency, X.CardName, X.DocDate
FROM (
SELECT T1.ItemCode, T1.Dscription, T1.Price, T1.Currency, T0.CardName, T0.DocDate,
ROW_NUMBER() OVER (PARTITION BY T1.ItemCode ORDER BY T0.DocDate DESC, T0.DocEntry DESC) AS RowNo
FROM OPCH T0
INNER JOIN PCH1 T1 ON T0.DocEntry = T1.DocEntry
WHERE T0.CANCELED = 'N'
) X
WHERE X.RowNo = 1
ORDER BY X.ItemCode SELECT X."ItemCode", X."Dscription", X."Price", X."Currency", X."CardName", X."DocDate"
FROM (
SELECT T1."ItemCode", T1."Dscription", T1."Price", T1."Currency", T0."CardName", T0."DocDate",
ROW_NUMBER() OVER (PARTITION BY T1."ItemCode" ORDER BY T0."DocDate" DESC, T0."DocEntry" DESC) AS "RowNo"
FROM OPCH T0
INNER JOIN PCH1 T1 ON T0."DocEntry" = T1."DocEntry"
WHERE T0."CANCELED" = 'N'
) X
WHERE X."RowNo" = 1
ORDER BY X."ItemCode" Three steps, no signup
Copy the right version
Use the SQL Server tab for MS SQL databases and the HANA tab for SAP B1 on HANA.
Open Query Generator
In SAP Business One go to Tools → Queries → Query Generator, paste and click Execute.
Save and share
Click Save, pick a category and give the query a name. Your team can run it from Query Manager.
Questions about this tool
How do I run the last purchase price per item query in SAP Business One?
Copy the version that matches your database, open Tools → Queries → Query Generator, paste it in the SQL box and click Execute. Save it to reuse it later.
Which tables does this query use?
It reads OPCH, PCH1 from the standard SAP Business One schema. No user-defined fields are needed.
Can this be turned into a dashboard or alert?
Yes. We turn queries into Crystal reports, Excel reports that refresh themselves, SAP B1 alerts or WhatsApp messages for managers.
Built for SAP Business One teams
Need this inside SAP Business One?
We build add-ons, reports and integrations for SAP B1 on SQL Server and HANA. Tell us what you need and get a fixed price, usually within 24 hours.
