How to record customer agreements

We are revising our customer terms and conditions, and want every existing and new customer to sign/ agree to our terms, ideally through one of the platforms we already use. I don’t think Breww allows the automatic inclusion of a pdf on invoice, terms are too long to include within every invoice, and anyway I don’t want to make customers check them every time as they are unlikely to change often. They can sign them once as terms of business and have done with it.
Has anyone found a good way of doing this?
We use Breww, Xero and Mailchimp and I can’t see that any of them have an obvious way of doing this.
We can email individuals and attach a digitally signed document to each customer in Files, but keeping track of who has and hasn’t done it would be awkward and time-consuming.
Is there something in customisable customer fields that would work? Can you run a report on a customised customer field?

We don’t currently have any way of automatically including a T&Cs document, I think it would have to be sent separately at this point.
You could certainly make use of custom fields to record who has/hasn’t signed - good idea. These fields can be reported on using the Customers & suppliers Raw data explorer report. If you add the field in ‘fields to view’, you can see something like the following:

A ‘No’ would denote someone who’s previously had ‘Signed latest agreement’ ticked and then unticked later. A blank result denotes someone where the custom field hasn’t been touched yet.
You can also use custom fields with our customer importer/updater, which would make applying this in bulk nice and easy.
I hope this is helpful.