So You Want Custom Keycaps and Need to Keep Track of Everything
Custom keycap orders are a mess if you try to do them in your head. I learned that the hard way when I first tried to order a full set from a small batch run. I had seven different profiles mixed across three manufacturers, two different colorways for modifiers, and zero documentation. By the time the order landed, I'd paid for six extra caps I didn't need and was missing two key sizes I actually wanted. That experience basically forced me into building a spreadsheet system, and it's saved me more money than anything else in this hobby. A worksheet for custom keycaps is just an organized table where you map out every key you're ordering, what profile it uses, what switch type it's meant for, pricing per unit, manufacturer lead times, and any special notes like dye-sub versus double-shot construction. It sounds simple but the complexity ramps up fast once you're mixing and matching between suppliers or ordering multiple test batches before committing to a full set.
Why Worksheet For Custom Keycaps Is Not Optional Once You Go Beyond Stock Sets
The short answer is that custom keycap orders involve more variables than most people expect before their first purchase. You're looking at profile selection, key size mapping, material choice, color coordination, batch minimums, shipping costs split across multiple vendors, and sometimes even switch compatibility testing to make sure your chosen caps work with the switches you actually own. Without a single source of truth, you will lose track of at least one detail. I've seen it happen repeatedly in forums where people come back months later wondering why their order is wrong, and it's always because they placed the same order twice or forgot to account for a modifier row that needed a different kit. Here's what I actually use in my spreadsheet. The first tab is a master layout. I list every key position by row and column, then fill in the cap profile, material, color code, unit price, quantity, and supplier for each entry. The second tab is a cost summary that aggregates by supplier so I can see exactly how much each vendor order will run, including shipping. The third tab is a timeline tracker where I log order dates, estimated ship dates, actual arrival dates, and any issues that came up during quality checks. I keep it in Google Sheets because I access it from my phone at the keyboard store when I'm testing profiles in person and want to update things on the fly. One thing beginners miss is that keycap sizing doesn't follow a perfectly consistent standard across manufacturers. The spacebar on one brand's kit might be two millimeters shorter than the same spacebar on another brand's kit, especially with alternative profile lines. I learned this when I ordered a secondary set from a different supplier and the 6.5u and 7u keys were slightly off. My workaround was to add a column in my sheet where I note the exact measured length of each key position for every manufacturer I order from, taken with calipers before I place the order. That column has saved me from several returns and exchanges.
Another detail people don't think about is switch stem compatibility. Not all keycaps fit all switch stems, and some profiles have tighter tolerances than others. Cherry-profile caps are the baseline, but MX-compatible stems from other brands sometimes have a slightly different width or wall thickness that causes certain profiles to wobble or sit too low. I ended up adding a compatibility verification step in my process where I test-order a single key from each new manufacturer-supplier pair before committing to a full set. It adds about two weeks to the timeline but prevents the kind of disaster where you receive a whole box and half the keys feel loose.
Get the Full Details

How to Build the Spreadsheet Without Overcomplicating It
Start with the simplest structure that covers your current needs, then expand as your ordering gets more complex. A bare minimum worksheet only needs these columns: key position, profile, material, color, unit price, quantity, supplier, total cost, and order status. That's it. Every column after that is a layer of refinement you add once you notice a gap in your tracking. I recommend using dropdown menus for the profile and material columns so you don't end up typing "PBT" on one row and "pbt" on another, which breaks any summary formulas you build later. Google Sheets handles this with data validation, and it only takes two minutes to set up. The order status column should use a simple three-state system: pending, ordered, received. Anything more complicated than that and you're building a project management tool instead of a worksheet, which is unnecessary unless you're running a group buy or coordinating with other people's orders. For the cost tabs, keep the math straightforward. Use SUMIF formulas that pull all quantities and prices for a given supplier and add shipping. Don't try to build an automated pricing engine that calculates everything based on raw material costs and labor. You don't need that level of sophistication, and it will just slow you down when you're trying to compare two different batch orders against each other. A basic sum with a manual shipping input field is all you need.
When you start dealing with group buys, the worksheet needs a separate section for participant tracking. Each buyer gets their own row with their key position, size, and payment status. I once ran a group buy where I lost track of three people who hadn't paid and shipped the whole order before realizing it. The lesson was to add a payment confirmation column and never mark anything as shipped until every name in that column shows paid. It's not a technical limitation of the spreadsheet, it's just a process failure, but the spreadsheet should be the thing that prevents the failure, not something you ignore while you wing it.
Pitfalls and What Happens When This System Breaks Down
The biggest weakness of any worksheet system is that it only works if you actually maintain it. I've had spreadsheets go months without updates, and by the time I reopened one, I couldn't remember what half the entries meant because I never added notes or version stamps. The fix is simple: add a last-modified date column and commit to updating it within twenty-four hours of any order change. If you don't, the data rots and becomes worse than having no system at all because you'll trust outdated information and make decisions based on it. Another issue is over-engineering. People will spend forty-five minutes building elaborate conditional formatting, dynamic charts, and automated alerts for a tool that should take thirty seconds to scan. Your worksheet should be fast to read and fast to edit. If you find yourself spending more time maintaining the spreadsheet than you would just writing the order details on a piece of paper, you've gone too far. Strip it back to the core columns and add features only when a specific gap in your workflow forces you to. There are also situations where a spreadsheet is the wrong tool entirely. If you're ordering from a single manufacturer, one profile, one color, and you know exactly what you want before you place the order, a worksheet is overhead. Just use the manufacturer's configurator and a browser bookmark. The system shines when you're dealing with multiple suppliers, mixed profiles, group buys, or repeated reorder cycles where you need to compare past purchases against current ones. Know when not to use it, otherwise you're just adding busywork to a simple task.

One more practical note on suppliers. Some batch runs use non-standard packaging or ship keys in bulk bins rather than organized trays, which means you need to count and verify every key yourself upon arrival. My received column isn't just a checkbox, it's a tally field where I log the actual count of each key size against what I expected. This caught a missing 1.5u key on my most recent order from a European vendor, and it only took me thirty seconds to spot the discrepancy because I had the numbers laid out in front of me instead of guessing from a packing slip that listed everything as "complete." That kind of verification is the part of this whole system that actually pays for itself.