This idea sounds interesting.I think it's very neat to have to possiblity to setup printer selection only once per database, but I understand the requirement.Adding a new Field "Company Name" to the primary key could solve this, although it would be technical a breaking change.
Additionally would ask that we can define the PO number format for each customer (number of characters, alpha or numeric, spaces or dashes) Example: 24New-12. It would further avoid confusion via orders placed on the phone and assist with delays on invoice payment.
Not only the Shipping Agent & Shipping Agent Service & Shipping Time fields are missed, but also the Package Tracking No. field.It should be possible to handle a purchase return shipment the same way as you would a sales shipment.