RevOps HQ
← BACK TO CASE STUDIES
CASE STUDY9/21/2026

HubSpot Quoting Case Study: Retiring a Thirty-Year-Old Access Database at an Aerospace Job Shop

A precision job shop quoted from a Microsoft Access database older than most of its staff. The replacement had to carry revision lineage, and stop three revisions of one quote from counting three times in the pipeline.

CLIENT: Ridgemont Industrial

Running Manufacturing on HubSpot, or thinking about it?

Schedule a consultation

GET WEEKLY REVOPS INSIGHTS

No spam. Unsubscribe anytime.

Summary

Ridgemont Industrial is a precision manufacturing job shop serving aerospace and defence customers. Its processes are investment casting, computer-controlled machining, rapid prototyping, non-destructive testing and complete assembly. Revenue is roughly twenty million United States dollars across fewer than a hundred employees.

Quotes were produced from a Microsoft Access database between thirty and forty years old. It worked, which is the reason it survived, and it could not do three things the business had come to need: carry a revision history that anyone but its author could follow, feed a pipeline report, or connect a quote to the marketing activity that produced the request.

The replacement was a HubSpot implementation across three hubs, with the quoting system as the deliberate first deliverable. The technically interesting requirement was not the template. It was a single checkbox.

A job shop quotes the same part several times as specifications change. One request for quotation commonly produces revisions A, B and C. If each revision carries its value into the pipeline, the pipeline reports three times the real opportunity, and a sales director looking at a forecast is reading a number inflated by an arithmetic artefact. The checkbox marks exactly one revision as the one that counts.

Client details are pseudonymised at the client's request. Figures are as measured.

Background: what the Access database actually was

Describing the incumbent as legacy software understates what it was. It was the firm's institutional memory of what it had ever offered to build, at what price, to whom.

That distinction matters because it sets the way a replacement goes wrong. A quoting tool that produces prettier documents and loses the history is a downgrade, whatever its interface. Holland and Light (1999) identify legacy system strategy among the critical success factors in enterprise system implementation, and treat the decision about what to carry forward as a strategic choice rather than a technical detail.

The commercial motion is also not the one most customer relationship management implementations assume. The firm does not want hundreds of new leads. It wants a few more large customers, and more programmes inside the accounts it already serves. Most requests for quotation arrive through existing relationships. An implementation optimised for volume lead generation would have been well built and pointed at the wrong target.

Two further gaps were visible before any configuration began. Roughly 3,035 United States dollars a month of advertising ran with no attribution reaching a quote or a deal. Request-for-quotation forms on the website carried no tracking at all, so the path from a marketing touch to a quotation existed in reality and nowhere in any system.

Payne and Frow (2005) place performance assessment among the cross-functional processes that separate customer relationship management from contact storage, and both gaps are the absence of that process rather than the absence of a tool. The firm was spending on demand generation and quoting the demand it generated, and no record joined the two ends of that sentence.

Pre-engagement audit

Quoting system age: between thirty and forty years. A Microsoft Access database, single-purpose, maintained by the people who had always maintained it.

Quote revisions counted toward pipeline: all of them. There was no pipeline report, so the inflation was latent rather than observed. Building the report without addressing the revision problem would have created a wrong number where there had previously been none.

Request-for-quotation forms with tracking: zero. Submissions arrived as email.

Monthly advertising spend with attribution to a quote or deal: zero of approximately 3,035 United States dollars.

Marketing email platform: a standalone sending tool with deliverability problems, operated by a marketing function of one person, disconnected from any record of what the recipient had ever been quoted.

Enterprise resource planning: a dedicated manufacturing system, correct and in use, explicitly out of scope for this engagement.

Quote history in scope for migration: 2020 onward. Records older than that were placed out of scope by agreement, recoverable later through a written change order.

Reinartz, Krafft and Hoyer (2004) measure relationship management across initiation, maintenance and termination and find performance most strongly associated with the maintenance stage. For a job shop whose growth comes from more programmes inside existing accounts, that finding is not an abstraction: maintenance is the entire growth strategy, and the quote history is its record.

The build

Phase one: the quote as a versioned record

The template reproduces the firm's existing proposal exactly: five line-item columns covering quantity, description, material condition, unit price and total, with the terms and conditions blocks, the delivery and payment terms, and a signature block supporting electronic signature.

Reproducing the existing document precisely was a deliberate choice rather than a lack of ambition. A quotation that arrives at an aerospace buyer looking different from every previous quotation from the same supplier invites a question the supplier does not want asked during a procurement cycle.

The structural change sits underneath the document. A quote is not a file. It is a record with a number, a revision letter and a lineage, and revisions B and C are versions of the same commercial opportunity rather than new ones.

One request for quotation, three revisions, and the flag that decides pipeline valueA single request for quotation produces one quotation in three revisions: A, the original specification; B, the revision the customer accepted; and C, a later revision that was superseded. Each revision carries the same commercial value, written here as V because the client's figures are not published. Under the obvious rule, summing every revision, the pipeline reports V plus V plus V, or three times the real opportunity. Under the rule as built, summing only revisions where the quote value flag is true, the pipeline reports V once. The flag is set on revision B rather than C, which shows why the rule cannot be simplified to counting the most recent revision: the accepted revision is not always the last one written.ONE OPPORTUNITY, THREE RECORDSV stands for the quotation value. No figure is published, and none is needed: the argument is arithmetic.Request forquotationone part, one customerQ-1042 · Rev Aoriginal specificationvalue Vquote_value ✗Q-1042 · Rev Baccepted by the customervalue Vquote_value ✓Q-1042 · Rev Clater, supersededvalue Vquote_value ✗B was accepted; C was written afterwards and supersededSum every revisionOne opportunity, reported three times.V + V + V = 3VSum where quote_value = trueOne opportunity, reported once.V = VThe cost of the wrong rule is a forecast inflated by the quoting process rather than by the business. The fix is one boolean and one report filter.
Quotation revision lineage and pipeline value. Counting the most recent revision gives the wrong answer here, because the accepted revision is B.
Three revisions of one quotation, and the flag that stops the pipeline counting the opportunity three times

The flag is a boolean on the quote record, set on exactly one revision in a lineage. Pipeline reporting sums only flagged revisions. The rule is simple to state and the alternatives are all worse: summing every revision inflates, summing the latest breaks when a superseded revision is the one that was actually accepted, and summing the highest optimises the report rather than describing the business.

Wang and Strong (1996) define data quality as fitness for the consumer's use rather than as intrinsic correctness, and every revision total in the database is intrinsically correct. The pipeline figure built by adding them up is not fit for the use it is put to, and the difference between those two statements is the reason the checkbox exists.

Phase two: building it where it could be thrown away

The quote template was configured first in a development portal rather than in the production instance.

This is unglamorous and it is the part most likely to be skipped under time pressure. A quote template is not trivially reversible once products exist behind it and quotations have been issued from it, and the firm's proposal format carries contractual language that a procurement function will read closely. Configuring it somewhere disposable, reproducing a real historical proposal against it, and showing the result side by side with the original, converts an argument about requirements into an inspection of an artefact.

Holland and Light (1999) place client acceptance among the tactical factors that decide whether an implementation succeeds, and a side-by-side comparison is the cheapest form of it available. A requirements document asks a sales director to imagine the output. A reproduced proposal asks the same person to look at it, and the second question is answered in a minute by someone who has read ten thousand of these.

Phase three: closing the attribution gap on requests for quotation

Forms were instrumented so that a request for quotation is a tracked event associated to a contact and a company, rather than an email arriving in an inbox.

That single change is what makes the advertising spend measurable. A request for quotation that exists as a record can carry an original source, and a quote created from it inherits the lineage, so the question of which spend produced which quotation becomes answerable rather than debatable.

Zaefarian and Najafi-Tavani (2016) associate supplier sales growth with perceived fairness inside a buyer–supplier relationship, which is a reminder that these accounts are assessed continuously rather than at renewal. Response speed on a request for quotation is part of that assessment, and it cannot be managed before it can be measured.

The migration boundary across the quoting database's service lifeOne timeline covering roughly thirty-six years of quoting history held in a Microsoft Access database. A boundary is drawn at 2020. Everything to the left of it, around thirty years of quotations, stays in the Access database: a question about a part quoted in 2014 is answered in the old system, and crossing the boundary requires a written change order. Everything to the right, six years of quotations, was migrated into the CRM quote object, where it gains revision lineage, the pipeline value flag, attribution back to the originating request, and a document identical to the one the database produced. The two segments are drawn to scale against the years they cover. The number of records in each is not known and is therefore not shown. The boundary was set on the cost of extraction rather than on the value of the records, which is why the split is recorded as a cost of the approach.QUOTING HISTORY — SEGMENTS DRAWN TO SCALE AGAINST YEARS COVEREDThe horizontal axis is time, which is known. Record counts on each side are not published and are not shown.Roughly thirty years of quotationsOut of scope by agreement. Still readable, still in Access.Extraction cost from a database of this age cannot be estimated before it is attempted.20202026Migratedmigration boundary · 2020database enters service, thirty to forty years agotodayStays in the Access databaseA question about a part quoted in 2014is answered in the old system.Crossing the boundary needs a writtenchange order.Migrated to the CRM quote objectRevision lineage, pipeline value flag,attribution back to the request,and a document identical to the onethe database produced.The boundary was set on extraction cost, not on the value of the records.A question spanning both periods has to be asked twice, and that remains true until a change order reverses it.
The migration boundary. Six years of quotations moved and roughly thirty did not, which is a cost of the approach rather than an omission from it.
What crossed from the Access database, what stayed, and the permanent split in the firm's quote history

Phase four: the migration boundary, stated rather than assumed

Quote history from 2020 onward was scoped for migration. Older records were left in place.

The boundary was set on cost rather than on value: the older records have value, and extracting them from a database of that age is work whose size cannot be estimated until it is started. Naming the boundary in the statement of work, with a written change order as the route across it, is what stops an open-ended extraction consuming an implementation budget.

Redman (1998) frames poor data quality as a cost borne continuously rather than an event, and a migration boundary converts one of those continuous costs into a bounded one. The firm pays a small recurring price in split history, which it can quantify, in place of an unbounded extraction cost it cannot.

The consequence is permanent until someone pays to reverse it. The firm's quote history is split across two systems, and a question about a part quoted in 2014 is answered in the old database. That is recorded here as a cost of the approach rather than omitted from it.

Outcomes

Quoting system of record: from a Microsoft Access database of thirty to forty years to a CRM quote object. The document produced is visually identical to its predecessor by design.

Revisions of one quotation counted toward pipeline: from all of them to exactly one. A three-revision lineage previously implied three times its true pipeline contribution.

Line-item columns reproduced in the new template: 5. Quantity, description, material condition, unit price, total, with terms blocks, delivery and payment terms and an electronic signature block.

Request-for-quotation forms carrying tracking: from 0 to instrumented, with source attribution attached to the resulting contact and company.

Advertising spend attributable to a quotation: from 0 of approximately 3,035 United States dollars a month to a measurable path.

Hubs deployed: 3. Marketing, sales and commerce, on a twenty-four-month subscription term.

Quote history migrated: 2020 onward. Earlier records remain in the source system by explicit agreement.

Implementation authorisation: 5,000 United States dollars on a time-and-materials basis at 250 dollars an hour, with any overage controlled through written change order.

Lessons learned

The objection was not about money, and treating it as a pricing objection would have lost the engagement. The firm's principal raised a concern about time-and-materials billing after receiving the statement of work. Read carelessly, that is a request for a discount or a fixed fee. Read carefully, the concern was about being left with a half-built system, which is a sequencing risk rather than a cost risk.

The response was structural. Work was sequenced so that there is always something functional at the end of any week, with the quoting system first because it is the thing the business most needs. Overage was controlled by written change order with advance notice as hours accumulated, so the budget cannot move without a decision. The principal retained direct access to the engagement lead. None of that is a discount, and all of it addresses what was actually being asked.

Reproducing the incumbent artefact exactly is worth more than improving it. The instinct on a quoting rebuild is to redesign the document. The buyer receiving it has been reading the same layout for years and reads it quickly because of that. Familiarity is a feature of a commercial document in a procurement setting.

The most valuable requirement was the smallest. Line items, terms blocks and electronic signature are table stakes and took the least discussion. The checkbox controlling which revision counts is one field and one report filter, and it is the difference between a forecast that describes the business and one that describes the quoting process.

A manufacturing implementation aimed at lead volume would have been wrong here. Most requests arrive through existing relationships, and the growth thesis is more programmes inside current accounts. Makkonen and Vuori (2016) treat buyer attractiveness as a catalyst for relationship development, and in an account-based motion the relevant measure is depth inside a small set of accounts rather than the count of new ones.

Limits

No business outcome is reported. The engagement described is an implementation. Whether quote volume, win rate or cycle time change is not established here, and the pipeline report that would establish it did not previously exist, so there is no baseline to compare against.

The attribution path is built rather than measured. Advertising spend can now be traced to a request for quotation. No figure in this document states how much of it converts, because measuring that requires a period of data the engagement has not yet produced.

The quote template was configured in a development portal at the point described. Products and live quote records had not been created in the production instance. A template proved in a development environment is a template proved in a development environment.

The historical record is permanently split until a change order reverses it. Quotations before 2020 are answerable only from the original database, and anyone asking a question spanning both periods has to ask it twice.

Enterprise resource planning integration was out of scope. The manufacturing system and the CRM do not exchange data under this engagement, which means quote-to-order handoff remains a human step.

This is one job shop's motion. A manufacturer pursuing volume lead generation rather than programme expansion inside named accounts would weight this implementation differently, and the revision-counting problem would matter less at a firm that quotes each job once.

Conclusion

The visible problem was an old database. The actual problem was that a quotation had never been a record.

A document produces a price. A record produces a lineage, a pipeline contribution, an attribution path and a history that survives the person who wrote it. The Access database held the history and nothing else, which is why it lasted decades and why it had to be replaced.

The checkbox is the part worth carrying to another firm. Any business that revises quotations, which is every job shop and most engineered-to-order manufacturers, has a pipeline report waiting to be built wrong. The fix costs one field. Discovering that the forecast has been inflated for a year costs considerably more.

References

Holland, C. P., & Light, B. (1999). A critical success factors model for ERP implementation. IEEE Software, 16(3), 30–36. https://doi.org/10.1109/52.765784

Makkonen, H., & Vuori, M. (2016). Buyer attractiveness as a catalyst for buyer–supplier relationship development. Industrial Marketing Management, 55, 156–168. https://doi.org/10.1016/j.indmarman.2015.09.004

Payne, A., & Frow, P. (2005). A strategic framework for customer relationship management. Journal of Marketing, 69(4), 167–176. https://doi.org/10.1509/jmkg.2005.69.4.167

Redman, T. C. (1998). The impact of poor data quality on the typical enterprise. Communications of the ACM, 41(2), 79–82. https://doi.org/10.1145/269012.269025

Reinartz, W., Krafft, M., & Hoyer, W. D. (2004). The customer relationship management process: Its measurement and impact on performance. Journal of Marketing Research, 41(3), 293–305. https://doi.org/10.1509/jmkr.41.3.293.35991

Wang, R. Y., & Strong, D. M. (1996). Beyond accuracy: What data quality means to data consumers. Journal of Management Information Systems, 12(4), 5–33. https://doi.org/10.1080/07421222.1996.11518099

Zaefarian, G., & Najafi-Tavani, Z. (2016). Do supplier perceptions of buyer fairness lead to supplier sales growth? Industrial Marketing Management, 53, 160–171. https://doi.org/10.1016/j.indmarman.2015.07.003

Conflict of Interest Statement

RevOps HQ is a HubSpot Solutions Partner and was paid to perform the implementation described here, on a time-and-materials basis at a stated hourly rate, replacing the platform vendor's standard onboarding. The subscription cost is paid by the client directly to the vendor and the partner does not share in it. Figures come from the engagement's own scoping and handoff records. No business outcome is claimed.

Acknowledgments

The quoting requirements were specified by the firm's sales director, who identified the revision-counting problem before any configuration began. An existing customer proposal supplied by the firm's marketing lead was used as the reproduction target for the template.

Schedule a consultation

Thirty minutes, no deck. We look at your portal and tell you what this would involve for a manufacturing business — including whether it is worth doing yet.

HubSpot services

Onboarding, implementation, integration, migration, administration and training, each scoped and priced before the work begins

WEEKLY PROGRAM

RevOps Office Hours

A recurring weekly RevOps operating program. Live support plus hands-on HubSpot implementation work.

$1,500/mo
Monthly Operating Program
  • 1 live Office Hours session per week
  • 4 hours of hands-on implementation work per month
  • Hours allocated against priorities agreed at the start of each period
  • Recurring monthly cadence