Dark Light

How to Sell Services on Your WooCommerce Store Without Breaking the Cart Flow

Varun Dubey 8 min read

WooCommerce was built for selling products. Selling services takes a little more thought, but it works, and works well, once you know which settings to use and which plugins fill the gaps. Here’s how to set up a service-selling store without breaking the cart flow your customers already trust.


Why Cart Flow Matters for Service Sellers

When a customer buys a service, the cart and checkout flow is the first trust signal. If checkout is confusing (shipping fields for a digital service, shipping costs appearing, wrong confirmation emails), customers hesitate or abandon. Your job is to configure WooCommerce so the checkout feels purpose-built for services, not retrofitted from a physical product store.


Step 1: Use Virtual Products (Not Simple Products)

In WooCommerce, go to Products > Add New. Under Product Data, set the product type to “Simple product” and check the box marked “Virtual.” This removes all shipping fields from the product page and checkout. No shipping options appear, no shipping cost is calculated, and the confirmation email won’t reference delivery.

For services delivered digitally (PDFs, reports, videos), also check “Downloadable” and attach the file. WooCommerce will send a download link in the order confirmation email automatically.

Disable Shipping for Service-Only Stores

If you only sell services, go to WooCommerce > Settings > Shipping and delete all shipping zones. This prevents any shipping option from appearing at checkout even if someone forgets to mark a product as virtual.


Step 2: Price Your Services Correctly in WooCommerce

WooCommerce supports several service pricing models out of the box:

  • Fixed price: One product, one price. Example: “Brand Identity Package – $1,200”
  • Variable pricing by package tier: Use a Variable product with variations. Example: Basic ($500), Standard ($900), Premium ($1,500)
  • Quantity-based hourly: Set price at $80/unit, label units as “hours.” Customer buys 3 units = 3 hours at $240.
  • Custom quote: Price at $0 or “Free” and use a request-a-quote plugin like YITH Request a Quote ($79/year) to collect requirements before invoicing

For packages with defined scope, the Variable product approach works well because each variation can have its own description, price, and SKU. A customer selects “Standard” from a dropdown, sees the $900 price, and proceeds to checkout without confusion.


Step 3: Collect Service Requirements at Checkout

Most services need information from the client before you can start work: project brief, business name, target audience, login credentials, or a description of the problem. Collecting this at checkout (not via a follow-up email) speeds up project start and reduces back-and-forth.

Option A: WooCommerce Product Add-Ons ($49.99/year)

WooCommerce Product Add-Ons lets you add custom fields to any product page. You can add text fields, dropdowns, checkboxes, or file uploads that appear on the product page and carry through to the order. The customer fills in their project brief while they’re adding the service to the cart.

Option B: Checkout Field Editor ($49/year)

For requirements that apply to all services, add a custom field to the checkout page itself using a Checkout Field Editor plugin. This adds a text area (e.g., “Describe your project”) to the Order Notes section or a custom field group that saves to the WooCommerce order.

Option C: WP Sell Services

WP Sell Services handles requirements collection as part of its native service order flow. Sellers create requirement questions per service. Once the customer places the order, they’re directed to a requirements screen to fill in their brief before work starts. This is cleaner than product add-ons because requirements are stored in the service order system, not buried in order notes.


Step 4: Set Up Service Delivery Communication

After a service is purchased, the customer needs to know what happens next. Customize the WooCommerce order confirmation email to include:

  • What the next step is (“You’ll receive an onboarding questionnaire within 24 hours”)
  • Expected delivery timeline
  • How to contact you with questions
  • A link to their client portal or project dashboard (if you have one)

Customize WooCommerce order emails under WooCommerce > Settings > Emails. For deeper customization, use Kadence WooCommerce Email Designer (free) or MailPoet.


Step 5: Handle WooCommerce Order Statuses for Services

WooCommerce’s default order statuses (Pending, Processing, Completed, Cancelled) don’t map well to service delivery. A service order moves through stages like: Paid, Requirements Received, In Progress, Review, Delivered, Complete.

Add custom order statuses using WooCommerce Order Status Manager ($79/year). Customers can see their service status in My Account > Orders, which reduces “what’s the update?” emails.


Selling Recurring Services with WooCommerce Subscriptions

Monthly retainers, weekly maintenance plans, and ongoing coaching packages work best as subscriptions. WooCommerce Subscriptions ($249/year) adds a subscription product type that bills customers automatically on a weekly, monthly, or annual schedule.

Setup steps for a recurring service:

  1. Create a new product, set type to “Simple subscription”
  2. Set subscription price (e.g., $500/month)
  3. Mark as Virtual
  4. Set a trial period if you want a free or reduced-cost first month
  5. Configure the sign-up fee if your service has an onboarding cost separate from the monthly rate

Recurring services through WooCommerce Subscriptions also integrate with WP Sell Services, so each monthly billing cycle can trigger a new service order, keeping the delivery workflow active month-to-month without manual order creation.


Tax Settings for Service Products

Tax rules for services vary by jurisdiction. In the US, most states don’t tax service-based work, though some states (Texas, New York, Hawaii) do tax certain professional services. In the EU, digital services are taxed at the buyer’s VAT rate.

In WooCommerce > Settings > Tax:

  • For US service sellers not required to collect sales tax: set product tax class to “Zero Rate” on your service products individually
  • For EU digital services: enable taxes and use a plugin like TaxJar or Avalara to calculate EU VAT automatically
  • For physical service delivery (on-site cleaning, installation): apply standard tax rates based on service location

Always consult a tax professional for your specific situation. WooCommerce’s tax system is flexible enough to handle most configurations, but the rules for your jurisdiction determine how you set it up.


Organizing a Multi-Service Store

If you sell multiple types of services (web design, SEO, copywriting, consulting), organize them with WooCommerce product categories. Create a category per service type and use the shop page to display all services, filterable by category.

Tips for service store organization:

  • Name categories from the buyer’s perspective: “Website Projects” not “Web Development”
  • Pin your highest-revenue service to the top of the shop page using WooCommerce product ordering
  • Create bundle products that combine multiple services at a discount (e.g., “Brand + Website Package” as a single Virtual product priced below the sum of both)
  • Use product attributes for things like turnaround time (“3-day turnaround”) or service format (“Async” vs “Live Call”)

Using Reviews to Build Trust for Service Products

WooCommerce’s built-in product review system works for services too. Enable reviews on your service products (Product Data > Advanced > Allow customer reviews). After a service is completed, send the buyer a follow-up email asking for a review. You can automate this with AutomateWoo ($99/year): trigger an email 3-5 days after order status changes to “Completed” with a direct link to the review form.

Reviews on service product pages serve a different purpose than product reviews. They validate your process, communication, and quality, not just the output. Encourage clients to mention: turnaround time, how you handled revisions, what the onboarding process was like, and whether they’d hire you again. A review that says “Delivered on time, made two revisions without complaint, and the final logo was exactly what we needed” is more persuasive than “Great work, highly recommend.”

WooCommerce also supports verified reviews only (from buyers who actually purchased the product), which adds credibility. Enable this under WooCommerce > Settings > Products > Reviews.


The Full-Service Workflow: WP Sell Services

If you’re building a service-first store (not a product store with some services on the side), WP Sell Services handles the complete service workflow within WooCommerce:

  • Service listings: Create services with descriptions, packages, and pricing
  • Order flow: Customer orders through WooCommerce cart and checkout
  • Requirements collection: After payment, customer fills in project brief
  • Work delivery: Seller delivers files or output through the order system
  • Revision management: Built-in revision rounds
  • Client portal: Customers track order status and communicate in their dashboard

Accepting Deposits for Services

For high-value services ($500+), collecting a deposit (typically 25-50%) upfront and the balance on delivery is standard practice. WooCommerce Deposits ($79/year) adds a deposit option to any product. The customer pays the deposit at checkout and receives an invoice for the balance due later.


Handling Refunds for Services

Services are non-returnable by nature, but WooCommerce doesn’t know that. In the product description, state clearly: “Due to the custom nature of this service, refunds are not available once work has begun. A 100% refund is available if work has not started within 48 hours of purchase.”


Payment Gateways That Work Best for Service Sellers

Stripe has strong dispute management tools for service sellers. When setting up Stripe with WooCommerce (via Stripe for WooCommerce, free plugin), enable the “Evidence Submission” setting so you can attach project delivery proof to any disputed charge. PayPal has a higher dispute rate for services, so keep detailed delivery records in WooCommerce order notes if you use it.


Cart Flow Checklist for Service Sellers

  • Product marked as Virtual (shipping removed from checkout)
  • Shipping zones deleted or disabled if service-only store
  • Requirements collected via Product Add-Ons, Checkout Field, or WP Sell Services
  • Order confirmation email customized with service-specific next steps
  • Custom order statuses added to reflect service delivery stages
  • Deposit option configured for high-ticket services
  • Refund policy clearly stated on product page and policy page
  • Payment gateway dispute settings reviewed
  • Test checkout run end-to-end with a $1 test service before going live

Frequently Asked Questions

Can I sell services and physical products in the same WooCommerce store?

Yes. Mark service products as Virtual and keep physical products as standard Simple products. WooCommerce calculates shipping only on the physical items in the cart. The service line items show with $0 shipping. Test a mixed cart checkout to verify the combined order confirmation is clear to customers.

Do I need a special plugin to sell services on WooCommerce?

Not for basic service selling. A Virtual product with a custom email and a requirements field covers most freelance and consulting use cases. Where plugins add real value is when you need structured delivery (WP Sell Services), recurring billing (WooCommerce Subscriptions), or appointment scheduling (WooCommerce Bookings, Amelia).

How do I handle service delivery for purchased orders?

After a service is paid, deliver the work via email, a client portal link, or a Google Drive folder share. Add a note to the WooCommerce order documenting what was delivered and when. For large-scale service delivery, WP Sell Services has a built-in delivery system where sellers upload files and the buyer accepts delivery within the order interface.

How do I prevent customers from buying more quantity than makes sense for my service?

Set the Maximum quantity to 1 under the product’s Inventory tab. This prevents a customer from adding 5 units of a “Strategy Call” service to the cart. For services sold in defined blocks (e.g., consulting hours), set minimum and maximum quantities to match your available slots.


Next Steps

Start with the basics: create a Virtual product, run a test checkout to confirm no shipping fields appear, and customize your order confirmation email. That alone puts your service store ahead of most WooCommerce setups that use out-of-the-box defaults.

If you need appointment scheduling alongside service orders, pair your cart setup with a WooCommerce appointment booking plugin to handle time-slot selection at checkout.

For pricing strategy and package structures, see how other service sellers have set up service packages, hourly rates, and custom quotes in WooCommerce to build pricing that converts.

Varun Dubey

Shaping Ideas into Digital Reality | Founder @wbcomdesigns | Custom solutions for membership sites, eLearning & communities | #WordPress #BuddyPress