I only sell services but in the end it's almost the same thing. Small companies just sign my consulting agreement. Large ones usually insist on their PO's and those have very one-sided terms which I do not accept. So I tell them I only design stuff for them if my agreement is signed _and_ referenced for terms on the PO. If they insist on their consulting agreement which is typically also very one-sided I heavily redact it and their lawyers are busy for a few hours until they accepted all my changes. Else no deal.