A merchant key may set only its own record. An admin key may set any merchant’s. GET on the same path reads the current settings, including when early adoption was switched on.
Or per request
early_adoption: true, rounding_preference and local_adoption: true on POST /api/v1/transaction apply to that transaction. A request value of true combines with the merchant setting; a request cannot switch a merchant’s early adoption off.
What early adoption does to the record
The pending rule governs the calculation, and the activation state is early_adoption_voluntary. The sealed record never calls the transaction compliance with a law in force.
Early adoption applies a method that the statute will require or permit later. It does not create a safe harbor before the effective date, and it does not change what the engine records about the federal layer. Merchants should take advice before switching it on in a state whose current rule differs from the coming one.
Operator choice in Indiana
From January 1, 2027, an Indiana business entity must round the tax-inclusive cash total when the second decimal is not 0 or 5, by the operator’s choice of rounding down, rounding up, or to the nearest five cents. The engine resolves operator_choice to the merchant’s rounding_preference; with no preference set, it applies nearest five cents and says so. A merchant preference never overrides a statutory method: Indiana’s government collection tier rounds down regardless.
Local adoption
California SB 1005 lets a local agency round cash payments once its governing body adopts the authority by majority-vote resolution. Virginia Chapter 713 lets a locality adopt temporary procedures by ordinance until July 1, 2027. Until local_adoption is recorded, those tiers report awaiting_condition and fall through. The merchant (or the agency’s POS) records adoption with local_adoption: true and a basis (the resolution or ordinance number), which is carried into the record’s conditions.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Centsless Developer Documentation","description":"Jurisdiction-aware cash rounding compliance for point of sale: the Decision and Evidence Engine API.","colors":{"primary":"#C87533","light":"#D9925A","dark":"#A85F26"},"logo":{"light":"https://mintcdn.com/centsless/PVRD6n2WzGuWDTyL/logo/light.png?fit=max\u0026auto=format\u0026n=PVRD6n2WzGuWDTyL\u0026q=85\u0026s=c7a806166e38026074e2f8c721f01bce","dark":"https://mintcdn.com/centsless/PVRD6n2WzGuWDTyL/logo/dark.png?fit=max\u0026auto=format\u0026n=PVRD6n2WzGuWDTyL\u0026q=85\u0026s=e9931d46981f07ca358a196f61c1296b","href":"https://www.centsless.org"},"favicon":"https://mintcdn.com/centsless/PVRD6n2WzGuWDTyL/favicon.png?fit=max\u0026auto=format\u0026n=PVRD6n2WzGuWDTyL\u0026q=85\u0026s=115530c7a6698d8fe93ead16967583f8","api":{"playground":{"display":"simple"},"examples":{"languages":["curl","javascript","python"]}},"appearance":{"default":"light"},"background":{"color":{"light":"#F7F3EE","dark":"#18181B"}},"navbar":{"links":[{"href":"https://www.centsless.org","label":"centsless.org"},{"href":"mailto:developers@centsless.org","label":"Developer support"}],"primary":{"type":"button","label":"Request a pilot","href":"https://www.centsless.org/contact"}},"footer":{"socials":{"website":"https://www.centsless.org","linkedin":"https://www.linkedin.com/company/centsless"}},"seo":{"indexing":"navigable"},"fonts":{"heading":{"family":"DM Serif Display"},"body":{"family":"Source Serif 4"}},"contextual":{"options":["copy","view"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Legislation Tracker","icon":"landmark","href":"https://www.centsless.org/intelligence/legislation-tracker"},{"anchor":"Compliance Analysis","icon":"scale-balanced","href":"https://www.centsless.org/intelligence/compliance-analysis"},{"anchor":"Request a pilot","icon":"handshake","href":"https://www.centsless.org/contact"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"centsless","hasAudioNarration":false,"actualSubdomain":"centsless","customDomains":["docs.centsless.org"],"gitSource":{"type":"github","owner":"kthatfield","repo":"centslessapidocs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6adea47099006ddb7c86cc53"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6adf7a8d9fac823faefe3a87","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API Reference","count":67},{"language":"default","tag":"Documentation","count":28},{"language":"default","tag":"Admin","count":16},{"language":"default","tag":"How the engine decides","count":10},{"language":"default","tag":"Guides","count":10},{"language":"default","tag":"Tipping","count":9},{"language":"default","tag":"Partner","count":7},{"language":"default","tag":"Jurisdiction","count":6},{"language":"default","tag":"Compliance and fraud","count":5},{"language":"default","tag":"Getting started","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"centsless.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F63fjptAgt5VM-kVkqdyU8n1iIq129k.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F63fjptAgt5VM-kVkqdyU8n1isq129k.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F63fjptAgt5VM-kVkqdyU8n1pUL8lJdhg.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F63fjptAgt5VM-kVkqdyU8n1iAq129k.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F63fjptAgt5VM-kVkqdyU8n1iEq129k.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F63fjptAgt5VM-kVkqdyU8n1i8q1w.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F6qfjptAgt5VM-kVkqdyU8n3twJwl1FgtIU.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F6qfjptAgt5VM-kVkqdyU8n3twJwlRFgtIU.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F6qfjptAgt5VM-kVkqdyU8n3twJwupkp-8tFQ.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F6qfjptAgt5VM-kVkqdyU8n3twJwl9FgtIU.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F6qfjptAgt5VM-kVkqdyU8n3twJwl5FgtIU.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F6qfjptAgt5VM-kVkqdyU8n3twJwlBFgg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl1FgtIU.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlRFgtIU.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F6qfjptAgt5VM-kVkqdyU8n3vAOwupkp-8tFQ.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl9FgtIU.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl5FgtIU.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'IBM Plex Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/ibmplexmono/v23/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlBFgg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n:root{--cu-50: #FBF3EC;--cu-100: #F4E1D0;--cu-200: #E9C3A2;--cu-300: #DDA476;--cu-400: #D9925A;--cu-500: #C87533;--cu-600: #A85F26;--cu-700: #864A1D;--cu-800: #633616;--zn-50: #FAFAFA;--zn-100: #F4F4F5;--zn-200: #E4E4E7;--zn-300: #D4D4D8;--zn-400: #A1A1AA;--zn-500: #71717A;--zn-600: #52525B;--zn-700: #3F3F46;--zn-800: #27272A;--zn-900: #18181B;--zn-950: #09090B;--panel: #F7F3EE;--content-width: 46rem;--sidebar-width: 17rem}code,kbd,pre,samp,#sidebar [data-layout-item=\"sidebar\"] .text-xs,.toc,#table-of-contents-content{font-family:\"IBM Plex Mono\", ui-monospace, SFMono-Regular, Menlo, monospace}#content-area{color:var(--zn-800)}#content-area h1,#content-area h2,#content-area h3,#content-area h4{color:var(--zn-950)}#content-area a:not(.card){color:var(--cu-600);text-decoration-color:var(--cu-300)}#content-area a:not(.card):hover{color:var(--cu-700);text-decoration-color:var(--cu-500)}#content-area :not(pre)>code{color:var(--cu-700);background:var(--zn-100);border:1px solid var(--zn-200);border-radius:4px;padding:0.08em 0.35em;font-size:0.92em}#content-area pre{background:var(--zn-900);border:1px solid var(--zn-700);border-top:3px solid var(--cu-500);border-radius:8px}#content-area pre code{color:var(--zn-100)}#content-area table{border-collapse:collapse}#content-area th{color:var(--zn-600);font-family:\"IBM Plex Mono\", ui-monospace, monospace;font-size:0.8rem;letter-spacing:0.04em;text-transform:uppercase;border-bottom:2px solid var(--cu-500)}#content-area td{border-bottom:1px solid var(--zn-200)}#content-area .card{border-color:var(--zn-200);background:#FFFFFF}#content-area .card:hover{border-color:var(--cu-400)}[data-component-part=\"card-icon\"]{color:var(--cu-500)}#content-area .accordion{border-color:var(--zn-200)}#content-area .callout{background:var(--panel);border-left:4px solid var(--cu-500);border-radius:6px}#sidebar,#navbar{border-color:var(--zn-200)}#sidebar a{color:var(--zn-600)}#sidebar a:hover{color:var(--zn-900)}#sidebar a[aria-current=\"page\"],#sidebar .text-primary{color:var(--cu-600)}#sidebar a[aria-current=\"page\"]{background:var(--cu-50)}#topbar-cta-button{background:var(--cu-500);color:#FFFFFF}#topbar-cta-button:hover{background:var(--cu-600)}#footer,footer{border-top:1px solid var(--zn-200);color:var(--zn-500)}.dark #content-area{color:var(--zn-200)}.dark #content-area h1,.dark #content-area h2,.dark #content-area h3,.dark #content-area h4{color:var(--zn-50)}.dark #content-area a:not(.card){color:var(--cu-400);text-decoration-color:var(--cu-600)}.dark #content-area a:not(.card):hover{color:var(--cu-300)}.dark #content-area :not(pre)>code{color:var(--cu-300);background:var(--zn-800);border-color:var(--zn-700)}.dark #content-area pre{background:var(--zn-950);border-color:var(--zn-800);border-top-color:var(--cu-400)}.dark #content-area th{color:var(--zn-400);border-bottom-color:var(--cu-400)}.dark #content-area td{border-bottom-color:var(--zn-800)}.dark #content-area .card{background:var(--zn-900);border-color:var(--zn-800)}.dark #content-area .card:hover{border-color:var(--cu-500)}.dark #content-area .accordion{border-color:var(--zn-800)}.dark #content-area .callout{background:var(--zn-900);border-left-color:var(--cu-400)}.dark #sidebar,.dark #navbar{border-color:var(--zn-800)}.dark #sidebar a{color:var(--zn-400)}.dark #sidebar a:hover{color:var(--zn-100)}.dark #sidebar a[aria-current=\"page\"],.dark #sidebar .text-primary{color:var(--cu-400)}.dark #sidebar a[aria-current=\"page\"]{background:var(--zn-800)}.dark #footer,.dark footer{border-top-color:var(--zn-800);color:var(--zn-500)}"}],"page":{"pagePath":"guides/early-adoption-and-operator-choice","slug":"/guides/early-adoption-and-operator-choice","pageMetadata":{"title":"Early adoption and operator choice","description":"Per-merchant settings for applying a law before its effective date, choosing a method where a statute allows one, and recording local adoption.","href":"/guides/early-adoption-and-operator-choice"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Per-merchant settings for applying a law before its effective date, choosing a method where a statute allows one, and recording local adoption.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Three decisions belong to the merchant, not the engine. The engine stores them per merchant and lets a request override them.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Setting`}),_jsx(_components.th,{children:`What it does`}),_jsx(_components.th,{children:`Where it matters`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`early_adoption`})}),_jsx(_components.td,{children:`Apply an enacted-but-not-yet-effective rule now`}),_jsx(_components.td,{children:`Connecticut and Indiana before January 1, 2027; California merchants before July 1, 2027; Oklahoma subdivisions before July 1, 2027`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`rounding_preference`})}),_jsx(_components.td,{children:`The operator’s method where a statute leaves the choice to the operator`}),_jsx(_components.td,{children:`Indiana business entities (IC 23-15-13-4): round down, round up, or nearest`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`local_adoption`})}),_jsx(_components.td,{children:`The paying agency has recorded that its locality adopted a local-option authority`}),_jsx(_components.td,{children:`California SB 1005 local agencies; Virginia localities under Chapter 713`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`set-them-per-merchant`,children:`Set them per merchant`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` PUT`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.centsless.org/api/v1/merchants/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$MERCHANT_ID`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/early-adoption\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"x-api-key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$MERCHANT_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"content-type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{ \"early_adoption\": true, \"rounding_preference\": \"mandatory_round_down\" }'`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`A merchant key may set only its own record. An admin key may set any merchant’s. `,_jsx(_components.code,{children:`GET`}),` on the same path reads the current settings, including when early adoption was switched on.`]}),`\n`,_jsx(Heading,{level:`2`,id:`or-per-request`,children:`Or per request`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`early_adoption: true`}),`, `,_jsx(_components.code,{children:`rounding_preference`}),` and `,_jsx(_components.code,{children:`local_adoption: true`}),` on `,_jsx(_components.code,{children:`POST /api/v1/transaction`}),` apply to that transaction. A request value of `,_jsx(_components.code,{children:`true`}),` combines with the merchant setting; a request cannot switch a merchant’s early adoption off.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-early-adoption-does-to-the-record`,children:`What early adoption does to the record`}),`\n`,_jsxs(_components.p,{children:[`The pending rule governs the calculation, and the activation state is `,_jsx(_components.code,{children:`early_adoption_voluntary`}),`. The sealed record never calls the transaction compliance with a law in force.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"statutory_basis\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"legislation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"SB 243\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"citation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"IC 23-15-13 (payments to business entities); …\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"enacted\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"activation_state\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"early_adoption_voluntary\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"effective_date\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2027-01-01\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"local_transaction_date\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-12-01\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Early adoption applies a method that the statute will require or permit later. It does not create a safe harbor before the effective date, and it does not change what the engine records about the federal layer. Merchants should take advice before switching it on in a state whose current rule differs from the coming one.`})}),`\n`,_jsx(Heading,{level:`2`,id:`operator-choice-in-indiana`,children:`Operator choice in Indiana`}),`\n`,_jsxs(_components.p,{children:[`From January 1, 2027, an Indiana business entity must round the tax-inclusive cash total when the second decimal is not 0 or 5, by the operator’s choice of rounding down, rounding up, or to the nearest five cents. The engine resolves `,_jsx(_components.code,{children:`operator_choice`}),` to the merchant’s `,_jsx(_components.code,{children:`rounding_preference`}),`; with no preference set, it applies nearest five cents and says so. A merchant preference never overrides a statutory method: Indiana’s government collection tier rounds down regardless.`]}),`\n`,_jsx(Heading,{level:`2`,id:`local-adoption`,children:`Local adoption`}),`\n`,_jsxs(_components.p,{children:[`California SB 1005 lets a local agency round cash payments once its governing body adopts the authority by majority-vote resolution. Virginia Chapter 713 lets a locality adopt temporary procedures by ordinance until July 1, 2027. Until `,_jsx(_components.code,{children:`local_adoption`}),` is recorded, those tiers report `,_jsx(_components.code,{children:`awaiting_condition`}),` and fall through. The merchant (or the agency’s POS) records adoption with `,_jsx(_components.code,{children:`local_adoption: true`}),` and a `,_jsx(_components.code,{children:`basis`}),` (the resolution or ordinance number), which is carried into the record’s `,_jsx(_components.code,{children:`conditions`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Early adoption and operator choice","description":"Per-merchant settings for applying a law before its effective date, choosing a method where a statute allows one, and recording local adoption.","href":"/guides/early-adoption-and-operator-choice"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Set them per merchant","slug":"set-them-per-merchant","depth":2,"children":[]},{"title":"Or per request","slug":"or-per-request","depth":2,"children":[]},{"title":"What early adoption does to the record","slug":"what-early-adoption-does-to-the-record","depth":2,"children":[]},{"title":"Operator choice in Indiana","slug":"operator-choice-in-indiana","depth":2,"children":[]},{"title":"Local adoption","slug":"local-adoption","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"centsless","siteName":"Centsless Developer Documentation","title":"Early adoption and operator choice - Centsless Developer Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T00:53:10.762Z","originalFileLocation":"guides/early-adoption-and-operator-choice.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Per-merchant settings for applying a law before its effective date, choosing a method where a statute allows one, and recording local adoption.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Centsless Developer Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/centsless/VNFsu5xI7JEOUzAl/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/centsless/VNFsu5xI7JEOUzAl/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/centsless/VNFsu5xI7JEOUzAl/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/centsless/VNFsu5xI7JEOUzAl/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/centsless/VNFsu5xI7JEOUzAl/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/centsless/VNFsu5xI7JEOUzAl/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/centsless/VNFsu5xI7JEOUzAl/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/centsless/VNFsu5xI7JEOUzAl/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/centsless/VNFsu5xI7JEOUzAl/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Early adoption and operator choice - Centsless Developer Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Per-merchant settings for applying a law before its effective date, choosing a method where a statute allows one, and recording local adoption.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Centsless Developer Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.centsless.org/guides/early-adoption-and-operator-choice\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://centsless.mintlify.site/_mintlify/api/og/v2?division=Guides\u0026amp;title=Early+adoption+and+operator+choice\u0026amp;description=Per-merchant+settings+for+applying+a+law+before+its+effective+date%2C+choosing+a+method+where+a+statute+allows+one%2C+and+recording+local+adoption.\u0026amp;theme=a2016886e53a265fe5952920\u0026amp;signature=8bda89296a29ba0a3f785e92ceddd684136be15a677b329e18118077415d5c9b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Early adoption and operator choice - Centsless Developer Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Per-merchant settings for applying a law before its effective date, choosing a method where a statute allows one, and recording local adoption.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://centsless.mintlify.site/_mintlify/api/og/v2?division=Guides\u0026amp;title=Early+adoption+and+operator+choice\u0026amp;description=Per-merchant+settings+for+applying+a+law+before+its+effective+date%2C+choosing+a+method+where+a+statute+allows+one%2C+and+recording+local+adoption.\u0026amp;theme=a2016886e53a265fe5952920\u0026amp;signature=8bda89296a29ba0a3f785e92ceddd684136be15a677b329e18118077415d5c9b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/centsless/VNFsu5xI7JEOUzAl/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Centsless Developer Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#C87533\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.centsless.org/guides/early-adoption-and-operator-choice\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/early-adoption-and-operator-choice.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.centsless.org/#organization\",\"name\":\"Centsless Developer Documentation\",\"url\":\"https://docs.centsless.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/centsless/PVRD6n2WzGuWDTyL/logo/light.png?fit=max\u0026auto=format\u0026n=PVRD6n2WzGuWDTyL\u0026q=85\u0026s=c7a806166e38026074e2f8c721f01bce\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.centsless.org#website\",\"name\":\"Centsless Developer Documentation\",\"url\":\"https://docs.centsless.org\",\"publisher\":{\"@id\":\"https://docs.centsless.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.centsless.org/guides/early-adoption-and-operator-choice#webpage\",\"url\":\"https://docs.centsless.org/guides/early-adoption-and-operator-choice\",\"name\":\"Early adoption and operator choice\",\"description\":\"Per-merchant settings for applying a law before its effective date, choosing a method where a statute allows one, and recording local adoption.\",\"dateModified\":\"2026-10-26T00:53:10.762Z\",\"isPartOf\":{\"@id\":\"https://docs.centsless.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.centsless.org/guides/early-adoption-and-operator-choice#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.centsless.org/guides/early-adoption-and-operator-choice#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Guides\",\"item\":\"https://docs.centsless.org/guides/register-a-merchant\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Early adoption and operator choice\",\"item\":\"https://docs.centsless.org/guides/early-adoption-and-operator-choice\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.centsless.org/guides/early-adoption-and-operator-choice#article\",\"headline\":\"Early adoption and operator choice\",\"name\":\"Early adoption and operator choice\",\"description\":\"Per-merchant settings for applying a law before its effective date, choosing a method where a statute allows one, and recording local adoption.\",\"url\":\"https://docs.centsless.org/guides/early-adoption-and-operator-choice\",\"mainEntityOfPage\":{\"@id\":\"https://docs.centsless.org/guides/early-adoption-and-operator-choice#webpage\"},\"dateModified\":\"2026-10-26T00:53:10.762Z\",\"publisher\":{\"@id\":\"https://docs.centsless.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.centsless.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Centsless Developer Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Centsless Developer Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/guides/early-adoption-and-operator-choice.md","siteName":"Centsless Developer Documentation","nav":{"global":{"anchors":[{"anchor":"Legislation Tracker","icon":"landmark","href":"https://www.centsless.org/intelligence/legislation-tracker"},{"anchor":"Compliance Analysis","icon":"scale-balanced","href":"https://www.centsless.org/intelligence/compliance-analysis"},{"anchor":"Request a pilot","icon":"handshake","href":"https://www.centsless.org/contact"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Getting started","pages":[{"title":"Introduction","href":""},{"title":"Quickstart","href":"/quickstart"},{"title":"Authentication","href":"/authentication"},{"title":"Integration paths","href":"/integration-paths"}]},{"group":"How the engine decides","pages":[{"title":"Decision and evidence","href":"/concepts/decision-and-evidence"},{"title":"Jurisdiction resolution","href":"/concepts/jurisdiction-resolution"},{"title":"Rule activation","href":"/concepts/rule-activation"},{"title":"Rounding methods","href":"/concepts/rounding-methods"},{"title":"Transaction types and tiers","href":"/concepts/transaction-types-and-tiers"},{"title":"Enacted states","href":"/concepts/enacted-states"},{"title":"The federal layer","href":"/concepts/federal-layer"},{"title":"Local rules","href":"/concepts/local-rules"},{"title":"EBT and non-cash tender","href":"/concepts/ebt-and-noncash-tender"},{"title":"The audit record","href":"/concepts/audit-record"}]},{"group":"Guides","pages":[{"title":"Register a merchant","href":"/guides/register-a-merchant"},{"title":"Process a transaction","href":"/guides/process-a-transaction"},{"title":"Mobile terminals","href":"/guides/mobile-terminals"},{"title":"Locations and review","description":"Listing a merchant's locations, correcting an address, re-resolving, and working the needs-review queue.","href":"/guides/locations-and-review"},{"title":"Early adoption and operator choice","href":"/guides/early-adoption-and-operator-choice"},{"title":"Refunds, voids and overrides","description":"Reversing or adjusting a sealed transaction without breaking the evidence.","href":"/guides/refunds-voids-and-overrides"},{"title":"Receipts","href":"/guides/receipts"},{"title":"Tipping","href":"/guides/tipping"},{"title":"Exports and analytics","href":"/guides/exports-and-analytics"},{"title":"Testing with Postman","href":"/guides/testing-with-postman"}]},{"group":"Reference","pages":[{"title":"Errors","href":"/reference/errors"},{"title":"Rate limits","href":"/reference/rate-limits"},{"title":"Field glossary","href":"/reference/field-glossary"},{"title":"Changelog","href":"/changelog"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/overview"}]}]},"basePath":"","title":"Early adoption and operator choice - Centsless Developer Documentation","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":[],"chunks":[]}