Detect Duplicate Submissions
Detect Duplicate Submissions Below is the exact prompt to copy-paste into ChatGPT, Claude or Gemini, plus a step-by-step on how to run it cleanly.
People also ask
- What is an expense policy?
- An expense policy is a written set of rules defining which work-related expenses a company will reimburse, the limits per category, the receipt and approval requirements, and the country-specific compliance addenda. It is the contract between the employee and finance.
- Who owns the expense policy?
- The CFO owns the document, with sign-off from the General Counsel for legal language and the People / HR lead for the employee-facing clauses. Local controllers own the country addenda. Sales-ops, IT and Travel are consulted but do not approve.
- How long should an expense policy be?
- Eight to twelve pages for the master policy, plus a one-page addendum per country. Anything longer goes unread; anything shorter cannot cover client meals, travel, cards, exceptions and country compliance with the required specificity.
- How is an expense policy enforced?
- Encode the rules in your expense platform (policy-as-code), surface the relevant clause inline at submission, audit 100% of items above $1,000 and statistically below, and publish a monthly violation-rate dashboard. Enforcement that lives only on PDF is not enforced.
- How often should an expense policy be reviewed?
- Once a year as a hard minimum, plus an out-of-cycle update whenever the IRS, HMRC, SAT, DIAN or Receita Federal changes a relevant deduction rule, mileage rate or per-diem table.
- Works with ChatGPT, Claude, Gemini
- Copy-paste ready
- Free under MIT-style license
- 5 steps
The prompt
Given two expense submissions with merchant, amount, date, traveler — output a duplicate-likelihood score 0-1. Consider: merchant string similarity, amount within 1%, date within 24h, same traveler.
When to use it
Use this when you need detect duplicate submissions done in minutes rather than hours. The prompt assumes you have access to a frontier model (GPT-4, Claude 3.5+, Gemini 1.5+); smaller models work but may need 1-2 iterations of prompt-tightening to reach the same quality. The prompt is intentionally short — under 200 tokens — so it fits comfortably as a system message and leaves headroom for the user input.
Common gotchas
Three things break this prompt most often. First, missing context: the model has no idea what your policy says — embed the relevant clauses inline. Second, over-broad placeholders: every {VARIABLE} should be specific (city > country, role > department). Third, output-format drift: pin the JSON schema and reject malformed output rather than parsing best-effort.
Production wiring
For one-off use, paste the prompt into a chat UI. For repeated use, wire it via API: store the prompt as a versioned template, parameterize the placeholders, log every prompt+response pair to your audit trail, and rate-limit per user. Most teams discover the audit-log requirement halfway through their first incident — bake it in from day one.
Step-by-step
1. Open the prompt: Paste the prompt for "Detect Duplicate Submissions" into ChatGPT, Claude or Gemini. 2. Substitute placeholders: Replace {variable} placeholders with your real data. 3. Run + validate: Run the prompt. Validate the output against your policy. 4. Iterate: Tighten the prompt with one specific failure case until output is clean. 5. Save the recipe: Store the final prompt + sample output in your AI-prompt library so the team reuses it.
What good output looks like for "Detect Duplicate Submissions"
A clean run on "Detect Duplicate Submissions" returns a structured artifact you can drop straight into the policy doc, the spend platform, or the audit-trail report — not a wall of prose. Three quality signals to check before accepting the output: (1) every cap, threshold or category named in your input appears verbatim in the output, with no model-introduced synonyms; (2) the rationale is short (one sentence per decision) and traces to a clause you can locate in the source policy; (3) the output flags ambiguity explicitly rather than silently picking a default. If any of the three are missing, re-run with the gotcha fix from the section above and the next pass will land. Most teams reach a stable prompt + output combination by iteration 3 and then never touch it again.
When NOT to use this prompt
Three scenarios where the prompt is the wrong tool. First, anything that touches PII or specific compensation data — route through your enterprise tenant or stick with deterministic code. Second, the final legal sign-off step — a human attorney needs to read the output before it becomes binding policy. Third, edge cases the prompt was not designed for — if the question is fundamentally about your single-vendor contract terms or a one-off acquisition, the model lacks the context. The prompt shines on repeatable, schema-bounded work; everything else still needs human judgment.
FAQ
- Can I use this with my company's data?
- Yes — but route through your enterprise tenant (ChatGPT Team, Claude for Work, Gemini Workspace) so the data is not used for training. Avoid free-tier consumer chat for any submission containing PII or financial detail.
- Which model gives best results?
- For policy drafting and explanation, Claude 3.5 Sonnet edges ahead in tone. For structured JSON output (classification, decision), GPT-4o is the most reliable. Gemini 1.5 Pro wins on long-document tasks where the entire policy must fit in context.
- Is the prompt under any license?
- MIT-style — copy, modify, redistribute. Attribution appreciated, not required.
Why this expense-policy library exists
Every page on this site is built from the same opinionated framework: an explicit per-category cap, a named approver chain, a documented exception path, and a review cadence anchored to the controller's close calendar. We publish the framework openly so finance leaders, controllers, and operations teams can adopt it without a vendor lock-in or a six-figure consulting engagement. The expense-policy generator turns the framework into a finished document in three languages, with country-specific tax compliance baked in from the first draft.
Behind every URL is a typed registry — landing pages, glossary entries, calculators, country pillars, and learning hubs are all generated from the same data layer that powers the policy generator itself. That means the per-diem rate you see in the calculator, the GSA-aligned mileage benchmark in the rates table, and the threshold language in the generated PDF are all sourced from one canonical place and refreshed on the same cadence. There is no drift between what we write here and what the generator produces.
Trust signals are non-negotiable: every editorial page lists the reviewer, the review date, and the underlying source — IRS publication, HMRC manual, SAT criterio, Receita Federal IN, or peer-reviewed research. When a regulator updates a per-diem schedule, the change propagates to the calculator, the country pillar, the glossary entry, and the policy template in the same release. That is the bar we hold ourselves to, and the reason controllers across the US, UK, Mexico, Brazil, and the broader LATAM region rely on this library when they re-issue their expense policy each fiscal year.
The editorial program is organized into four parallel surfaces. The industry vertical (SaaS, FinTech, Manufacturing, Retail, Hospitality, Agency, Healthcare, Nonprofit) gives every reader a starting template tuned to the cost categories, regulators, and audit findings that dominate their sector. The country pillar (United States, United Kingdom, Mexico, Brazil, Colombia, Argentina, Chile, Peru, Spain, and Portugal) layers on the local tax-compliance overlay — CFDI, NF-e, DIAN, AFIP, SII, IRS Form 8027, HMRC P11D — so the generated policy is enforceable in every jurisdiction where you operate. The persona track (CFO, controller, finance manager, head of operations, founder) reframes the same building blocks around the buyer's specific quarterly priorities. Finally, the calculator suite (per-diem, mileage, VAT-recovery, T&E benchmark, carbon, tax-id validator) gives finance teams the specific numerical inputs they need to set thresholds, justify caps, and back-test the policy against actual spend before it ships.
Cross-linking between these surfaces is deliberate, not accidental. A SaaS reader landing on the industry page is one click from the country overlay that matches their primary entity, the calculator that backs the per-diem cap they are about to commit to in writing, and the glossary entry that defines whatever IRS or SAT term they have not seen before. We measure the ratio of internal links per page weekly and refuse to publish a new landing without at least four anchors into the topical hubs. That single discipline is why a CFO can land on any page in this library and reach the policy generator in under three clicks — no matter which surface their search engine routed them through.