Turns out it is a simple fix in the Purchase Order report.
If you go into the PurchaseOrder report definition and find the "Foot" Query Source, replace that query with:
SELECT formatExtPrice(subtotal) AS f_subtotal,
formatExtPrice(totalfreight) AS f_totalfreight,
formatExtPrice(tax) AS f_tax,
formatExtPrice(subtotal + totalfreight + tax) AS f_totaldue
( SELECT COALESCE(SUM(poitem_qty_ordered * poitem_unitprice), 0) AS subtotal,
COALESCE(SUM(poitem_freight)+pohead_freight,0) AS totalfreight,
getOrderTax('P', <? value("pohead_id") ?>) AS tax
FROM pohead JOIN poitem ON (poitem_pohead_id=pohead_id)
WHERE (pohead_id=<? value("pohead_id") ?>)
GROUP BY pohead_freight ) AS data;
Essentially all you are doing is changing the getOrderTax('PO'...) with getOrderTax('P'...)
Substantial changes were made with the taxation subsystem in xTuple for the version 5.0 release. This was done to allow external Taxation agencies (such as Avalara) to be introduced to calculate the complexities of taxation in some jurisdictions (particularly the vagaries of the U.S. taxation system) rather than maintain all of those parameters yourself. We also took the time to introduce and improve several features.
You do not need to use an external taxation agency to continue using xTuple. The previous internal taxation methods will continue to work. We obviously had a couple of small bugs in two reports, but the core taxation system should continue to operate. There is a migration that runs when upgrading that should have brought all off your historic invoices up to the current structure. If you are having difficulties, I suggest raising a support call where we can look at your data and determine if there was an issue with the migration.