Available for projects & agency overflow · Quick reply, from the person who does the work

Adding a field to a product or an order

«I just need one more field.» It is the request that looks simplest and holds the most surprises, because a field never exists alone: it must be entered somewhere, stored, displayed, found again, exported, printed, and sometimes translated.

Describe my issue Send a message

The typical need

The requests recur in similar shapes: a free comment per order line, an internal reference on the product page, a case number entered by the customer at checkout, supplier information visible internally only, or regulatory data that must appear on the invoice.

All raise the same underlying question: who enters it, who reads it, and where must the information reappear. A field visible only in admin is quick work. A field entered by the customer at checkout touches the purchase path, validation, the confirmation email and printed documents, which is an entirely different job.

How I approach this kind of work

I start by checking whether the platform already does it. PrestaShop has product features and custom product fields, plus an order comment field; WooCommerce accepts additional data attached to a product or an order without needing a structure to be created. Many requests stop there, and that is a good thing.

When the data must be filterable, validated or reused elsewhere, I create proper storage rather than lodging it in an existing field repurposed for the job. That is where a year of peace is won or lost: data placed in a field designed for something else always ends up clashing with the original function, typically at export or during a migration.

Then I explicitly handle the whole chain: entry, validity checking, admin display, customer display if needed, presence in emails, exports and PDF documents. That list is what separates a genuinely usable field from a field nobody ever looks at.

Related pages

Frequently asked questions

Can the field be made mandatory at checkout?
Yes, but it touches checkout validation: you must decide what happens when it is empty, how the error message shows, and check that the block doesn’t break one-click payments, which sometimes bypass that step.
Will the field appear in existing exports?
Not automatically. Native exports list columns known in advance. Adding a column to an export is separate work from creating the field, and it is better planned from the start.
What happens to the field during a platform migration?
Data held in a proper structure is found and transferred. Data lodged in a repurposed field is often lost or misread, because the migration tool treats it as the original data.
How many fields can be added without degrading the store?
The count matters less than how they are stored. A few well-placed fields cost nothing; dozens of values stored row by row in a generic table noticeably slow down product and order lists.

Describe your need in one minute

A few targeted questions so I can reply with an estimate rather than another questionnaire.

type
existant
stack (facultatif)
utilisateurs (facultatif)
echeance (facultatif)
Please provide an email or a phone number so I can get back to you.

Please provide an email or a phone number so I can get back to you.