Your sales team uses an AI contract generator to speed up quotes. The system pulls a client name, project scope, and pricing from your CRM, then generates a three-page agreement in seconds. The client signs it. Two weeks later, your accountant flags something wrong: the contract includes a payment term that doesn't exist in your system, a discount percentage that was never agreed, and a liability cap that contradicts your standard. The AI invented all of it. This is not a hypothetical risk—it's what happens when language models (LLMs) operate without structural constraints. Generative AI is excellent at mimicking the shape and tone of a contract. It is terrible at hallucinating—confidently inventing facts, numbers, and clauses that sound plausible but don't reflect your actual business terms, tax obligations, or risk appetite. Once a client signs, that invented clause becomes your legal liability. The fix is not to ban AI from contract drafting. It's to lock the AI to your real data: approved templates, validated SKUs, and mandatory human review checkpoints. Here's how to build guardrails that actually work. Why AI Contracts Hallucinate Pricing and Terms Language models are trained to predict the next word in a sequence based on patterns in training data. When you ask an LLM to generate a contract, it does exactly that—it predicts plausible contract language based on thousands of real contracts it has seen. The problem: it has no access to your actual pricing, terms, or compliance rules. So it invents. Common hallucinations in contract generation: Pricing numbers that don't exist. You quote £15,000 for a project. The AI generates a contract with a £15,000 base fee, a £3,200 contingency, a £1,800 implementation fee, and a £2,400 annual support tier—none of which you agreed to. Total: £22,400. The client sees it in print and anchors to it. Payment terms pulled from nowhere. The AI writes "50% deposit, 40% on completion, 10% on go-live." Your actual policy is "30% upfront, 70% on invoice." The discrepancy sits unnoticed until payment is due. Liability clauses that conflict with your insurance. The AI caps liability at damages multiplied by contract value—a reasonable-sounding formula that your insurance policy explicitly excludes. You're now uninsured for a clause you didn't intend. Tax and compliance invented from thin air. For services in Malaysia or Indonesia, the AI might generate a clause about GST handling that contradicts local law, or it might omit tax ID validation entirely. You're now legally exposed. Discount percentages and special terms. The AI reads "important client" in the CRM note and invents a 15% volume discount, extended payment terms, or free post-implementation support that was never discussed. The core problem: AI contracts sound authoritative and legally coherent. A busy sales team or client won't scrutinize every number. By the time a lawyer or accountant reviews it, the client has already anchored to the invented terms. Lock Pricing to Real SKUs and Approved Pricing Rules The first guardrail is to remove ambiguity about what can be priced and at what values. Instead of letting the AI fetch "pricing" from a vague CRM field, bind it to a structured list of products or services with fixed prices, rules, and conditions. Build a real SKU library Create a master list of every service, product, or fee line you actually offer. For each SKU, define: SKU code and name. E.g., "SETUP-BASIC", "SUPPORT-TIER-2", "TRAINING-HALFDAY". Standard price and currency. This is the only price the AI is allowed to pull. If the client gets a discount, that's handled separately (see below). Tax treatment. Is this subject to GST, SST, VAT, or e-Faktur? Define it once, here. The AI will fetch it, not invent it. Minimum and maximum allowed. If a SKU normally costs £5,000 but can range £4,000–£8,000 depending on scope, define those bounds. The AI cannot exceed them. Incompatibilities. Some SKUs cannot be paired (e.g., you can't sell "SUPPORT-TIER-1" and "SUPPORT-TIER-2" in the same contract). Document this. Mandatory conditions. If "TRAINING-HALFDAY" requires a minimum annual support contract, note it here. Store this in a database or structured spreadsheet that the contract generator can query. When the AI drafts a contract, it pulls only from this list. If a sales rep tries to add a SKU or price that doesn't exist in the library, the system rejects it before the contract is generated. Separate pricing logic from contract text Don't let the AI invent a discount percentage or blended rate. Instead: The sales rep selects SKUs and quantities in your CRM or quote builder. A pricing engine—not the AI—calculates the line items, applies approved discounts (if any), and sums the total. The AI is given only the final list of line items and the total. It cannot modify or reinterpret them. The AI inserts these pre-calculated values into the contract template. This way, the AI never touches pricing logic. It's a pure text inse