All case studies

Case study

A Card Catalog Organized by Moment, and a Quick-Order Sheet for Wholesale Buyers

Parameter built It Takes Two a storefront organized around the moments its cards are for, a quick-order sheet and reorder portal for wholesale accounts, and the custom Fiery integration that turns paid orders into print jobs.

It Takes Two website
Client
It Takes Two
Platform
Odoo
Services
Odoo

Results

About 1,600

Products published

On ittakestwo.com, October 2026

9

Categories with written introductions

Each with its own search title and description

13

Product codes generated

From three numbering rules confirmed by the team

Fiery

Print integration

Paid orders create print jobs on the Fiery server

Operational improvements

Shoppers start from the moment they need a card for. Wholesale buyers order a whole category from one sheet and reorder from past orders. Paid orders create print jobs with settings chosen from a fixed list.

Business impact

It Takes Two has a storefront built around how people look for its cards, a quick path for the shops that stock them, and print jobs created from orders with consistent settings. The results of the October search work have not been measured yet.

01 · The situation

What was going on before we started.

What was breaking

The storefront ran on a purchased theme, organized like a generic shop rather than around what a card is for. Wholesale buyers who stock racks by the case went through the same product-by-product path as shoppers. Search engines saw several addresses per product, and print settings were typed as free text.

What was at risk

A shopper looking for a pet-loss card should not have to browse a general catalog to find one, and a shop restocking forty designs should not have to open forty product pages. Duplicate addresses also split each product's search presence.

The business

It Takes Two is a greeting card publisher founded in 1984 in Minnesota, known for Georgia Rettmer's torn-paper art. It makes greeting cards, note cards, bookmarks and two-year pocket planners and sells them online and by the pack to card and gift shops, veterinary clinics, churches, hospice and care teams, and real estate offices. Today it is based in Jacksonville, Florida.

Existing stack

BigCommerce stores, with a Parameter-built integration that sent paid orders to the Fiery print server. The business then moved to Odoo, where the storefront first ran on a purchased theme.

Scale

About 1,600 products published on ittakestwo.com (October 2026), sold at list price to anyone and by the case through wholesale accounts. One Odoo website with its own storefront design.

Constraints

Orders ship every day, and the print floor depends on jobs arriving correctly. Existing product addresses had to keep working. Wholesale buyers order by the case and need a faster path than shoppers.

02 · Approach & solution

The decisions behind the build.

Why this approach

Organize the catalog around moments, because that is how people look for these cards, and give wholesale buyers a sheet instead of a shop. Odoo already held the catalog, the orders and the print integration, so both could be built on it.

Alternatives considered

Keeping the purchased theme and adjusting it was the smaller job, but it could not be organized around moments or give wholesale buyers their own path.

Tradeoffs

A storefront theme of its own and a custom quick-order sheet are more code to maintain than a purchased theme. In return the catalog, the wholesale path and the search settings belong to It Takes Two.

Constraints

Old product addresses redirect to the new ones. The quick-order sheet had to respect case quantities and wholesale pricing.

03 · Workstreams

Five pieces of work, in order.

Cards by moment

What was done

Organized the catalog by the moment a card is for. The Cards menu opens on a moments block, category pages filter by moment, theme and season, and each product page carries a color-coded moment tag and ends with a grid of more cards for the same moment.

Why it mattered

People look for these cards by occasion: a loss, a pet, a hard week. The catalog now starts there.

What it replaced

A generic shop structure on a purchased theme

The Cards menu, opening on the moments block: sympathy, pet loss, encouragement and more.
The Cards menu, opening on the moments block: sympathy, pet loss, encouragement and more.

Wholesale quick order

What was done

Built a quick-order sheet for wholesale accounts: the line as a sortable table, best-sellers first, with server-side paging, real thumbnails and quantities by the case, added to the cart in one step. A Past orders view lists the cards the account has bought before, and every category page links to the sheet with its filters applied. A wholesale portal home offers order history and an interactive reorder.

Why it mattered

A shop restocking a rack orders dozens of designs at once, and a sheet is faster than a shop for that.

What it replaced

Product-by-product ordering for wholesale buyers

The It Takes Two quick-order sheet with tabs for Past orders, Best sellers and Whole line, a table of cards with case counts, and an order panel.
The wholesale quick-order sheet on Best sellers: case counts typed down the column, the moment color key, and the order panel. Shown on a test account.

A storefront of its own

What was done

Built It Takes Two's own Odoo theme: a gallery-wall homepage, mega menus, an editorial footer, and product pages that show the front and inside wording and credit the artist and the verse writer. A public wholesale page and an application that asks for a resale or tax-exemption certificate came with it.

Why it mattered

The cards are the product, so the site is built to show them. The purchased theme it replaced has been uninstalled.

What it replaced

A purchased storefront theme

A card product page with its moment tag, the front and inside wording in full, and the verse writer credited.
A card product page with its moment tag, the front and inside wording in full, and the verse writer credited.

A catalog search engines can read

What was done

Gave each product one canonical address, redirected old numeric category addresses to named ones, wrote introductions with their own search titles and descriptions for nine categories, kept login, cart and account pages out of search results, and limited the sitemap to real, dated pages.

Why it mattered

Search engines should see one clear page per product and per category. This work went live on October 12, 2026, and nothing is measured yet.

What it replaced

Several addresses per product and numeric category addresses

The More in sympathy grid at the foot of a card product page.
The More in sympathy grid at the foot of a card product page.

Print jobs and item codes

What was done

Built the custom Fiery integration that turns a paid order into a print job, first for BigCommerce and then on Odoo, with imposition chosen from a fixed list instead of typed. Built an item code generator: thirteen product codes from three numbering rules the team confirmed.

Why it mattered

Print jobs and product codes that follow fixed rules come out the same way every time.

What it replaced

Free-text imposition codes

04 · Execution

The stack and the decisions behind it.

  • Odoo on Odoo.sh
  • itt_theme (storefront theme module)
  • itt_products (moments and catalog data)
  • Quick-order sheet and wholesale portal
  • Custom Fiery print integration
  • Odoo eCommerce, Sales and Inventory
  • ShipStation

Technical decisions

The storefront is a theme module of its own

The storefront is a theme module of its own. Moments are part of the product data, so the menu, the filters, the tags and the related grids all read from one source. The quick-order sheet pages on the server, so it stays quick across the whole line. The Fiery integration takes its imposition settings from a fixed list.

Turning points

Organizing by moment

Organizing by moment. Once the catalog had moments, the same data drove the menu, the category filters, the product tags, the related grids and the quick-order sheet's filters.

Unexpected issues

What did not go to plan

The public sitemap had been listing far more product pages than were really for sale. Filtering it to real, dated pages was part of the October search work, so earlier page counts are not a guide to the catalog.

The full story

The project start to finish, in one read

It Takes Two began in 1984 as a mother-and-daughter company in Minnesota. Georgia Rettmer made the art, from torn paper she made and dyed herself, and her daughter Kimberly Rinehart wrote the verses. Today the company publishes greeting cards, note cards, bookmarks and pocket planners, sold to anyone online and by the pack to card and gift shops, veterinary clinics, churches, hospice teams and real estate offices.

The catalog runs deep in the cards that are hardest to find: sympathy, pet loss, encouragement and faith. So the new storefront is organized by moment. The Cards menu opens on a moments block, category pages filter by moment, theme and season, and every product page carries its moment as a tag and ends with more cards for the same moment.

Product pages show the card’s front and inside wording in full and credit the artist and the verse writer. For these cards the words matter as much as the picture.

Wholesale buyers get a faster path. The quick-order sheet lists the line as a sortable table, best-sellers first, with real thumbnails and quantities set by the case, and adds everything to the cart in one step. Every category page links to the same sheet with its filters applied, and the wholesale portal home lets a buyer open a past order, pick items and reorder.

Behind the storefront, Parameter built the custom Fiery print integration, first against the company’s BigCommerce stores, and moved it to Odoo with the business: a paid order creates a print job, with imposition chosen from a fixed list. In October the catalog was also cleaned up for search, and thirteen product codes are now generated by three rules the team confirmed.

05 · Takeaways

What carries over to other projects.

Who this applies to

Publishers and product companies with a large catalog sold to both shoppers and trade buyers, especially where trade buyers order by the case and the step from paid order to production job is worth automating.

Patterns observed

Organize the catalog the way customers search, and one piece of data can drive the menu, the filters and the related products. Trade buyers want a sheet, not a shop.

When to consider this

When customers look for products by occasion rather than by category. When wholesale buyers order dozens of items at a time through a retail shop. When orders are retyped into a print or production system.

Next step

Want this kind of clarity on your own stack?

If your site, store, or business system is carrying silent risk, we can map the problem, choose the right approach, and turn it into something steadier.