Hello @JessikaLisboa
, there’s different ways to view this and implement bespoke products on shopify keeping in mind shopify’s paradigm was not built for that purpose.
It can be saner to abstract things to set priced product|variant|options, or collect a maximum then issue a refund for the differences in difficulty though that can give a different feel to the customer journey for something like art /shrug.
If you need any of the below customized or explored then contact me directly for services.
Please provide context, examples: store url, theme name, post url(s) , or any further detail.
Contact Info in signature.
RFQ - Customers fill out a form with uploads and you send them a draft order to collect payment.
If the customer cannot be left to their own devices in choosing pricing, or if you have no predefined prices such as making a product with options like “canvas size”, “paint type” etc, or more abstract concepts like a variant option for “complexity” then you probably need to go the route of Request for Proposal/Quote apps or customization to a contact form to collect the info you need.
https://shopify.dev/docs/themes/customer-engagement/add-contact-form
https://shopify.dev/docs/themes/customer-engagement/add-contact-form#optional-inputs
Alternates: A) Is have a deposit product or a consulting fee product to which you use line item properties to collect the needed customer info and have them go through checkout at least once. https://shopify.dev/docs/api/liquid/objects#line_item-properties
B)During customer sign up collect additional info https://shopify.dev/docs/themes/customer-engagement/additional-customer-information
Dynamic drafts - if you do have some formula by which a price can be established script an app like usemechanic to generate a draft order on the fly and redirect the customer on the website to that draft orders checkout or email them.
Good for when variants|options aren’t the right fit to represent your product process but you need to give a cost to the customer on the frontend without you having to manually go over every submission.
https://tasks.mechanic.dev/create-a-draft-order-from-the-cart