So it would be an error in bookkeeping, not a fix, to omit some bookkeeping entries.
For code maintenance and simplicity the implementation creates these transactions whenever there may be required bookkeeping entries.
If an organisation happens to use the same financial account for credit cards and cheques the extra entries do not result in accounting ...
This Fuzion extension would be worth checking out, and if it doesn't provide the required token, could have a PR with the required code, which might be better than a standalone extension for this problem
Once can find payments for contribution by clicking on Amount from Contribution result. The section which appears after clicking on amount shows all the payments against the contribution.
I believe its not possible to turn off 'Record Payment' link from contribution through UI. But you can implement hook_links() in your extension and unset the record ...
I have my Alt Invoice extension, which sends an additional invoice to someone based on their relationship. I'd say that a developer could start from there to make an extension and be more than halfway there.
I would create a new Financial Account and Payment Instrument called 'Work Trade'. And use 'Work Trade' payment instrument to record $200. And while exporting accounts you can handle 'Work Trade' accounts separately.
As of now, Partial payment is only possible through backend in CiviCRM. There is an open issue which extends it to be usable from live contribution page too. See https://github.com/civicrm/civicrm-core/pull/12319. To test/use this functionality, you need to perform the following steps -
Apply this patch on your site.
Create a pending/partially paid ...