I'll post this as an answer although @GSerg link in the comments should solve the issue. This is the relevant ZPL code:
^XA
^FO15,300^A0,25^FD Invoice #^FS
^FO150,300^A0,25^FD Date^FS
^FO300,300^A0,25^FD Cust #^FS
^FO400,300^A0,25^FD Name^FS
^FO650,300^A0,25^FD Amount^FS
^FO10,330^GB800,3,3^FS
^FO15,350^A0,25^TBN,305,25^FD200001^FS
^FO150,350^A0,25^FD10/26/2021^FS
^FO300,350^A0,25^FD100^FS
^FO400,350
^A0N,25,25
^TBN,220,100^FDVeryLongCustomerNameGoesHereAndWillBeTruncated^FS
^FO650,350^A0,25^FD$129.90^FS
^XZ
Note that the TB command only works for printers with firmware version V60.14.x, V50.14.x, or later, so if yours is older, this may indeed not work. This is the result in the simulator:

To wrap the text, simply set a smaller height for the text block as follows:
^FO400,350
^A0N,25,25
^TBN,220,30^FDVeryLongCustomerNameGoesHereAndWillBeTruncated^FS
Result:

As per comments, this will wrap if there is a space in the name. To always clip at the exact same location no matter the text, see @Mark Warren's answer. Another option is to do this in whatever code is creating the label ensuring the name is max N characters.