Skip to main content
Checkout Custom Fields for Magento 2 — A custom-built Magento 2 / Adobe Commerce extension that adds unlimited custom fields  — 1/1Illustrative preview

A custom-built Magento 2 / Adobe Commerce extension that adds unlimited custom fields (file upload,

date, select, text and more) to the checkout, captures them against the order, and surfaces them in the admin order view, order emails, and the REST/GraphQL APIs. Built, installed, and supported by ECOSIRE.

What is Checkout Custom Fields for Magento 2?

A custom-built Magento 2 / Adobe Commerce extension that adds unlimited custom fields (file upload, date, select, text and more) to the checkout, captures them against the order, and surfaces them in the admin order view, order emails, and the REST/GraphQL APIs. Built, installed, and supported by ECOSIRE. Built to order by ECOSIRE for Magento 2 / Adobe Commerce (build-to-order) — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Unlimited custom fields with text, textarea, date, datetime, select, multiselect, checkbox, radio, and secure file-upload types
File-upload fields with extension/MIME allowlist, size limits, and storage under the protected media directory (never web-accessible by guessable path)
Conditional field visibility — show or hide a field based on the value of another field, cart contents, or customer group
Per-shipping-method and per-payment-method display, so a field appears only for, e.g., 'In-store pickup' or 'Purchase Order' payment
Field values persisted to quote and order via extension attributes (extension_attributes.xml) and a dedicated table — no core table hacks
Server-side re-validation through plugins on ShippingInformationManagement / PaymentInformationManagement so client values can't be tampered with
Values shown in the admin order view via an ACL-gated UI component, and editable by authorized staff
Field data injected into order confirmation and admin notification emails through a registered email template variable
Exposed on both REST (V1/orders) and GraphQL (placeOrder + customerOrders resolver) for headless / PWA Studio storefronts
Required-field enforcement, regex/validation rules, placeholder and help text, and field sort order
Full store-view scope configuration for multi-store, multi-website, and 11-language setups
Admin grid column + export so captured values appear in the Sales → Orders grid and CSV/XML exports
Compatible with one-page checkout, and adaptable to popular one-step checkout extensions on request
Clean uninstall path and upgrade-safe schema via declarative schema (db_schema.xml) and data/schema patches

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Magento 2.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

About this Product

Magento 2's native checkout collects exactly what core gives you — name, address, shipping, payment — and nothing more. The moment you need a PO number, a delivery date, an uploaded prescription or artwork file, a tax ID, or a "how did you hear about us?" select, you hit a wall. Checkout Custom Fields for Magento 2 removes that wall.

This is a build-to-order extension: ECOSIRE engineers it against your exact Magento Open Source or Adobe Commerce version, installs it on your environment, and supports it. It is not an instant Adobe Commerce Marketplace download — we scope your fields, build the module under app/code/Ecosire/CheckoutCustomFields, and hand you a tested, production-ready package.

Under the hood it follows Magento best practice end to end: an extension attribute on the quote and order via extension_attributes.xml and a custom EAV/flat table, a UI component added to the LayoutProcessor so fields render in Knockout checkout, plugins (interceptors) on the ShippingInformationManagement and PaymentInformationManagement service contracts to persist values, and an observer on sales_order_place_after to copy quote data onto the order. Field values flow into the admin order view via a UI component block (ACL-gated), into the transactional order emails through a template variable, and out through both the REST V1/orders payload and a resolver on the GraphQL placeOrder/customer order queries.

You get unlimited fields and field types — text, textarea, date, datetime, select, multiselect, checkbox, radio, and secure file upload — each with conditional visibility rules and per-shipping-method / per-payment-method display. Validation runs client-side (Knockout) and is re-validated server-side so values can't be spoofed. Configuration lives in admin under Stores → Configuration with full store-view scoping for multi-store and multi-language setups.

What you get

  • A custom Magento 2 module (Ecosire_CheckoutCustomFields) under app/code, built against your exact Magento Open Source or Adobe Commerce version (2.4.x line)
  • Installation and configuration on your staging environment, with a smoke-tested checkout, order placement, admin view, and email render
  • Your specified field set built to spec — field types, validation, conditional rules, and per-method display configured and verified
  • Declarative db_schema.xml plus data/schema patches for an upgrade-safe, reproducible install
  • REST and GraphQL exposure of field values configured and documented for headless storefronts where applicable
  • Admin user guide (how to add/edit fields, read captured values, export) plus a short technical README for your developers
  • Production deployment assistance (setup:upgrade, di:compile, static-content:deploy) and a post-launch verification pass
  • Two weeks of go-live support covering defects and configuration adjustments, with optional ongoing maintenance

Who this is for

B2B / wholesale merchant

Needs PO numbers, tax/VAT IDs, requested delivery dates, and account references captured at checkout and printed on the order and invoice — data Magento core simply has no field for.

Personalization & made-to-order seller

Sells engraved, printed, or custom products and must collect artwork uploads, monogram text, and configuration notes tied to the exact order line and visible to the fulfilment team in admin.

Regulated / service merchant

Pharmacies, clinics, rentals, and bookings that need a date picker, a prescription/ID file upload, or consent checkboxes, with conditional fields that only appear for specific shipping or payment methods.

How Checkout Custom Fields for Magento 2 Compares

CriterionECOSIRECustom BuildCompetitorMagento 2 Native
Add unlimited custom fields of any type (incl. file upload) to checkoutIncludedIncludedPartial supportNot included
Conditional visibility + per shipping/payment-method displayIncludedPartial supportPartial supportNot included
Values saved to quote & order via extension attributes (no core hacks)IncludedPartial supportPartial supportNot included
Server-side re-validation of submitted field valuesIncludedPartial supportPartial supportNot included
Exposed in admin order view, order emails, REST & GraphQLIncludedPartial supportPartial supportNot included
Built to your exact Magento/Adobe Commerce version & installed for youIncludedIncludedNot includedNot included
You own the source under app/code (no recurring license)IncludedIncludedNot includedIncluded
Post-delivery support, upgrade path & optional maintenanceIncludedPartial supportPartial supportNot included

Frequently Asked Questions about Checkout Custom Fields

How long does delivery take, since this is build-to-order?

Typical lead time is 5 to 10 business days from when we confirm your field specification and have access to your environment or a copy of your codebase. A simple set of 3 to 5 standard fields lands at the short end; complex conditional logic, file-upload workflows, GraphQL/PWA Studio exposure, or one-step-checkout integration sit at the longer end. We give you a firm date during scoping, build on a branch, and deliver after testing on your staging environment — this is not an instant Marketplace download.

What ongoing support and updates do I get after delivery?

Every build includes two weeks of go-live support for defects and configuration tweaks. Because the module is delivered as source under app/code, you own it outright — no per-seat license or recurring fee to keep it running. For Magento minor/security upgrades (e.g., 2.4.7 to 2.4.8), new fields, or feature additions later, we offer an optional maintenance retainer or per-request billing. We pin the build to your current Magento version and document the upgrade path so your team or ours can move it forward safely.

Will this work with Adobe Commerce and headless / PWA Studio storefronts?

Yes. The module is built on service contracts and extension attributes, so it works on both Magento Open Source and Adobe Commerce on the 2.4.x line. For headless storefronts we expose field values through a GraphQL resolver on placeOrder and the customer order queries, and through the REST V1/orders payload, so your PWA Studio or custom frontend can render, submit, and read the fields. Tell us your stack during scoping and we build the appropriate API surface.

Are the custom field values secure and validated, or can a shopper fake them?

Validation runs in two places. The Knockout UI validates on the storefront for UX, and the values are re-validated server-side inside plugins on the checkout service contracts before they are saved to the quote and order — so a tampered request is rejected. File uploads are constrained by an extension/MIME allowlist and size limit and are stored under a protected media path, not at a guessable public URL. Admin access to view or edit captured values is gated behind a dedicated ACL resource.

Can fields appear only for certain payment or shipping methods, and depend on each other?

Yes — that is a core capability. Each field can be scoped to specific shipping methods (e.g., only for in-store pickup) and/or payment methods (e.g., a PO number only for the Purchase Order method). Fields also support conditional visibility: a field can show or hide based on the value of another field, the customer group, or cart contents. All of this is configured per field in admin, with store-view scope so it can differ across your stores and languages.

Request a quote

Checkout Custom Fields

A custom-built Magento 2 / Adobe Commerce extension that adds unlimited custom fields (file upload, date, select, text and more) to the checkout, captures them against the order, and surfaces them in the admin order view, order emails, and the REST/GraphQL APIs. Built, installed, and supported by ECOSIRE.

  • Unlimited custom fields with text, textarea, date, datetime, select, multiselect, checkbox, radio, and secure file-upload types
  • File-upload fields with extension/MIME allowlist, size limits, and storage under the protected media directory (never web-accessible by guessable path)
  • Conditional field visibility — show or hide a field based on the value of another field, cart contents, or customer group
  • Per-shipping-method and per-payment-method display, so a field appears only for, e.g., 'In-store pickup' or 'Purchase Order' payment

Request a Quotation

Tell us about your Checkout Custom Fields requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.