Issue #21190 Add API user privs to Contact object.
Issue #21190 Add API user privs to more Contact object.
Issue #21190 Add API user privs to Account objects.
Issue #21190 While filtering by API username association, use lower()
Issue #21190 Add API user privs to Customer objects.
Issue #21190 Add API user privs to Incident objects.
Merge branch 'doc_fix'
Merge branch 'xtuple'
Merge branch 'xtuple'
Merge branch 'xtuple'
Add coalesce to coitem_firm.
Fix xt.coiteminfo UUID default on insert.
Merge branch 'xtuple'
Merge branch 'xtuple'
Merge branch 'xtuple'
Fix some error messages.
issue #22029 setup

TODO
  - resolve question: to what Receivable to attach a new CashReceipt for
    SalesOrder allocation? or contrive a new one for this purpose?
CashReceiptAllocation
  - links CashReceipt, CashReceiptLine, and a target Document to which
    part of the CashReceipt balance will be applied
  - added CashReceiptAllocation relations, lists, and a
    CashReceiptWidget
SalesOrder
  - extended SalesOrder ORM with allocations list
  - added Payment panel to Workspace
flawed implementation of #22029; breadcrumb

TODO
  - allow user input of documentNumber, do not link to SalesOrder
  - treat SalesOrder allocation as an "Allocation" of some sort, not a
    CashReceipt
  - split credit card panel in two, put payment entry form on top
Merge remote-tracking branch 'STEVE/22391-report-translations' into 22393
Issue #22393: Making Invoice report look nice