Hi,
If you create a custom field of the table "item" via the menu Display>Custom fields, the user will be able to fill it on the product page, before clicking on the add to cart button. The filled value will then be available in the invoice below each product if you turn on the corresponding display setting of the custom field.
So it does what you want, but on the product page, not on the checkout. Having the field on the checkout inside the cart view is not impossible, but not easy. It would require some custom development.