Preview and post DualEntry revenue subledger lines to the general ledger in batches, with dry-run previews, approval workflows, and batch archiving.
Batch posting is how revenue reaches the general ledger for contracts running in subledger mode. Draft subledger lines stay out of the ledger until you group them into a revenue recognition batch and post it. A batch aggregates many lines into a single journal entry per company and currency, so you replace hundreds of individual entries with one per company and currency combination each period.
Start every posting cycle with a dry run so you can review exactly what will hit the general ledger before anything is written. The preview computes batches from your filters without persisting them.
Open Accounting → Revenue Recognition → Recognition Batches and choose Batch Posting.
Set the period range for the revenue you want to post.
Narrow the scope with the optional company, customer, and contract filters.
Review the previewed batches. DualEntry groups the matching draft lines into one batch per company and currency, showing the aggregated amount, line count, and affected contracts for each.
Expand a previewed batch to inspect its individual subledger lines, and exclude any lines you are not ready to post.
The dry run persists nothing, so you can adjust filters and re-preview as many times as needed. When the preview matches what you intend to recognize, continue to posting.
Posting converts the previewed batches into real general ledger activity. From the preview, choose Post batches to execute.DualEntry claims the matched lines, creates one revenue recognition batch per company and currency, and generates the backing journal entry with the aggregated GL entries. Posted lines move to posted status and link to the batch that posted them. Concurrent posting is safe: DualEntry locks the matched lines while it posts, so two people cannot claim the same lines into different batches.What happens next depends on your approval configuration.
No approval configured. Lines are marked posted immediately and the general ledger reflects the revenue right away.
Approval configured. DualEntry creates the batch in a draft state and sends it to the approval queue. Lines are claimed by the batch but stay in draft until an approver acts.
Only posted batches affect the general ledger and recognized revenue reports. Draft lines and batches awaiting approval have no GL impact, so revenue you have previewed but not posted will not appear in the revenue waterfall or recognized revenue reports.
When approval is required, a posted batch waits in the Inbox approval queue until a reviewer decides. The batch shows an approval status badge on both the batch list and the batch detail page.
Approve. All lines in the batch move from draft to posted and the general ledger transaction is created.
Reject. The batch is archived, its lines are released back to unclaimed draft, and the reviewer’s comment is shown on the batch. The released lines are available to batch again once any blocking issue is resolved.
Approvers can act from the Inbox or directly on the batch detail page. Until the batch is approved, its lines remain claimed, which blocks change orders and terminations over the affected periods, as described in Revenue Subledgers.
Browse posted and pending batches from Accounting → Revenue Recognition → Recognition Batches. The list shows each batch’s company, currency, period range, aggregated amount, line count, and approval status.Open a batch to see the filters used to create it and a paginated table of its subledger lines, with links to each line’s contract and performance obligation. A GL impact tab shows the resulting journal entry. This gives auditors a direct path from a single aggregated journal entry back to every contract and obligation it covers.
Archiving a batch reverses a posting when you need to redo it. Open the batch and choose Archive. DualEntry releases the batch’s lines back to draft so they become available for batching again.
Archiving a batch is one-way. There is no recovery of the archived batch record, though its released lines can be posted again in a new batch.
Revenue Subledgers explains recognition modes, subledger lines, catch-ups, and the guards that protect posted periods.
Approval workflows covers how to configure who approves revenue recognition batches.
Reporting shows where posted revenue appears once a batch is on the general ledger.
Last modified on October 21, 2026
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"DualEntry Documentation","colors":{"primary":"#004F5C","light":"#5BC9DB","dark":"#81E0EF"},"logo":{"light":"https://mintcdn.com/entryinc/AComF9V8rHO5A0Pv/images/brand/dualentry-docs-logo-light.svg?fit=max\u0026auto=format\u0026n=AComF9V8rHO5A0Pv\u0026q=85\u0026s=910d5b39d1a3170bb460a1da7698f74a","dark":"https://mintcdn.com/entryinc/AComF9V8rHO5A0Pv/images/brand/dualentry-docs-logo-dark.svg?fit=max\u0026auto=format\u0026n=AComF9V8rHO5A0Pv\u0026q=85\u0026s=2ca84043acf55ced53968816ab701229","href":"/"},"favicon":"https://mintcdn.com/entryinc/AComF9V8rHO5A0Pv/images/brand/favicon.svg?fit=max\u0026auto=format\u0026n=AComF9V8rHO5A0Pv\u0026q=85\u0026s=651830fae4e719b04cd5ec5a8465baf2","api":{"playground":{"display":"simple"},"mdx":{"auth":{"method":"key","name":"X-API-KEY"},"server":"https://api.dualentry.com"}},"appearance":{"default":"system"},"background":{"color":{"light":"#F8FBFC","dark":"#0F373E"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/dualentry","x":"https://x.com/dualentry","reddit":"https://www.reddit.com/r/dualentry"}},"fonts":{"heading":{"family":"TWK Lausanne","weight":700,"source":"fonts/TWKLausanne-700.woff2","format":"woff2"},"body":{"family":"TWK Lausanne","weight":400,"source":"fonts/TWKLausanne-400.woff2","format":"woff2"}},"styling":{"latex":true},"errors":{"404":{"redirect":true}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"entryinc","hasAudioNarration":false,"actualSubdomain":"entryinc","customDomains":["docs.dualentry.com"],"gitSource":{"type":"github","owner":"dualentry","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae3acb1b14f61ab31ffca30","collectionId":"c54b5eb5-b15c-40d3-ad63-e1b2be06ccd6","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae3acb1b14f61ab31ffca30"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae3b65cee612553c2b2e661","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"API Reference","count":855},{"language":"default","tag":"Money In","count":255},{"language":"default","tag":"Accountants","count":195},{"language":"default","tag":"Money Out","count":194},{"language":"default","tag":"Accounting Setup","count":70},{"language":"default","tag":"Transactions","count":64},{"language":"default","tag":"Tax","count":63},{"language":"default","tag":"Developers","count":60},{"language":"default","tag":"Core Financials","count":47},{"language":"default","tag":"Integrations","count":47}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"ask@dualentry.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","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":"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":"llms-txt-v2","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":"per-site-search-delta","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":"editor-private-page-search","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@keyframes home-caret-blink{50%{opacity:0}}html:not(.dark) #navbar,html:not(.dark) #navbar-transition,html:not(.dark) #navbar>.absolute,html:not(.dark) #sidebar-content{background-color:#f8fbfc!important}#navbar .nav-tabs{width:100%;justify-content:center}html:not(.dark) #sidebar-content .sidebar-group-icon{color:#004f5c!important}html.dark #navbar,html.dark #navbar-transition,html.dark #navbar>.absolute,html.dark .code-block-background{background-color:#0f373e!important}html.dark #navbar>.absolute:not(.inset-0){border-bottom-color:rgba(255,255,255,.06)!important}@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){html.dark #navbar,html.dark #navbar>.absolute:not(.inset-0),html:not(.dark) #navbar,html:not(.dark) #navbar>.absolute:not(.inset-0){background-color:transparent!important}html:not(.dark) #navbar>.inset-0{background-color:rgba(248,251,252,.72)!important}html.dark #navbar>.inset-0{background-color:rgba(15,55,62,.72)!important}#navbar>.inset-0{-webkit-backdrop-filter:blur(30px) saturate(1.6);backdrop-filter:blur(30px) saturate(1.6)}}@supports (animation-timeline:scroll()){@keyframes header-fade-in{0%{opacity:0}to{opacity:1}}html.dark #navbar>.absolute,html:not(.dark) body:has(.home-hero) #navbar>.absolute{animation:header-fade-in linear both;animation-timeline:scroll(root block);animation-range:0 80px}@keyframes home-nav-on-hero-text{0%{color:#dee0e1}}@keyframes home-nav-on-hero-search{0%{color:rgba(255,255,255,.5);background-color:rgba(255,255,255,.03);border-color:#252728}}@keyframes home-logo-on-hero{0%{opacity:1}to{opacity:0}}@keyframes home-logo-off-hero{0%{opacity:0}to{opacity:1}}html:not(.dark) body:has(.home-hero) #navbar :is(a, button, svg, span):not(.absolute){animation:home-nav-on-hero-text linear both;animation-timeline:scroll(root block);animation-range:0 80px}@keyframes home-nav-on-hero-hover{0%{--nav-tab-hover:#5BC9DB}}html:not(.dark) body:has(.home-hero) #navbar{animation:home-nav-on-hero-hover linear both;animation-timeline:scroll(root block);animation-range:0 80px}html:not(.dark) body:has(.home-hero) #navbar .nav-tabs-item:hover :is(svg, span){animation:none}html:not(.dark) body:has(.home-hero) #navbar #search-bar-entry{animation-name:home-nav-on-hero-search}html:not(.dark) body:has(.home-hero) #navbar a:has(>img.nav-logo){position:relative;display:inline-block}html:not(.dark) body:has(.home-hero) #navbar img.nav-logo[src*=logo-dark]{content:url(/images/brand/dualentry-docs-logo-dark.svg);display:block!important;position:absolute;inset:0 auto auto 0;animation:home-logo-on-hero linear both;animation-timeline:scroll(root block);animation-range:0 80px}html:not(.dark) body:has(.home-hero) #navbar img.nav-logo[src*=logo-light]{animation:home-logo-off-hero linear both;animation-timeline:scroll(root block);animation-range:0 80px}}html.dark [data-fade-overlay]{background:#0f373e!important}header#header>div.prose{display:none}header#header:has(+.mdx-content>h1) #page-title{display:none}header#header:has(+.mdx-content>h1)+.mdx-content{margin-top:0!important}html:not([data-current-path]) #navbar nav-logo,html:not([data-current-path]) img.nav-logo,html:not([data-tab-logo-ready]) #navbar nav-logo,html:not([data-tab-logo-ready]) img.nav-logo{opacity:0!important;visibility:hidden!important}#footer>div:has(a[href*=\"mintlify.com\"]){display:none!important}#footer{justify-content:flex-end!important}html.dark img[src*=\"/integration-logos/\"]{background-color:#fff!important;border-radius:4px;padding:1px}.home{--home-surface:#F9FEFF;--home-border:rgba(10, 12, 13, 0.1);--home-heading:#101828;--home-title:#161919;--home-body:#3E4041;--home-muted:#7C8385;--home-icon:#5D6768;--home-accent:#007281;--home-chip:rgba(0, 57, 71, 0.07);--home-chip-text:#1B2122;--home-link-underline:#004F5C;width:100%}html.dark .home{--home-surface:#12424A;--home-border:rgba(255, 255, 255, 0.1);--home-heading:#F4FAFB;--home-title:#F4FAFB;--home-body:#C3D3D6;--home-muted:#8FA6AA;--home-icon:#A9C4C8;--home-accent:#81E0EF;--home-chip:rgba(129, 224, 239, 0.12);--home-chip-text:#E6F6F8;--home-link-underline:#81E0EF}.home h1,.home h2,.home h3,.home p{margin:0}.home a{text-decoration:none}body:has(.home-hero){--home-nav-h:112px}body:has(.home-hero) #content-area{padding-top:0}@media (min-width:1024px){body:has(.home-hero){--home-nav-h:96px}body:has(.home-hero) #navbar{margin-bottom:calc(var(--home-nav-h)*-1)}}.home-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:calc(340px + var(--home-nav-h, 0px));padding:calc(56px + var(--home-nav-h, 0px)) 20px 56px;background:linear-gradient(to top,#308289 0,#004f5c 50%,#002329 100%)}.home-hero-texture{position:absolute;inset:-24px 0 auto 0;width:100%;min-width:1200px;height:calc(100% + 260px);object-fit:cover;mix-blend-mode:color-dodge;opacity:.24;pointer-events:none;z-index:-1}.home-hero-body{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.home-hero-title{color:#fff;font-size:35px;font-weight:600;line-height:40px;letter-spacing:-.9px}.home-hero-subtitle{color:#fff;font-size:18px;font-weight:500;line-height:1.5}.home-assistant{display:flex;align-items:center;justify-content:space-between;width:300px;max-width:100%;height:48px;padding:0 12px 0 14px;border:2px solid rgba(91,182,198,.2);border-radius:9999px;background:rgba(255,255,255,.5);backdrop-filter:blur(2px);color:#252728;font-size:14px;cursor:pointer;transition:background-color .15s ease}.home-assistant:hover{background:rgba(255,255,255,.65)}.home-assistant-label{display:flex;align-items:center;gap:8px}.home-assistant-kbd{font-family:inherit;font-size:12px;background:0 0;border:0;color:inherit}.home-section{max-width:1440px;margin:0 auto;padding:32px 40px}.home-section+.home-section{margin-top:40px}.home-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.home-prose{display:flex;flex-direction:column;gap:18px;padding:16px 0}.home-prose h2{color:var(--home-heading);font-size:24px;font-weight:600;line-height:32px;letter-spacing:-.6px}.home-path-card p,.home-prose p{color:var(--home-body);font-size:15px;line-height:28px}.home-prose a{color:var(--home-heading);border-bottom:1px solid var(--home-link-underline)}.home-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.home-path-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:16px;height:444px;padding:24px;overflow:hidden;border:1px solid var(--home-border);border-radius:16px;background:var(--home-surface);transition:border-color .15s ease,box-shadow .15s ease}.home-path-card:hover{border-color:rgba(0,79,92,.35);box-shadow:0 8px 24px rgba(0,35,41,.08)}.home-path-card h2{position:relative;z-index:1;color:var(--home-title);font-size:20px;font-weight:600;line-height:1.2}.home-path-card p{position:relative;z-index:1;min-height:4.2em;line-height:1.4}.home-chip{position:relative;z-index:1;display:inline-flex;align-items:center;height:32px;padding:0 8px;border-radius:4px;background:var(--home-chip);color:var(--home-chip-text);font-size:14px;font-weight:500}.home-card-art{position:absolute;left:0;right:0;top:0;bottom:0;pointer-events:none}.home-card-art-layer{position:absolute;max-width:none;margin:0;border-radius:8px;transform-origin:top left;transform:rotate(30deg) skewX(-30deg) scaleY(.87)}.home-card-art-shadow{filter:blur(6px)}.home-card-art-top{transition:translate .3s ease}.home-path-card:hover .home-card-art-top{translate:0 -6px}.home-icon-panel{display:grid;grid-template-columns:repeat(7,minmax(0,72px));justify-content:center;gap:8px;padding:24px 16px;border:1px solid var(--home-border);border-radius:16px}.home-icon-cell{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:12px;transition:background-color .15s ease}.home-icon-cell:focus-visible,.home-icon-cell:hover{background-color:var(--home-chip)}.home-icon-cell:focus-visible .home-icon,.home-icon-cell:hover .home-icon{background-color:var(--home-accent)}.home-icon{width:32px;height:32px;background-color:var(--home-icon);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.home-icon-tip{position:absolute;bottom:calc(100% + 6px);left:50%;z-index:10;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border-radius:8px;background:#0f373e;color:#fff;font-size:12px;line-height:1.3;white-space:nowrap;box-shadow:0 4px 12px rgba(0,35,41,.2);opacity:0;transform:translate(-50%,4px);transition:opacity .15s ease,transform .15s ease;pointer-events:none}.home-icon-tip strong{font-size:13px;font-weight:600}.home-icon-tip span{color:#c3d3d6}.home-icon-tip::after{content:\"\";position:absolute;top:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-top-color:#0f373e}html.dark .home-icon-tip{background:#f4fafb;color:#0f373e}html.dark .home-icon-tip span{color:#4f6b70}html.dark .home-icon-tip::after{border-top-color:#f4fafb}.home-icon-cell:focus-visible .home-icon-tip,.home-icon-cell:hover .home-icon-tip{opacity:1;transform:translate(-50%,0)}.home-icon-dot{position:absolute;top:calc(50% - 28px);left:calc(50% + 12px);width:16px;height:16px;border-radius:9999px;background:#56d9d9}.home-cli{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;column-gap:24px;row-gap:12px}.home-cli-panel{grid-column:2;grid-row:1}.home-cli-link{grid-column:2;grid-row:2}.home-cli-intro{gap:8px}.home-cli-intro,.home-cli-tab,.home-cli-tabs{display:flex;flex-direction:column}.home-cli-tabs{gap:4px;padding:8px;border-radius:12px;background:var(--home-chip)}.home-cli-tab{gap:2px;padding:10px 14px;border:1px solid transparent;border-radius:8px;background:0 0;text-align:left;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.home-cli-tab:hover{background:var(--home-surface)}.home-cli-tab[aria-selected=true]{border-color:var(--home-border);background:var(--home-surface);box-shadow:0 1px 3px rgba(0,35,41,.08)}.home-cli-tab-label{color:var(--home-body);font-size:14px;font-weight:500}.home-cli-tab[aria-selected=true] .home-cli-tab-label{color:var(--home-accent);font-weight:600}.home-cli-tab-blurb{color:var(--home-body);font-size:13px;line-height:1.4}.home-cli-tab:not([aria-selected=true]) .home-cli-tab-blurb{display:none}.home-cli-panel{display:flex;min-width:0}.home-cli-panel .home-terminal{display:flex;flex:1;flex-direction:column;min-width:0}.home-cli-link{justify-self:end;color:var(--home-heading);font-size:14px;font-weight:500;border-bottom:1px solid var(--home-link-underline)}.home-terminal{position:relative;padding:20px;border:1px solid #334155;border-radius:16px;background:#0f172a;box-shadow:0 4px 20px rgba(0,0,0,.35)}.home-terminal-dots{display:flex;gap:8px;margin-bottom:16px}.home-terminal-dots span{width:10px;height:10px;border-radius:9999px;background:#ef4444;opacity:.6}.home-terminal-dots span:nth-child(2){background:#eab308}.home-terminal-dots span:nth-child(3){background:#22c55e}.home-term-body{flex:1 1 0;min-height:0;overflow:auto;color:#e2e8f0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.2;white-space:pre}.home-term-cmd{white-space:pre-wrap;overflow-wrap:anywhere}.home-term-body .home-tok-prompt{color:#64748b}.home-term-body .home-tok-cmd{color:#5bc9db}.home-term-body .home-tok-flag{color:#9cc0e8}.home-term-body .home-tok-str{color:#f0b45b}.home-term-body .home-tok-arg{color:#e2e8f0}.home-out-green{color:#4ade80}.home-out-yellow{color:#facc15}.home-out-blue{color:#60a5fa}.home-term-line+.home-term-line:has(>.home-tok-prompt:first-child){margin-top:6px}.home-term-caret{display:inline-block;width:6px;height:12px;margin-left:1px;vertical-align:-2px;background:#e2e8f0;animation:home-caret-blink 1s steps(1) infinite}@media (prefers-reduced-motion:reduce){.home-term-caret{animation:none}}.home-help-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px 0}.home-split:has(.home-help-cards){align-items:stretch}.home-help-card{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:20px 19px;border:1px solid var(--home-border);border-radius:16px;background:rgba(255,255,255,.3);transition:border-color .15s ease}html.dark .home-help-card{background:rgba(255,255,255,.03)}.home-help-card:hover{border-color:rgba(0,79,92,.35)}.home-help-icon{width:40px;height:40px;background-color:var(--home-accent);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.home-help-card h3{color:var(--home-title);font-size:16px;font-weight:700}.home-help-card p{color:var(--home-body);font-size:15px;line-height:1.4;overflow-wrap:anywhere}.home-help-card .home-help-note{font-size:13px;overflow-wrap:normal}.home-footer{display:flex;justify-content:flex-end;gap:24px;max-width:1360px;margin:64px auto 0;padding:40px 0 48px;border-top:1px solid var(--home-border)}.home-footer a{display:flex;color:#9ea0a1;transition:color .15s ease}.home-footer a:hover{color:var(--home-accent)}.home-footer svg{background-color:currentColor!important}html[data-current-path=\"/\"] #navbar .nav-tabs-item[data-active=true]{text-shadow:none!important}html[data-current-path=\"/\"] #navbar .nav-tabs-item[data-active=true]>div{background-color:transparent!important}html[data-current-path=\"/\"] #navbar .nav-tabs-item:hover>div:last-child{background-color:var(--nav-tab-hover)!important}html.dark[data-current-path=\"/\"] #navbar .nav-tabs-item:hover>div:last-child{background-color:#5bc9db!important}@media (max-width:1024px){.home-cli,.home-paths,.home-split{grid-template-columns:minmax(0,1fr)}.home-cli-tabs{flex-direction:row;overflow-x:auto}.home-cli-tab{flex:0 0 auto;border:1px solid var(--home-border);border-radius:9999px;padding:8px 14px}.home-cli-tab[aria-selected=true]{border-color:var(--home-accent)}.home-cli-tab-blurb{display:none}.home-cli-link,.home-cli-panel{grid-column:1;grid-row:auto}.home-path-card{height:380px}}@media (max-width:640px){.home-section{padding:24px 16px}.home-hero{min-height:calc(300px + var(--home-nav-h, 0px));padding:calc(40px + var(--home-nav-h, 0px)) 16px 40px}.home-hero-title{font-size:28px;line-height:34px}.home-help-cards{grid-template-columns:minmax(0,1fr)}.home-icon-panel{display:none}.home-footer{margin:48px 16px 0}.home-term-body{height:300px;flex:none}}@media (min-width:1024px){[data-assistant-sheet-container]{overflow:hidden!important;min-width:0!important;transition:width .3s cubic-bezier(.32,.72,0,1)}[data-assistant-sheet-container] #chat-assistant-sheet{min-width:368px}}@media (prefers-reduced-motion:reduce){[data-assistant-sheet-container]{transition:none}}@property --nav-tab-hover{syntax:\"\u003ccolor>\";inherits:true;initial-value:#004f5c}#navbar .nav-tabs-item:hover{color:var(--nav-tab-hover)!important}html.dark #navbar .nav-tabs-item:hover{color:#5bc9db!important}html:not(.dark) #navbar button.nav-tabs-item:not(:hover){color:rgb(var(--gray-800))}html.dark #navbar button.nav-tabs-item:not(:hover){color:rgb(var(--gray-200))}#navbar button.nav-tabs-item>div:first-child{color:inherit!important}#navbar button.nav-tabs-item>div:first-child>svg:first-child{background-color:currentColor!important}html[data-current-path^=\"/developers/release-notes\"] #navbar button.nav-tabs-item>div:first-child{text-shadow:-.2px 0 0 currentColor,.2px 0 0 currentColor}.rh-featured,.rh-posted,.rh-updates{--rh-surface:#F9FEFF;--rh-tile:linear-gradient(160deg, #E7F4F6 0%, #F4FAFB 100%);--rh-border:rgba(10, 12, 13, 0.1);--rh-border-hover:rgba(0, 79, 92, 0.35);--rh-heading:#101828;--rh-title:#161919;--rh-body:#3E4041;--rh-muted:#696F71;--rh-accent:#007281;--rh-chip:rgba(0, 57, 71, 0.07);--rh-chip-text:#1B2122;--rh-chip-on:#004F5C;--rh-chip-on-text:#FFFFFF}html.dark .rh-featured,html.dark .rh-posted,html.dark .rh-updates{--rh-surface:#12424A;--rh-tile:linear-gradient(160deg, #164C55 0%, #12424A 100%);--rh-border:rgba(255, 255, 255, 0.1);--rh-border-hover:rgba(129, 224, 239, 0.35);--rh-heading:#F4FAFB;--rh-title:#F4FAFB;--rh-body:#C3D3D6;--rh-muted:#A5B8BB;--rh-accent:#81E0EF;--rh-chip:rgba(129, 224, 239, 0.12);--rh-chip-text:#E6F6F8;--rh-chip-on:#81E0EF;--rh-chip-on-text:#0F373E}.rh-card-meta{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--rh-muted)}.rh-card-desc{margin:0;font-size:15px;line-height:1.5;color:var(--rh-body)}.rh-featured{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:16px 0 56px}.rh-featured-card{display:flex;flex-direction:column;gap:10px}.rh-featured-visual{aspect-ratio:16/10;overflow:hidden;margin-bottom:8px;border:1px solid var(--rh-border);border-radius:16px;background:var(--rh-tile)}a.rh-featured-visual{display:block;text-decoration:none}.rh-featured-visual img{display:block;width:100%;height:100%;max-width:none;margin:0!important;object-fit:cover;object-position:left top;transition:transform .3s ease}.rh-featured-card:hover .rh-featured-visual img{transform:scale(1.03)}@media (prefers-reduced-motion:reduce){.rh-featured-visual img{transition:none}.rh-featured-card:hover .rh-featured-visual img{transform:none}}.rh-featured-card .rh-card-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.rh-featured-title{margin:0!important;font-size:20px;font-weight:600;line-height:1.25;letter-spacing:-.3px;color:var(--rh-title)}#rh-all-updates{scroll-margin-top:7rem}.rh-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}.rh-search{flex:1 1 260px;height:40px;padding:0 14px;border:1px solid var(--rh-border);border-radius:8px;background:var(--rh-surface);color:var(--rh-title);font-size:14px;transition:border-color .15s ease}.rh-search:hover{border-color:var(--rh-border-hover)}.rh-search:focus{outline:2px solid #5bc9db;outline-offset:1px}.rh-segment{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:var(--rh-chip)}.rh-segment-btn{height:34px;padding:0 14px;border:0;border-radius:8px;background:0 0;color:var(--rh-muted);font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.rh-segment-btn:hover{color:var(--rh-title)}.rh-segment-on,.rh-segment-on:hover{background:var(--rh-surface);color:var(--rh-title);box-shadow:0 1px 3px rgba(0,35,41,.12)}html.dark .rh-segment-on,html.dark .rh-segment-on:hover{background:#1b5560;box-shadow:none}.rh-segment-btn:focus-visible{outline:2px solid #5bc9db;outline-offset:1px}.rh-areas{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:20px}.rh-areas-label{margin-right:6px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--rh-muted)}.rh-area{height:28px;padding:0 11px;border:1px solid var(--rh-border);border-radius:999px;background:0 0;color:var(--rh-body);font-size:13px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.rh-area:hover{border-color:var(--rh-border-hover);color:var(--rh-title)}.rh-area-on,.rh-area-on:hover{border-color:var(--rh-accent);background:0 0;color:var(--rh-accent);font-weight:600}.rh-area-empty{opacity:.45}.rh-area:focus-visible{outline:2px solid #5bc9db;outline-offset:1px}.rh-empty,.rh-result-count{margin:0 0 12px;font-size:13px;color:var(--rh-muted)}.rh-empty{margin:24px 0;font-size:15px}.rh-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.rh-card{display:flex;flex-direction:column;gap:10px;padding:20px;border:1px solid var(--rh-border);border-radius:16px;background:var(--rh-surface)}.rh-card-title{margin:0!important;font-size:17px;font-weight:600;line-height:1.3;color:var(--rh-title)}.rh-card-link{color:inherit;text-decoration:none;border-bottom:0}.rh-card-link:hover{text-decoration:underline}.rh-featured-visual iframe{display:block;width:100%;height:100%;border:0}.rh-card .rh-card-desc{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.rh-card-date{margin-top:auto;padding-top:6px;font-size:13px;color:var(--rh-muted)}.rh-card-group{position:relative;transition:border-color .15s ease}.rh-card-group:hover{border-color:var(--rh-border-hover)}.rh-card-group .rh-card-title button{background:0 0;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.rh-card-group .rh-card-title button::after{content:\"\";position:absolute;inset:0;border-radius:16px}.rh-card-group:has(.rh-card-title button:focus-visible){outline:2px solid #5bc9db;outline-offset:1px}.rh-card-more{float:right;color:var(--rh-accent);font-weight:600}.rh-dialog{inset:0;margin:auto;width:min(640px,calc(100vw - 32px));height:fit-content;max-height:calc(100vh - 64px);padding:0;overflow:auto;border:1px solid var(--rh-border);border-radius:16px;background:var(--rh-surface);color:var(--rh-body);box-shadow:0 24px 64px rgba(0,35,41,.25)}.rh-dialog::backdrop{background:rgba(10,20,22,.55)}.rh-dialog-body{padding:24px}.rh-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.rh-dialog-close,.rh-dialog-title{color:var(--rh-title);font-size:22px}.rh-dialog-title{margin:4px 0 0!important;font-weight:600;line-height:1.25}.rh-dialog-close{flex:none;width:36px;height:36px;border:1px solid var(--rh-border);border-radius:8px;background:0 0;line-height:1;cursor:pointer}.rh-dialog-close:hover{border-color:var(--rh-border-hover)}.rh-dialog-close:focus-visible{outline:2px solid #5bc9db;outline-offset:1px}.rh-dialog-list{margin:0;padding:0;list-style:none}.rh-dialog-item{display:flex;flex-direction:column;gap:6px;padding:16px 0;border-top:1px solid var(--rh-border)}.rh-dialog-item-title{margin:0!important;font-size:16px;font-weight:600;line-height:1.3;color:var(--rh-title)}.rh-dialog-date{color:var(--rh-accent);text-decoration:none;border-bottom:0}.rh-dialog-date:hover{text-decoration:underline}.rh-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px}.rh-pager-btn{height:40px;padding:0 14px;border:1px solid var(--rh-border);border-radius:8px;background:var(--rh-surface);color:var(--rh-heading);font-size:14px;font-weight:500;cursor:pointer;transition:border-color .15s ease}.rh-pager-btn:hover:not(:disabled){border-color:var(--rh-border-hover)}.rh-pager-btn:disabled{opacity:.4;cursor:default}.rh-pager-label{font-size:14px;color:var(--rh-muted);font-variant-numeric:tabular-nums}.rh-posted{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center;margin:64px 0 24px;padding:40px;border-radius:16px;color:#fff;background:linear-gradient(to top,#308289 0,#004f5c 50%,#002329 100%)}.rh-posted-texture{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0!important;object-fit:cover;mix-blend-mode:color-dodge;opacity:.24;pointer-events:none;z-index:-1}.rh-posted-title{margin:0!important;font-size:35px;font-weight:600;line-height:40px;letter-spacing:-.9px;color:#fff}.rh-posted-sub{margin:12px 0 0;font-size:16px;line-height:1.5;color:rgba(255,255,255,.82)}.rh-posted-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.rh-posted-input{height:48px;padding:0 14px;border:2px solid rgba(91,182,198,.2);border-radius:8px;background:rgba(255,255,255,.92);color:#161919;font-size:15px}.rh-posted-input:focus{outline:2px solid #81e0ef;outline-offset:1px}.rh-posted-button{height:48px;padding:0 22px;border:0;border-radius:8px;cursor:pointer;background:#81e0ef;color:#002329;font-size:15px;font-weight:600;transition:background-color .15s ease}.rh-posted-button:hover{background:#a6eaf4}.rh-posted-button:disabled{opacity:.7;cursor:default}.rh-posted-consent,.rh-posted-error{grid-column:1/-1;margin:4px 0 0;font-size:12px;line-height:1.5;color:rgba(255,255,255,.7)}.rh-posted-error{color:#ffd1cc;font-size:13px}.rh-posted-consent a{color:#fff;text-decoration:underline;text-underline-offset:2px}.rh-posted-done{margin:0;font-size:16px;font-weight:500;color:#fff}html[data-current-path=\"/developers/release-notes/changelog\"] #sidebar-content,html[data-current-path^=\"/developers/release-notes/changelog-\"] #sidebar-content,html[data-page-mode=center][data-current-path=\"/developers/release-notes\"] #sidebar-content{display:none!important}.rh-periods{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 24px}.rh-period{height:30px;padding:0 12px;display:inline-flex;align-items:center;border:1px solid rgba(10,12,13,.1);border-radius:999px;color:#3e4041;font-size:13px;text-decoration:none;border-bottom-width:1px;transition:border-color .15s ease,color .15s ease}a.rh-period:hover{border-color:rgba(0,79,92,.35);color:#161919}.rh-period-on{border-color:#007281;color:#007281;font-weight:600}html.dark .rh-period{border-color:rgba(255,255,255,.1);color:#c3d3d6}html.dark a.rh-period:hover{border-color:rgba(129,224,239,.35);color:#f4fafb}html.dark .rh-period-on{border-color:#81e0ef;color:#81e0ef}html[data-page-mode=center][data-current-path=\"/developers/release-notes\"] #content-container{max-width:1120px!important}html[data-page-mode=center][data-current-path=\"/developers/release-notes\"] #content-area{width:100%!important}.rh-update-video{width:100%;aspect-ratio:16/9;border-radius:16px}@media (max-width:1100px){.rh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.rh-featured,.rh-grid{grid-template-columns:minmax(0,1fr)}.rh-posted{padding:28px 24px}.rh-posted,.rh-posted-form{grid-template-columns:minmax(0,1fr)}.rh-segment{width:100%}.rh-segment-btn{flex:1}}"},{"filePath":"cli-reference.css","content":"@keyframes cli-target-flash{0%,40%{background-color:rgba(91,201,219,.25)}to{background-color:transparent}}#content .cli-group{--cli-nav:96px;--cli-group-h:64px;--cli-bg:#F8FBFC}html.dark #content .cli-group{--cli-bg:#0F373E}#content .cli-group+.cli-group{margin-top:64px}#content .cli-group>h2{position:sticky;top:var(--cli-nav);z-index:22;box-sizing:border-box;height:var(--cli-group-h);margin:0!important;padding:0;display:flex;align-items:center;border-bottom:1px solid rgba(10,12,13,.1);background-color:var(--cli-bg);scroll-margin-top:var(--cli-nav)!important}html.dark #content .cli-group>h2{border-bottom-color:rgba(255,255,255,.1)}#content .cli-entry>h3{scroll-margin-top:calc(var(--cli-nav) + var(--cli-group-h) + 16px)!important}#content h3:has(+.cli-cmd){scroll-margin-top:calc(var(--cli-nav) + var(--cli-group-h) - 29px)!important;height:1px;margin:72px 0 28px!important;padding:0;overflow:hidden;font-size:0;line-height:0;color:transparent;background-color:rgba(10,12,13,.1)}html.dark #content h3:has(+.cli-cmd){background-color:rgba(255,255,255,.1)}#content .cli-cmd{position:sticky;top:calc(var(--cli-nav) + var(--cli-group-h));z-index:20;display:block;margin:0 0 20px;padding:32px 0 24px;border-bottom:1px solid rgba(10,12,13,.1);background-color:var(--cli-bg);color:#101828;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;font-weight:500;line-height:1.5}#content .cli-cmd::after{content:\"\";position:absolute;top:100%;left:0;right:0;height:32px;background:linear-gradient(to bottom,var(--cli-bg),rgba(248,251,252,0));pointer-events:none}html.dark #content .cli-cmd{border-bottom-color:rgba(255,255,255,.1);color:#f4fafb}html.dark #content .cli-cmd::after{background:linear-gradient(to bottom,var(--cli-bg),rgba(15,55,62,0))}#content .cli-cmd~.cli-cmd{margin-top:40px}#content .cli-cmd::before{content:\"$\";margin-right:10px;color:#7c8385}#content .cli-cmd .cli-sig-cmd{white-space:pre-wrap}#content .cli-cmd a.cli-sig-arg{color:#004f5c;border-bottom:1px dotted rgba(0,79,92,.5);text-decoration:none;font-weight:inherit;white-space:pre-wrap}#content .cli-cmd a.cli-sig-arg:hover{border-bottom-style:solid}html.dark #content .cli-cmd a.cli-sig-arg{color:#81e0ef;border-bottom-color:rgba(129,224,239,.5)}#content .cli-anchor{scroll-margin-top:calc(var(--cli-nav) + var(--cli-group-h) + 124px)}#content li:has(>.cli-anchor:target),#content li:has(>p>.cli-anchor:target){animation:cli-target-flash 2s ease-out;border-radius:4px}@media (max-width:1023px){#content .cli-group{--cli-nav:112px;--cli-group-h:56px}#content .cli-cmd{font-size:13px;padding:24px 0 18px}}"}],"page":{"pagePath":"accountants/revenue-recognition/revenue-subledgers/batch-posting","slug":"/accountants/revenue-recognition/revenue-subledgers/batch-posting","pageMetadata":{"title":"Post a Revenue Recognition Batch","description":"Preview and post DualEntry revenue subledger lines to the general ledger in batches, with dry-run previews, approval workflows, and batch archiving.","seo":{"description":"Preview and post DualEntry revenue subledger lines to the general ledger in batches, with dry-run previews, approval workflows, and batch archiving."},"content_type":"how-to","audience":"accountant","product_area":"revenue-recognition","contextual":{"options":[{"title":"Open in DualEntry","description":"Open Recognition Batches in the DualEntry app","icon":"arrow-up-right-from-square","href":"https://app.dualentry.com/home/revenue-recognition/batches"},"assistant","copy","view","chatgpt","claude"]},"tags":["asc-606","ifrs","approval-workflows","period-end"],"last_updated":"2026-08-27T00:00:00.000Z","status":"published","sidebarTitle":"Batch posting","href":"/accountants/revenue-recognition/revenue-subledgers/batch-posting"},"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: \"Preview and post DualEntry revenue subledger lines to the general ledger in batches, with dry-run previews, approval workflows, and batch archiving.\"\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={a:`a`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Batch posting is how revenue reaches the general ledger for contracts running in subledger mode. Draft `,_jsx(_components.a,{href:`/accountants/revenue-recognition/revenue-subledgers/subledgers`,children:`subledger lines`}),` stay out of the ledger until you group them into a revenue recognition batch and post it. A batch aggregates many lines into a single journal entry per company and currency, so you replace hundreds of individual entries with one per company and currency combination each period.`]}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsx(_components.p,{children:`Before you post a batch, confirm the following.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`One or more contracts are set to `,_jsx(_components.strong,{children:`subledger`}),` recognition mode and have generated draft subledger lines.`]}),`\n`,_jsxs(_components.li,{children:[`The periods you intend to post are open in your `,_jsx(_components.a,{href:`/accountants/core-financials/close-management/period-locking`,children:`period locking`}),` configuration.`]}),`\n`,_jsxs(_components.li,{children:[`You know whether your organization requires `,_jsx(_components.a,{href:`/accountants/platform-configuration/approval-workflows`,children:`approval`}),` for revenue recognition batches, which changes when lines actually post.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`preview-a-batch-with-a-dry-run`,children:`Preview a batch with a dry run`}),`\n`,_jsx(_components.p,{children:`Start every posting cycle with a dry run so you can review exactly what will hit the general ledger before anything is written. The preview computes batches from your filters without persisting them.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Accounting → Revenue Recognition → Recognition Batches`}),` and choose `,_jsx(_components.strong,{children:`Batch Posting`}),`.`]}),`\n`,_jsx(_components.li,{children:`Set the period range for the revenue you want to post.`}),`\n`,_jsx(_components.li,{children:`Narrow the scope with the optional company, customer, and contract filters.`}),`\n`,_jsx(_components.li,{children:`Review the previewed batches. DualEntry groups the matching draft lines into one batch per company and currency, showing the aggregated amount, line count, and affected contracts for each.`}),`\n`,_jsx(_components.li,{children:`Expand a previewed batch to inspect its individual subledger lines, and exclude any lines you are not ready to post.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`The dry run persists nothing, so you can adjust filters and re-preview as many times as needed. When the preview matches what you intend to recognize, continue to posting.`}),`\n`,_jsx(Heading,{level:`2`,id:`post-the-batch`,children:`Post the batch`}),`\n`,_jsxs(_components.p,{children:[`Posting converts the previewed batches into real general ledger activity. From the preview, choose `,_jsx(_components.strong,{children:`Post batches`}),` to execute.`]}),`\n`,_jsxs(_components.p,{children:[`DualEntry claims the matched lines, creates one revenue recognition batch per company and currency, and generates the backing journal entry with the aggregated GL entries. Posted lines move to `,_jsx(_components.strong,{children:`posted`}),` status and link to the batch that posted them. Concurrent posting is safe: DualEntry locks the matched lines while it posts, so two people cannot claim the same lines into different batches.`]}),`\n`,_jsx(_components.p,{children:`What happens next depends on your approval configuration.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`No approval configured.`}),` Lines are marked posted immediately and the general ledger reflects the revenue right away.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Approval configured.`}),` DualEntry creates the batch in a draft state and sends it to the approval queue. Lines are claimed by the batch but stay in draft until an approver acts.`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Only posted batches affect the general ledger and recognized revenue reports. Draft lines and batches awaiting approval have no GL impact, so revenue you have previewed but not posted will not appear in the `,_jsx(_components.a,{href:`/accountants/revenue-recognition/reporting`,children:`revenue waterfall`}),` or recognized revenue reports.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`approve-or-reject-a-batch`,children:`Approve or reject a batch`}),`\n`,_jsx(_components.p,{children:`When approval is required, a posted batch waits in the Inbox approval queue until a reviewer decides. The batch shows an approval status badge on both the batch list and the batch detail page.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Approve.`}),` All lines in the batch move from draft to posted and the general ledger transaction is created.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Reject.`}),` The batch is archived, its lines are released back to unclaimed draft, and the reviewer’s comment is shown on the batch. The released lines are available to batch again once any blocking issue is resolved.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Approvers can act from the Inbox or directly on the batch detail page. Until the batch is approved, its lines remain claimed, which blocks change orders and terminations over the affected periods, as described in `,_jsx(_components.a,{href:`/accountants/revenue-recognition/revenue-subledgers/subledgers`,children:`Revenue Subledgers`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`review-batches`,children:`Review batches`}),`\n`,_jsxs(_components.p,{children:[`Browse posted and pending batches from `,_jsx(_components.strong,{children:`Accounting → Revenue Recognition → Recognition Batches`}),`. The list shows each batch’s company, currency, period range, aggregated amount, line count, and approval status.`]}),`\n`,_jsx(_components.p,{children:`Open a batch to see the filters used to create it and a paginated table of its subledger lines, with links to each line’s contract and performance obligation. A GL impact tab shows the resulting journal entry. This gives auditors a direct path from a single aggregated journal entry back to every contract and obligation it covers.`}),`\n`,_jsx(Heading,{level:`2`,id:`archive-a-batch`,children:`Archive a batch`}),`\n`,_jsxs(_components.p,{children:[`Archiving a batch reverses a posting when you need to redo it. Open the batch and choose `,_jsx(_components.strong,{children:`Archive`}),`. DualEntry releases the batch’s lines back to draft so they become available for batching again.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Archiving a batch is one-way. There is no recovery of the archived batch record, though its released lines can be posted again in a new batch.`})}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next steps`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/accountants/revenue-recognition/revenue-subledgers/subledgers`,children:`Revenue Subledgers`}),` explains recognition modes, subledger lines, catch-ups, and the guards that protect posted periods.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/accountants/platform-configuration/approval-workflows`,children:`Approval workflows`}),` covers how to configure who approves revenue recognition batches.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/accountants/revenue-recognition/reporting`,children:`Reporting`}),` shows where posted revenue appears once a batch is on the general ledger.`]}),`\n`]})]})}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":"Post a Revenue Recognition Batch","description":"Preview and post DualEntry revenue subledger lines to the general ledger in batches, with dry-run previews, approval workflows, and batch archiving.","seo":{"description":"Preview and post DualEntry revenue subledger lines to the general ledger in batches, with dry-run previews, approval workflows, and batch archiving."},"content_type":"how-to","audience":"accountant","product_area":"revenue-recognition","contextual":{"options":[{"title":"Open in DualEntry","description":"Open Recognition Batches in the DualEntry app","icon":"arrow-up-right-from-square","href":"https://app.dualentry.com/home/revenue-recognition/batches"},"assistant","copy","view","chatgpt","claude"]},"tags":["asc-606","ifrs","approval-workflows","period-end"],"last_updated":"2026-08-27T00:00:00.000Z","status":"published","sidebarTitle":"Batch posting","href":"/accountants/revenue-recognition/revenue-subledgers/batch-posting"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Preview a batch with a dry run","slug":"preview-a-batch-with-a-dry-run","depth":2,"children":[]},{"title":"Post the batch","slug":"post-the-batch","depth":2,"children":[]},{"title":"Approve or reject a batch","slug":"approve-or-reject-a-batch","depth":2,"children":[]},{"title":"Review batches","slug":"review-batches","depth":2,"children":[]},{"title":"Archive a batch","slug":"archive-a-batch","depth":2,"children":[]},{"title":"Next steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/entryinc/01d596e72a0b5c2c/logo-tabs.js","/_mintlify/custom/entryinc/725b37e26d5b09d6/release-notes-tab.js"],"subdomain":"entryinc","siteName":"DualEntry Documentation","title":"Post a Revenue Recognition Batch - DualEntry Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-14T20:44:11.593Z","gitLastModified":"2026-10-21T19:10:18.000Z","originalFileLocation":"accountants/revenue-recognition/revenue-subledgers/batch-posting.md"},"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=\"system\"}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=\"Preview and post DualEntry revenue subledger lines to the general ledger in batches, with dry-run previews, approval workflows, and batch archiving.\">\u003cmeta data-mint-head name=\"application-name\" content=\"DualEntry 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/entryinc/0hFGr3nbZt8w2lts/_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/entryinc/0hFGr3nbZt8w2lts/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/entryinc/0hFGr3nbZt8w2lts/_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/entryinc/0hFGr3nbZt8w2lts/_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/entryinc/0hFGr3nbZt8w2lts/_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/entryinc/0hFGr3nbZt8w2lts/_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/entryinc/0hFGr3nbZt8w2lts/_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/entryinc/0hFGr3nbZt8w2lts/_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/entryinc/0hFGr3nbZt8w2lts/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Post a Revenue Recognition Batch - DualEntry Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Preview and post DualEntry revenue subledger lines to the general ledger in batches, with dry-run previews, approval workflows, and batch archiving.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"DualEntry Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.dualentry.com/accountants/revenue-recognition/revenue-subledgers/batch-posting\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://entryinc.mintlify.app/_mintlify/api/og/v2?division=Revenue+Subledgers\u0026amp;title=Post+a+Revenue+Recognition+Batch\u0026amp;description=Preview+and+post+DualEntry+revenue+subledger+lines+to+the+general+ledger+in+batches%2C+with+dry-run+previews%2C+approval+workflows%2C+and+batch+archiving.\u0026amp;theme=e25e10837db34fb642d89fb0\u0026amp;signature=9ba9a0766346ea92f0662d37fe719d3a79990542f67753e1822f3a89270f1276\">\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=\"Post a Revenue Recognition Batch - DualEntry Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Preview and post DualEntry revenue subledger lines to the general ledger in batches, with dry-run previews, approval workflows, and batch archiving.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://entryinc.mintlify.app/_mintlify/api/og/v2?division=Revenue+Subledgers\u0026amp;title=Post+a+Revenue+Recognition+Batch\u0026amp;description=Preview+and+post+DualEntry+revenue+subledger+lines+to+the+general+ledger+in+batches%2C+with+dry-run+previews%2C+approval+workflows%2C+and+batch+archiving.\u0026amp;theme=e25e10837db34fb642d89fb0\u0026amp;signature=9ba9a0766346ea92f0662d37fe719d3a79990542f67753e1822f3a89270f1276\">\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/entryinc/0hFGr3nbZt8w2lts/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"DualEntry Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#004F5C\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.dualentry.com/accountants/revenue-recognition/revenue-subledgers/batch-posting\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/accountants/revenue-recognition/revenue-subledgers/batch-posting.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.dualentry.com/#organization\",\"name\":\"DualEntry Documentation\",\"url\":\"https://docs.dualentry.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/entryinc/AComF9V8rHO5A0Pv/images/brand/dualentry-docs-logo-light.svg?fit=max\u0026auto=format\u0026n=AComF9V8rHO5A0Pv\u0026q=85\u0026s=910d5b39d1a3170bb460a1da7698f74a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.dualentry.com#website\",\"name\":\"DualEntry Documentation\",\"url\":\"https://docs.dualentry.com\",\"publisher\":{\"@id\":\"https://docs.dualentry.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.dualentry.com/accountants/revenue-recognition/revenue-subledgers/batch-posting#webpage\",\"url\":\"https://docs.dualentry.com/accountants/revenue-recognition/revenue-subledgers/batch-posting\",\"name\":\"Post a Revenue Recognition Batch\",\"description\":\"Preview and post DualEntry revenue subledger lines to the general ledger in batches, with dry-run previews, approval workflows, and batch archiving.\",\"dateModified\":\"2026-10-21T19:10:18.000Z\",\"isPartOf\":{\"@id\":\"https://docs.dualentry.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.dualentry.com/accountants/revenue-recognition/revenue-subledgers/batch-posting#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.dualentry.com/accountants/revenue-recognition/revenue-subledgers/batch-posting#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Revenue Recognition\",\"item\":\"https://docs.dualentry.com/accountants/revenue-recognition/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Revenue Subledgers\",\"item\":\"https://docs.dualentry.com/accountants/revenue-recognition/revenue-subledgers/index\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Post a Revenue Recognition Batch\",\"item\":\"https://docs.dualentry.com/accountants/revenue-recognition/revenue-subledgers/batch-posting\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.dualentry.com/accountants/revenue-recognition/revenue-subledgers/batch-posting#article\",\"headline\":\"Post a Revenue Recognition Batch\",\"name\":\"Post a Revenue Recognition Batch\",\"description\":\"Preview and post DualEntry revenue subledger lines to the general ledger in batches, with dry-run previews, approval workflows, and batch archiving.\",\"url\":\"https://docs.dualentry.com/accountants/revenue-recognition/revenue-subledgers/batch-posting\",\"mainEntityOfPage\":{\"@id\":\"https://docs.dualentry.com/accountants/revenue-recognition/revenue-subledgers/batch-posting#webpage\"},\"dateModified\":\"2026-10-21T19:10:18.000Z\",\"publisher\":{\"@id\":\"https://docs.dualentry.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.dualentry.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"DualEntry Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"DualEntry Documentation","nav":{"global":null,"tabs":[{"tab":"Accountants","icon":"book-open","groups":[{"group":"Get Started","icon":"flag","pages":[{"title":"DualEntry Accountant Docs","sidebarTitle":"Overview","href":"/accountants/get-started"},{"title":"Your First Week with DualEntry: A Quickstart","sidebarTitle":"First week","href":"/accountants/get-started/quickstart-first-week"},{"title":"Key Concepts: DualEntry's Data Model","sidebarTitle":"Key concepts","href":"/accountants/get-started/key-concepts"},{"group":"Migration","root":{"title":"Migrating to DualEntry","sidebarTitle":"Overview","href":"/accountants/get-started/migration-overview"},"pages":[{"title":"Evaluation and Implementation Process","sidebarTitle":"Evaluation and implementation","href":"/accountants/get-started/evaluation-and-implementation"},{"title":"Migrating from QuickBooks or Xero","sidebarTitle":"Migrating from QuickBooks / Xero","href":"/accountants/get-started/from-quickbooks-xero"},{"title":"Migrating from NetSuite","sidebarTitle":"Migrating from NetSuite","href":"/accountants/get-started/from-netsuite"},{"title":"Migration Data Scope: What Moves and What Does Not","sidebarTitle":"Migration data scope","href":"/accountants/get-started/migration-data-scope"},{"title":"How to Run a Migration Cutover","sidebarTitle":"Cutover runbook","href":"/accountants/get-started/migration-cutover-runbook"},{"title":"How to Validate and Tie Out a Migration","sidebarTitle":"Validate a migration","href":"/accountants/get-started/validate-a-migration"},{"title":"Migration Failure Modes and Recovery","sidebarTitle":"Failure modes and recovery","href":"/accountants/get-started/migration-failure-modes"},{"title":"Data Handling During a Migration","sidebarTitle":"Migration data handling","href":"/accountants/get-started/migration-data-handling"}]},{"title":"Keyboard Shortcuts: Reference","sidebarTitle":"Keyboard shortcuts","href":"/accountants/get-started/keyboard-shortcuts"},{"title":"Frequently Asked Questions: Capabilities and Limits","sidebarTitle":"FAQ and limits","href":"/accountants/get-started/faq"},{"title":"How to Connect Your AI Assistant to These Docs","sidebarTitle":"Use these docs with AI","href":"/accountants/get-started/use-these-docs-with-ai"}]},{"group":"Core Financials","icon":"calculator","pages":[{"title":"Core Financials","sidebarTitle":"Overview","href":"/accountants/core-financials/index"},{"group":"General Ledger","root":{"title":"General Ledger","href":"/accountants/core-financials/general-ledger/index"},"pages":[{"title":"Chart of Accounts: Reference","sidebarTitle":"Chart of accounts","href":"/accountants/core-financials/general-ledger/chart-of-accounts"},{"title":"How to Create and Manage Chart of Accounts","sidebarTitle":"Create and manage accounts","href":"/accountants/core-financials/general-ledger/create-and-manage-accounts"},{"title":"Items: Reference","sidebarTitle":"Items","href":"/accountants/core-financials/general-ledger/items"},{"title":"How to Create and Manage Items","sidebarTitle":"Create and manage items","href":"/accountants/core-financials/general-ledger/create-and-manage-items"},{"title":"Your First Journal Entry","sidebarTitle":"First journal entry","href":"/accountants/core-financials/general-ledger/first-journal-entry"},{"title":"Journal Entries: Reference","sidebarTitle":"Journal entries","href":"/accountants/core-financials/general-ledger/journal-entries"},{"title":"How to Create and Manage Bank Transfers","sidebarTitle":"Bank transfers","href":"/accountants/core-financials/general-ledger/bank-transfers"},{"title":"How to Post and Reverse Month-End Accruals","sidebarTitle":"Post and reverse accruals","href":"/accountants/core-financials/general-ledger/post-and-reverse-accruals"},{"title":"How to Create and Run Accrual Templates","sidebarTitle":"Accrual templates","href":"/accountants/core-financials/general-ledger/accrual-templates"},{"title":"How to Post Adjusting Entries","sidebarTitle":"Post adjusting entries","href":"/accountants/core-financials/general-ledger/post-adjusting-entries"},{"title":"Adjusting Entries Reference","sidebarTitle":"Adjusting entries","href":"/accountants/core-financials/general-ledger/adjusting-entries"},{"title":"How to Set Up Statistical Accounts","sidebarTitle":"Statistical accounts","href":"/accountants/core-financials/general-ledger/statistical-accounts"},{"title":"Allocation Journals: Reference","sidebarTitle":"Allocation journals","href":"/accountants/core-financials/general-ledger/allocation-journals"}]},{"group":"Accounts Payable","root":{"title":"Accounts Payable","href":"/accountants/core-financials/accounts-payable/index"},"pages":[{"title":"How to Record and Manage Bills","sidebarTitle":"Bill management","href":"/accountants/core-financials/accounts-payable/bill-management"},{"title":"Vendor Payments: Recording Disbursements","sidebarTitle":"Vendor payments","href":"/accountants/core-financials/accounts-payable/vendor-payments"},{"title":"How to Record a Card Payment with a Processing Fee","sidebarTitle":"Card payments with fees","href":"/accountants/core-financials/accounts-payable/card-payment-processing-fee"},{"title":"Purchase Orders Reference","sidebarTitle":"Purchase orders","href":"/accountants/core-financials/accounts-payable/purchase-orders"},{"title":"Billable Expenses: Rebill Customer Costs","sidebarTitle":"Billable expenses","href":"/accountants/core-financials/accounts-payable/billable-expenses"},{"title":"How to Track 1099-Eligible Spend","sidebarTitle":"1099 tracking","href":"/accountants/core-financials/accounts-payable/1099-tracking"}]},{"title":"How to Manage Fixed Assets","sidebarTitle":"Fixed asset management","href":"/accountants/core-financials/fixed-asset-management"},{"title":"How to Amortize Prepaid Expenses","sidebarTitle":"Prepaid expense amortization","href":"/accountants/core-financials/prepaid-expense-amortization"},{"group":"Accounts Receivable","root":{"title":"Accounts Receivable","href":"/accountants/core-financials/accounts-receivable/index"},"pages":[{"title":"How to Invoice Customers and Run Dunning","sidebarTitle":"Invoicing and dunning","href":"/accountants/core-financials/accounts-receivable/invoicing-and-dunning"},{"title":"How to Configure AR Dunning","sidebarTitle":"AR Dunning","href":"/accountants/core-financials/accounts-receivable/ar-dunning"},{"title":"How to Record Customer Payments","sidebarTitle":"Customer payments","href":"/accountants/core-financials/accounts-receivable/customer-payments"},{"title":"Customer Statements","sidebarTitle":"Customer statements","href":"/accountants/core-financials/accounts-receivable/customer-statements"},{"group":"Custom Templates","root":{"title":"How Custom Templates Work","sidebarTitle":"Custom Templates","href":"/accountants/core-financials/accounts-receivable/custom-templates/index"},"pages":[{"title":"How to Create a Custom Template","sidebarTitle":"Create a template","href":"/accountants/core-financials/accounts-receivable/custom-templates/how-to-create-a-custom-template"},{"title":"How to Apply a Custom Template","sidebarTitle":"Apply a template","href":"/accountants/core-financials/accounts-receivable/custom-templates/how-to-apply-a-custom-template"},{"title":"How to Invoice in Another Language","sidebarTitle":"Invoice in another language","href":"/accountants/core-financials/accounts-receivable/custom-templates/how-to-invoice-in-another-language"},{"title":"Custom Templates Reference","sidebarTitle":"Reference","href":"/accountants/core-financials/accounts-receivable/custom-templates/custom-templates-reference"}]},{"title":"Order Management Reference","sidebarTitle":"Order management","href":"/accountants/core-financials/accounts-receivable/order-management"}]},{"title":"How to Merge Duplicate Customers and Vendors","sidebarTitle":"Merge customers and vendors","href":"/accountants/core-financials/merge-customers-and-vendors"},{"title":"How to Connect Bank Accounts","sidebarTitle":"Bank connections","href":"/accountants/core-financials/bank-connections"},{"group":"Close Management","root":{"title":"Close Management","href":"/accountants/core-financials/close-management/index"},"pages":[{"title":"How to Run a Month-End Close","sidebarTitle":"Month-end close checklist","href":"/accountants/core-financials/close-management/month-end-close-checklist"},{"group":"Bank Match","root":{"title":"Bank Match: Rules and AI for Bank Reconciliation","sidebarTitle":"Bank Match","href":"/accountants/core-financials/close-management/bank-match/index"},"pages":[{"title":"Your First Bank Match","sidebarTitle":"First bank match","href":"/accountants/core-financials/close-management/bank-match/first-bank-match"},{"title":"How to Create a Bank Match Rule","sidebarTitle":"Create a rule","href":"/accountants/core-financials/close-management/bank-match/how-to-create-a-rule"},{"title":"Create Bank Match Rules with Accounting Intelligence","sidebarTitle":"Create a rule with Accounting Intelligence","href":"/accountants/core-financials/close-management/bank-match/ai-copilot-rules"},{"title":"How to Match Transactions","sidebarTitle":"Match transactions","href":"/accountants/core-financials/close-management/bank-match/how-to-match-transactions"},{"title":"Common Errors with Bank Match","sidebarTitle":"Common errors","href":"/accountants/core-financials/close-management/bank-match/common-errors"},{"title":"Bank Match AI","sidebarTitle":"Bank Match AI","href":"/accountants/core-financials/close-management/bank-match/bank-match-ai"},{"title":"Rules or AI: Which Should Handle a Bank Match?","sidebarTitle":"Rules vs. AI","href":"/accountants/core-financials/close-management/bank-match/rule-vs-ai-philosophy"}]},{"title":"How to Reconcile Balance-Sheet Accounts","sidebarTitle":"Reconciliation","href":"/accountants/core-financials/close-management/reconciliation"},{"title":"Currency Revaluation","sidebarTitle":"Currency revaluation","href":"/accountants/core-financials/close-management/currency-revaluation"},{"title":"How to Set and Lock Consolidated Exchange Rates","sidebarTitle":"Consolidated exchange rates","href":"/accountants/core-financials/close-management/consolidated-exchange-rates"},{"title":"How to Lock and Unlock Accounting Periods","sidebarTitle":"Period locking","href":"/accountants/core-financials/close-management/period-locking"},{"title":"How to Set an A/P Cutoff and Accelerate Accruals","sidebarTitle":"A/P cutoff and accruals","href":"/accountants/core-financials/close-management/ap-cutoff-and-accelerated-accruals"},{"title":"How to Run Flux Analysis","sidebarTitle":"Flux analysis","href":"/accountants/core-financials/close-management/flux-analysis"}]}]},{"group":"Revenue Recognition","icon":"chart-line","pages":[{"title":"Revenue Recognition: ASC 606 and IFRS 15 Contracts","sidebarTitle":"Overview","href":"/accountants/revenue-recognition/index"},{"title":"ASC 606 and IFRS 15 in DualEntry","sidebarTitle":"ASC 606 and IFRS 15","href":"/accountants/revenue-recognition/asc-606"},{"group":"Revenue Subledgers","root":{"title":"Revenue Subledgers","sidebarTitle":"Overview","href":"/accountants/revenue-recognition/revenue-subledgers/index"},"pages":[{"title":"Revenue Subledgers","description":"How DualEntry revenue subledgers work: recognition modes, draft and posted subledger lines, catch-up adjustments, reversals, and batched GL posting.","sidebarTitle":"Subledgers","href":"/accountants/revenue-recognition/revenue-subledgers/subledgers"},{"title":"Post a Revenue Recognition Batch","sidebarTitle":"Batch posting","href":"/accountants/revenue-recognition/revenue-subledgers/batch-posting"}]},{"title":"Change Orders, Terminations, and Renewals","description":"Handle contract changes in DualEntry: draft change orders, prospective treatment, cumulative catch-up, terminations, and renewals under ASC 606 or IFRS 15.","sidebarTitle":"Change orders, terminations, renewals","href":"/accountants/revenue-recognition/change-orders-terminations-renewals"},{"title":"Migrate Mid-Life Contracts","sidebarTitle":"Migrate mid-life contracts","href":"/accountants/revenue-recognition/migrate-mid-life-contracts"},{"title":"Configure Allocations and Standalone Selling Price","sidebarTitle":"Allocations and SSP","href":"/accountants/revenue-recognition/allocations-and-ssp"},{"group":"Usage and Tiered Pricing","root":{"title":"Usage-Based Revenue: Pricing, Drawdown, and Imports","sidebarTitle":"Overview","href":"/accountants/revenue-recognition/usage-and-tiered-pricing/index"},"pages":[{"title":"Usage Pricing: Flat and Tiered Models","sidebarTitle":"Usage and tiered pricing","href":"/accountants/revenue-recognition/usage-and-tiered-pricing/usage-tiered-pricing"},{"title":"Usage Pricing Models: Reference","sidebarTitle":"Usage pricing models","href":"/accountants/revenue-recognition/usage-and-tiered-pricing/usage-pricing-models-reference"},{"title":"How to Configure Usage Drawdown","sidebarTitle":"Usage drawdown","href":"/accountants/revenue-recognition/usage-and-tiered-pricing/usage-drawdown"},{"title":"How Usage Drawdown Works","sidebarTitle":"How usage drawdown works","href":"/accountants/revenue-recognition/usage-and-tiered-pricing/understanding-usage-drawdown"},{"title":"Import Multi-Contract Usage","sidebarTitle":"Multi-contract usage import","href":"/accountants/revenue-recognition/usage-and-tiered-pricing/import-multi-contract-usage"}]},{"group":"Multi-Year Ramp Deals","root":{"title":"Multi-Year Ramp Deals","sidebarTitle":"Overview","href":"/accountants/revenue-recognition/multi-year-ramp-deals/index"},"pages":[{"title":"Ramp Deals: Multi-Year Pricing","sidebarTitle":"Multi-year ramp deals","href":"/accountants/revenue-recognition/multi-year-ramp-deals/multi-year-ramp-deals"},{"title":"How DualEntry Models Multi-Year Ramp Deals","sidebarTitle":"How ramp deals work","href":"/accountants/revenue-recognition/multi-year-ramp-deals/understanding-multi-year-ramp-deals"}]},{"group":"Recognition Timing","root":{"title":"Set Recognition Frequency Separately From Billing","sidebarTitle":"Overview","href":"/accountants/revenue-recognition/recognition-timing/index"},"pages":[{"title":"Recognition Timing: Frequency and Intervals","sidebarTitle":"Recognition frequency","href":"/accountants/revenue-recognition/recognition-timing/recognition-frequency-and-intervals"},{"title":"How Recognition Frequency and Interval Work","sidebarTitle":"How recognition timing works","href":"/accountants/revenue-recognition/recognition-timing/understanding-recognition-timing"}]},{"title":"Milestone Revenue Recognition","sidebarTitle":"Milestone method","href":"/accountants/revenue-recognition/milestone-recognition"},{"title":"Contracts List: Revenue Dashboard","sidebarTitle":"Contracts list dashboard","href":"/accountants/revenue-recognition/contracts-list-dashboard"},{"title":"Sync Stripe Subscriptions for Revenue Recognition","sidebarTitle":"Stripe revenue sync","href":"/accountants/revenue-recognition/stripe-revenue-sync"},{"title":"Revenue Recognition Reporting Reference","sidebarTitle":"Reporting","href":"/accountants/revenue-recognition/reporting"}]},{"group":"Reporting and Analytics","icon":"chart-pie","pages":[{"title":"Reporting and Analytics","sidebarTitle":"Overview","href":"/accountants/reporting-analytics/index"},{"title":"Your First Consolidated Report","sidebarTitle":"First consolidated report","href":"/accountants/reporting-analytics/first-consolidated-report"},{"title":"How to Use the Custom Report Builder","sidebarTitle":"Custom report builder","href":"/accountants/reporting-analytics/custom-report-builder"},{"title":"How to Build a Custom Report with Data Analytics","sidebarTitle":"Data Analytics","href":"/accountants/reporting-analytics/data-analytics"},{"title":"Standard Financial Statements Reference","sidebarTitle":"Standard financial statements","href":"/accountants/reporting-analytics/standard-financial-statements"},{"title":"How to Run the Financial Statements and Trial Balance","sidebarTitle":"Run financial statements","href":"/accountants/reporting-analytics/run-financial-statements"},{"title":"How to Use the EBITDA Income Statement Report","sidebarTitle":"EBITDA Income Statement","href":"/accountants/reporting-analytics/ebitda-income-statement"},{"title":"Flux Analysis","href":"/accountants/reporting-analytics/flux-reporting"},{"title":"Aging Reports Reference","sidebarTitle":"Aging reports","href":"/accountants/reporting-analytics/aging-reports"},{"title":"How to Use the US Sales Tax Detail Report","sidebarTitle":"US Sales Tax Detail","href":"/accountants/reporting-analytics/us-sales-tax-detail-report"},{"title":"How to Use the Canada GST/HST Report","sidebarTitle":"Canada GST/HST report","href":"/accountants/reporting-analytics/canada-gst-hst-report"},{"title":"How to Run Multi-Currency Reports","sidebarTitle":"Multi-currency reporting","href":"/accountants/reporting-analytics/multi-currency-reporting"},{"title":"Ownership and NCI Reporting","sidebarTitle":"Ownership and NCI","href":"/accountants/reporting-analytics/ownership-and-nci-reporting"},{"title":"How to Build Dashboards","sidebarTitle":"Dashboards","href":"/accountants/reporting-analytics/dashboards"},{"title":"How to Export Reports and Bundle Them into Packages","sidebarTitle":"Exporting and report packages","href":"/accountants/reporting-analytics/exporting-and-report-groups"},{"title":"Report Packages","sidebarTitle":"Report packages","href":"/accountants/reporting-analytics/report-packages"}]},{"group":"Platform Configuration","icon":"sliders","pages":[{"title":"Platform Configuration","sidebarTitle":"Overview","href":"/accountants/platform-configuration/index"},{"group":"Tax Management","root":{"title":"Tax Management","href":"/accountants/core-financials/tax-management/index"},"pages":[{"title":"US Taxes","sidebarTitle":"US Taxes","href":"/accountants/core-financials/tax-management/us-taxes"},{"title":"Non-US Taxes","sidebarTitle":"Non-US Taxes","href":"/accountants/core-financials/tax-management/non-us-taxes"},{"title":"How to Record Non-Reclaimable VAT","sidebarTitle":"Non-reclaimable VAT","href":"/accountants/core-financials/tax-management/record-non-reclaimable-vat"}]},{"group":"Organization Settings","root":{"title":"Organization Settings: Branding, Preferences, and API Keys","sidebarTitle":"Organization Settings","href":"/accountants/platform-configuration/organization-settings/index"},"pages":[{"title":"Profile: Logo and Brand Colors","sidebarTitle":"Profile","href":"/accountants/platform-configuration/organization-settings/profile"},{"title":"General Preferences: Dates, Numbering, and Record Locks","sidebarTitle":"General preferences","href":"/accountants/platform-configuration/organization-settings/general-preferences"},{"title":"Money-In Email Templates: Invoices, Receipts, Statements","sidebarTitle":"Money-In","href":"/accountants/platform-configuration/organization-settings/money-in-emails"},{"title":"Purchase Order Email Template","sidebarTitle":"Purchase Orders","href":"/accountants/platform-configuration/organization-settings/purchase-order-emails"},{"title":"Developer Access: Managing API Keys","sidebarTitle":"Developer access","href":"/accountants/platform-configuration/organization-settings/developer-access"},{"title":"Settings Activity Log","sidebarTitle":"Activity","href":"/accountants/platform-configuration/organization-settings/activity"}]},{"title":"How to Set Up and View Classifications","sidebarTitle":"Classifications","href":"/accountants/platform-configuration/classifications"},{"title":"How Default Classifications Work","sidebarTitle":"Default classifications","href":"/accountants/platform-configuration/default-classifications"},{"title":"Custom Fields: Record Types, Types, and Limits","sidebarTitle":"Custom fields","href":"/accountants/platform-configuration/custom-fields"},{"title":"How to Configure Date Formats","sidebarTitle":"Date formats","href":"/accountants/platform-configuration/date-formats"},{"title":"How to Configure Multi-Entity and Consolidation","sidebarTitle":"Multi-entity consolidation","href":"/accountants/platform-configuration/multi-entity-consolidation"},{"title":"How to Find Your Company ID","sidebarTitle":"Find your company ID","href":"/accountants/platform-configuration/find-your-company-id"},{"title":"How to Configure Multi-Currency","sidebarTitle":"Multi-currency setup","href":"/accountants/platform-configuration/multi-currency-setup"},{"title":"How to Configure Fiscal Year-Ends","sidebarTitle":"Multi-fiscal calendar","href":"/accountants/platform-configuration/multi-fiscal-calendar"},{"title":"How to Configure Subscription Billing","sidebarTitle":"Subscription billing","href":"/accountants/platform-configuration/subscription-billing"},{"title":"How to Configure Approval Workflows","sidebarTitle":"Approval workflows","href":"/accountants/platform-configuration/approval-workflows"},{"title":"User Roles and Permissions Reference","sidebarTitle":"User roles and permissions","href":"/accountants/platform-configuration/user-roles-and-permissions"},{"title":"How to Configure Budgets and Forecasts","sidebarTitle":"Budgeting and forecasting","href":"/accountants/platform-configuration/budgeting-and-forecasting"},{"title":"Audit Trail: Compliance and Evidence","sidebarTitle":"Audit trail and compliance","href":"/accountants/platform-configuration/audit-trail-and-compliance"},{"title":"Security and Compliance","sidebarTitle":"Security and compliance","href":"/accountants/platform-configuration/security-and-compliance"},{"title":"AI Data Handling: Frequently Asked Questions","sidebarTitle":"AI data handling FAQ","href":"/accountants/platform-configuration/ai-data-handling-faq"}]},{"group":"AI and Automation","icon":"sparkles","pages":[{"title":"DualEntry AI Features: Accounting Intelligence and Agents","sidebarTitle":"AI features overview","href":"/accountants/ai-automation/index"},{"group":"Tasks","root":{"title":"Tasks: To-Dos, Agent Runs, and Close Work in One Board","sidebarTitle":"Overview","href":"/accountants/ai-automation/tasks/index"},"pages":[{"title":"Task Fields, Types, and Permissions","sidebarTitle":"Task fields and permissions","href":"/accountants/ai-automation/tasks/task-fields-and-permissions"},{"title":"How to Schedule an Agent from Tasks","sidebarTitle":"Schedule an agent from Tasks","href":"/accountants/ai-automation/tasks/schedule-an-agent-from-tasks"},{"title":"How to Manage Close Workflows with Tasks","sidebarTitle":"Manage close workflows with Tasks","href":"/accountants/ai-automation/tasks/manage-close-workflows-with-tasks"}]},{"group":"Accounting Intelligence","root":{"title":"Accounting Intelligence","sidebarTitle":"Overview","href":"/accountants/ai-automation/accounting-intelligence/index"},"pages":[{"title":"How Accounting Intelligence Works","sidebarTitle":"Accounting Intelligence","href":"/accountants/ai-automation/accounting-intelligence/ai-accounting-intelligence"},{"title":"Accounting Intelligence: Agents Panel Reference","sidebarTitle":"Agents panel","href":"/accountants/ai-automation/accounting-intelligence/agents-panel"},{"title":"Accounting Intelligence Skills and Slash Commands","sidebarTitle":"Skills","href":"/accountants/ai-automation/accounting-intelligence/skills"},{"title":"Scheduled Agents: Cadence, Scoping, and Permissions","sidebarTitle":"Scheduled agents","href":"/accountants/ai-automation/accounting-intelligence/scheduled-agents"},{"title":"How Approvals and Controls Apply to AI Actions","sidebarTitle":"AI approvals and controls","href":"/accountants/ai-automation/accounting-intelligence/ai-approvals-and-controls"},{"title":"How to Test a Scheduled Agent Before You Rely on It","sidebarTitle":"Test a scheduled agent","href":"/accountants/ai-automation/accounting-intelligence/how-to-test-a-scheduled-agent"},{"title":"How to Connect an MCP Connector","sidebarTitle":"Connect an MCP connector","href":"/accountants/ai-automation/accounting-intelligence/connect-an-mcp-connector"},{"title":"MCP Connector Directory","sidebarTitle":"MCP connector directory","href":"/accountants/ai-automation/accounting-intelligence/mcp-connector-directory"},{"title":"How to Connect Slack to Accounting Intelligence","sidebarTitle":"Slack connector","href":"/accountants/ai-automation/accounting-intelligence/slack-connector"},{"title":"Send Dunning Emails with Accounting Intelligence and Gmail","sidebarTitle":"Dunning emails with Accounting Intelligence","href":"/accountants/ai-automation/accounting-intelligence/send-dunning-emails-with-accounting-intelligence-and-gmail"},{"title":"How to Draft Accruals with a Scheduled Agent","sidebarTitle":"Accruals with Accounting Intelligence","href":"/accountants/ai-automation/accounting-intelligence/draft-accruals-with-copilot-and-a-scheduled-agent"}]},{"group":"Anomaly Detection","root":{"title":"Anomaly Detection","sidebarTitle":"Overview","href":"/accountants/ai-automation/anomaly-detection/index"},"pages":[{"title":"Anomaly Detection: How Alerts Are Raised and Resolved","sidebarTitle":"Anomaly detection","href":"/accountants/ai-automation/anomaly-detection/anomaly-detection"},{"title":"How to Set Up Anomaly Detection Before Your First Close","sidebarTitle":"Set up anomaly detection","href":"/accountants/ai-automation/anomaly-detection/set-up-anomaly-detection"},{"title":"How to Create a Custom Detector","sidebarTitle":"Create a custom detector","href":"/accountants/ai-automation/anomaly-detection/create-a-custom-detector"},{"title":"How to Clear the Anomaly Queue During Close","sidebarTitle":"Clear the anomaly queue","href":"/accountants/ai-automation/anomaly-detection/clear-the-anomaly-queue"}]},{"title":"How to Use Automated Categorization","sidebarTitle":"Automated categorization","href":"/accountants/ai-automation/automated-categorization"},{"title":"How Bulk Updates and Reclasses Work","sidebarTitle":"Bulk update and reclass","href":"/accountants/ai-automation/bulk-update-and-reclass"},{"title":"How OCR Document Capture Works","sidebarTitle":"OCR document upload","href":"/accountants/ai-automation/ocr-document-upload"},{"title":"Global Search Reference","sidebarTitle":"Global search","href":"/accountants/ai-automation/spotlight-search"},{"group":"DualEntry MCP","root":{"title":"DualEntry MCP","href":"/accountants/ai-automation/mcp/index"},"pages":[{"title":"Connect MCP Clients","sidebarTitle":"Connect MCP Clients","href":"/accountants/ai-automation/mcp/mcp-quickstart"},{"title":"MCP Server: Tools, Permissions, and Troubleshooting","sidebarTitle":"MCP Reference","href":"/accountants/ai-automation/mcp/mcp-integration"},{"title":"Claude Connector Directory: Connect DualEntry","sidebarTitle":"Connect Claude from the directory","href":"/accountants/ai-automation/mcp/connect-claude-from-the-connector-directory"},{"title":"How to Post a Period-End Accrual from Claude","sidebarTitle":"Post an accrual from Claude","href":"/accountants/ai-automation/mcp/post-a-period-end-accrual-from-claude"}]}]},{"group":"Integrations","icon":"plug","pages":[{"title":"DualEntry Integrations","sidebarTitle":"Overview","href":"/accountants/integrations/index"},{"title":"Retry, Resync, and Archive: Managing Integration Syncs","sidebarTitle":"Managing syncs","href":"/accountants/integrations/managing-syncs"},{"group":"Banking and Payments","root":{"title":"Banking and Payments","sidebarTitle":"Overview","href":"/accountants/integrations/banking-and-payments/index"},"pages":[{"title":"Banking Connections: Paths, Sync, and Security","sidebarTitle":"Banking connections","href":"/accountants/integrations/banking-and-payments/banking-connections"},{"title":"SFTP Bank Connections: File-Based Bank Feeds","sidebarTitle":"SFTP bank connections","href":"/accountants/integrations/banking-and-payments/sftp-bank-connections"},{"title":"PayWay Integration: Match Gateway Payments","sidebarTitle":"PayWay","href":"/accountants/integrations/banking-and-payments/payway"},{"title":"Stripe Integration: Setup and Sync","sidebarTitle":"Stripe","href":"/accountants/integrations/revenue-and-accounts-receivable/stripe"}]},{"group":"Spend and Accounts Payable","root":{"title":"Spend and Accounts Payable","sidebarTitle":"Overview","href":"/accountants/integrations/spend-and-accounts-payable/index"},"pages":[{"title":"Bill.com Integration: Setup, Mapping, and AP Sync","sidebarTitle":"Bill.com","href":"/accountants/integrations/spend-and-accounts-payable/bill-com"},{"title":"AvidXchange Integration: Setup and File Exchange","sidebarTitle":"AvidXchange","href":"/accountants/integrations/spend-and-accounts-payable/avid"},{"title":"SAP Concur Integration: Setup and Sync","sidebarTitle":"SAP Concur","href":"/accountants/integrations/spend-and-accounts-payable/concur"},{"title":"Expensify Integration: Setup and Sync","sidebarTitle":"Expensify","href":"/accountants/integrations/spend-and-accounts-payable/expensify"},{"title":"Brex Integration: Setup and Sync","sidebarTitle":"Brex","href":"/accountants/integrations/spend-and-accounts-payable/brex"},{"title":"Ramp Integration: Setup and Sync","sidebarTitle":"Ramp","href":"/accountants/integrations/spend-and-accounts-payable/ramp"},{"title":"Pleo Integration: Sync Company Card Spend","sidebarTitle":"Pleo","href":"/accountants/integrations/spend-and-accounts-payable/pleo"},{"title":"Weel Integration: Sync Corporate Card Spend","sidebarTitle":"Weel","href":"/accountants/integrations/spend-and-accounts-payable/weel"},{"title":"Float Integration: Feed Cash-Flow Forecasts","sidebarTitle":"Float","href":"/accountants/integrations/spend-and-accounts-payable/float"},{"title":"Slash Integration: Sync Card Transactions","sidebarTitle":"Slash","href":"/accountants/integrations/spend-and-accounts-payable/slash"},{"title":"How the SparcPay Integration Works","sidebarTitle":"SparcPay","href":"/accountants/integrations/spend-and-accounts-payable/sparcpay"}]},{"group":"Revenue and Accounts Receivable","root":{"title":"Revenue and Accounts Receivable","sidebarTitle":"Overview","href":"/accountants/integrations/revenue-and-accounts-receivable/index"},"pages":[{"title":"Stripe Integration: Setup and Sync","sidebarTitle":"Stripe","href":"/accountants/integrations/revenue-and-accounts-receivable/stripe"},{"title":"Chargebee Integration: RevRec Journal Posting","sidebarTitle":"Chargebee","href":"/accountants/integrations/revenue-and-accounts-receivable/chargebee"},{"title":"Zoho Books Integration: OAuth, AR Sync, and Custom Fields","sidebarTitle":"Zoho Books","href":"/accountants/integrations/revenue-and-accounts-receivable/zoho"},{"title":"Campspot Integration: Setup and Sync","sidebarTitle":"Campspot","href":"/accountants/integrations/revenue-and-accounts-receivable/campspot"}]},{"group":"Payroll and HR","root":{"title":"Payroll and HR","sidebarTitle":"Overview","href":"/accountants/integrations/payroll-and-hr/index"},"pages":[{"title":"ADP TotalSource Integration: Connect and Payroll Sync","sidebarTitle":"ADP TotalSource","href":"/accountants/integrations/payroll-and-hr/adp"},{"title":"ADP Workforce Now Integration: Connect and Payroll Sync","sidebarTitle":"ADP Workforce Now","href":"/accountants/integrations/payroll-and-hr/adp-workforce-now"},{"title":"Deel Integration: OAuth Setup and Payroll Posting","sidebarTitle":"Deel","href":"/accountants/integrations/payroll-and-hr/deel"},{"title":"Connect Gusto payroll and post journal entries","sidebarTitle":"Gusto","href":"/accountants/integrations/payroll-and-hr/gusto"},{"title":"Connect Justworks payroll and post journal entries","sidebarTitle":"Justworks","href":"/accountants/integrations/payroll-and-hr/justworks"},{"title":"Connect Paychex Flex payroll and post journal entries","sidebarTitle":"Paychex Flex","href":"/accountants/integrations/payroll-and-hr/paychex"},{"title":"Connect Paycom payroll and post journal entries","sidebarTitle":"Paycom","href":"/accountants/integrations/payroll-and-hr/paycom"},{"title":"Connect Paylocity payroll and post journal entries","sidebarTitle":"Paylocity","href":"/accountants/integrations/payroll-and-hr/paylocity"},{"title":"Connect Rippling payroll and post journal entries","sidebarTitle":"Rippling","href":"/accountants/integrations/payroll-and-hr/rippling"},{"title":"Connect UKG Ready payroll and post journal entries","sidebarTitle":"UKG Ready","href":"/accountants/integrations/payroll-and-hr/ukg-ready"}]},{"group":"Tax","root":{"title":"Tax","sidebarTitle":"Overview","href":"/accountants/integrations/tax/index"},"pages":[{"title":"Avalara AvaTax Integration: Setup and Sync","sidebarTitle":"Avalara AvaTax","href":"/accountants/integrations/tax/avalara"},{"title":"Kintsugi Sales Tax Integration: Read-Only Setup","sidebarTitle":"Kintsugi","href":"/accountants/integrations/tax/kintsugi"},{"title":"Tax1099 Integration: Setup and E-Filing","sidebarTitle":"Tax1099","href":"/accountants/integrations/tax/tax1099"}]},{"group":"CRM","root":{"title":"CRM Integrations: Salesforce and HubSpot","sidebarTitle":"Overview","href":"/accountants/integrations/crm/index"},"pages":[{"title":"Salesforce Integration: Setup and Sync","sidebarTitle":"Salesforce","href":"/accountants/integrations/crm/salesforce"},{"title":"HubSpot Integration: Sync and Write-back","sidebarTitle":"HubSpot","href":"/accountants/integrations/crm/hubspot"}]},{"group":"Data and Analytics","root":{"title":"Data and Analytics: Warehouse Export and Ingestion","sidebarTitle":"Overview","href":"/accountants/integrations/data-and-analytics/index"},"pages":[{"title":"Analytics Ingestion","sidebarTitle":"Analytics ingestion","href":"/accountants/integrations/data-and-analytics/analytics-ingestion"},{"title":"PostgreSQL Integration: Export Credentials Setup","sidebarTitle":"PostgreSQL","href":"/accountants/integrations/data-and-analytics/postgresql"},{"title":"Power BI Integration: Export to a Reporting Database","sidebarTitle":"Power BI","href":"/accountants/integrations/data-and-analytics/power-bi"},{"title":"Snowflake Integration: Export Credentials Setup","sidebarTitle":"Snowflake","href":"/accountants/integrations/data-and-analytics/snowflake"}]},{"group":"Automation and Developer Tools","root":{"title":"Automation and Developer Tools","sidebarTitle":"Overview","href":"/accountants/integrations/automation-and-developer-tools/index"},"pages":[{"title":"Bulk Import: Load Records from a File","sidebarTitle":"Bulk import","href":"/accountants/integrations/automation-and-developer-tools/bulk-import"},{"title":"How to Fix a Failed Bulk Import","sidebarTitle":"Fix a failed bulk import","href":"/accountants/integrations/automation-and-developer-tools/fix-a-failed-bulk-import"},{"title":"Bulk Import Errors: Reference","sidebarTitle":"Bulk import errors","href":"/accountants/integrations/automation-and-developer-tools/bulk-import-errors"},{"title":"How VAT and GST Work in Bulk Import","sidebarTitle":"VAT and GST in bulk import","href":"/accountants/integrations/automation-and-developer-tools/bulk-import-tax"},{"title":"Webhooks: Notify external systems on record changes","sidebarTitle":"Webhooks","href":"/accountants/integrations/automation-and-developer-tools/webhooks"},{"title":"Zapier Integration: Setup, Authentication, and Actions","sidebarTitle":"Zapier","href":"/accountants/integrations/automation-and-developer-tools/zapier"}]},{"group":"Storage Solutions","root":{"title":"Storage Solutions","sidebarTitle":"Overview","href":"/accountants/integrations/storage-solutions/index"},"pages":[{"title":"Cubby Storage Integration: Setup and Sync","sidebarTitle":"Cubby Storage","href":"/accountants/integrations/storage-solutions/cubby"},{"title":"SiteLink Integration: Setup and Sync","sidebarTitle":"SiteLink","href":"/accountants/integrations/storage-solutions/sitelink"}]}]}]},{"tab":"Developers","icon":"compass","pages":[{"title":"Developers","href":"/developers/guides"}]},{"tab":"API Reference","icon":"server","versions":[{"version":"V2","default":true,"tag":"Latest","groups":[{"group":"Overview","icon":"circle-info","pages":[{"title":"V2 API Reference","sidebarTitle":"Overview","href":"/developers/api/resources-v2"}]},{"group":"Organization","pages":[{"group":"Books","pages":[{"title":"List books","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/books/","href":"/developers/api/resources-v2/books/list-books"},{"title":"Get book","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/books/{book_id}/","href":"/developers/api/resources-v2/books/get-book"}]},{"group":"Companies","pages":[{"title":"List companies","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/companies/","href":"/developers/api/resources-v2/companies/list-companies"},{"title":"Get company","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/companies/{company_id}/","href":"/developers/api/resources-v2/companies/get-company"}]},{"group":"Payment Methods","pages":[{"title":"List payment methods","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/payment-methods/","href":"/developers/api/resources-v2/payment-methods/list-payment-methods"},{"title":"Get payment method","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/payment-methods/{payment_method_id}/","href":"/developers/api/resources-v2/payment-methods/get-payment-method"}]},{"group":"Period Locks","pages":[{"title":"List period locks","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/period-locks/","href":"/developers/api/resources-v2/period-locks/list-period-locks"}]},{"group":"Terms","pages":[{"title":"List terms","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/terms/","href":"/developers/api/resources-v2/terms/list-terms"},{"title":"Get term","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/terms/{term_id}/","href":"/developers/api/resources-v2/terms/get-term"}]}]},{"group":"Accounting Setup","pages":[{"group":"Accounts","pages":[{"title":"List accounts","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/accounts/","href":"/developers/api/resources-v2/accounts/list-accounts"},{"title":"Create account","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/accounts/","href":"/developers/api/resources-v2/accounts/create-account"},{"title":"Get account","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/accounts/{account_number}/","href":"/developers/api/resources-v2/accounts/get-account"}]},{"group":"Classifications","pages":[{"title":"List Classifications","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/classifications/","href":"/developers/api/resources-v2/classifications/list-classifications"},{"title":"Create Classification","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/classifications/","href":"/developers/api/resources-v2/classifications/create-classification"},{"title":"Get Classification","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/classifications/{classification_id}/","href":"/developers/api/resources-v2/classifications/get-classification"},{"title":"Update Classification","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/classifications/{classification_id}/","href":"/developers/api/resources-v2/classifications/update-classification"},{"title":"Update classification (partial)","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json patch /public/v2/classifications/{classification_id}/","href":"/developers/api/resources-v2/classifications/update-classification-partial"},{"title":"Delete Classification","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json delete /public/v2/classifications/{classification_id}/","href":"/developers/api/resources-v2/classifications/delete-classification"}]},{"group":"Classifications Lines","pages":[{"title":"List Classification Lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/classifications-lines/","href":"/developers/api/resources-v2/classifications-lines/list-classification-lines"}]},{"group":"Custom Fields","pages":[{"title":"List custom fields","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/custom-fields/","href":"/developers/api/resources-v2/custom-fields/list-custom-fields"},{"title":"Create custom field","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/custom-fields/","href":"/developers/api/resources-v2/custom-fields/create-custom-field"},{"title":"Get custom field","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/custom-fields/{custom_field_id}/","href":"/developers/api/resources-v2/custom-fields/get-custom-field"},{"title":"Update custom field","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/custom-fields/{custom_field_id}/","href":"/developers/api/resources-v2/custom-fields/update-custom-field"},{"title":"Delete custom field","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json delete /public/v2/custom-fields/{custom_field_id}/","href":"/developers/api/resources-v2/custom-fields/delete-custom-field"}]},{"group":"Exchange Rates","pages":[{"title":"List exchange rates","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/exchange_rates/","href":"/developers/api/resources-v2/exchange-rates/list-exchange-rates"}]},{"group":"Items","pages":[{"title":"List Items","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/items/","href":"/developers/api/resources-v2/items/list-items"},{"title":"Create Item","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/items/","href":"/developers/api/resources-v2/items/create-item"},{"title":"Get Item","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/items/{item_id}/","href":"/developers/api/resources-v2/items/get-item"},{"title":"Update Item","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/items/{item_id}/","href":"/developers/api/resources-v2/items/update-item"},{"title":"Update Item (partial)","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json patch /public/v2/items/{item_id}/","href":"/developers/api/resources-v2/items/update-item-partial"},{"title":"Archive Item","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json delete /public/v2/items/{item_id}/","href":"/developers/api/resources-v2/items/archive-item"}]},{"group":"Projects","pages":[{"title":"List projects","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/projects/","href":"/developers/api/resources-v2/projects/list-projects"},{"title":"Get project","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/projects/{project_id}/","href":"/developers/api/resources-v2/projects/get-project"}]}]},{"group":"Transactions","pages":[{"group":"Accrual Templates","pages":[{"title":"List accrual templates","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/accrual-templates/","href":"/developers/api/resources-v2/accrual-templates/list-accrual-templates"},{"title":"Get accrual template","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/accrual-templates/{accrual_template_id}/","href":"/developers/api/resources-v2/accrual-templates/get-accrual-template"}]},{"group":"Intercompany Journal Entries","pages":[{"title":"List intercompany journal entries","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/intercompany-journal-entries/","href":"/developers/api/resources-v2/intercompany-journal-entries/list-intercompany-journal-entries"},{"title":"Create intercompany journal entry","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/intercompany-journal-entries/","href":"/developers/api/resources-v2/intercompany-journal-entries/create-intercompany-journal-entry"},{"title":"Get intercompany journal entry","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/intercompany-journal-entries/{record_number}/","href":"/developers/api/resources-v2/intercompany-journal-entries/get-intercompany-journal-entry"},{"title":"Update intercompany journal entry","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/intercompany-journal-entries/{record_number}/","href":"/developers/api/resources-v2/intercompany-journal-entries/update-intercompany-journal-entry"}]},{"group":"Journal Entries","pages":[{"title":"List JournalEntry records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/journal-entries/","href":"/developers/api/resources-v2/journal-entries/list-journalentry-records"},{"title":"Create JournalEntry record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/journal-entries/","href":"/developers/api/resources-v2/journal-entries/create-journalentry-record"},{"title":"Get JournalEntry record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/journal-entries/{record_number}/","href":"/developers/api/resources-v2/journal-entries/get-journalentry-record"},{"title":"Update JournalEntry record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/journal-entries/{record_number}/","href":"/developers/api/resources-v2/journal-entries/update-journalentry-record"},{"title":"Create JournalEntry record attachments","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/journal-entries/{record_number}/attachments/","href":"/developers/api/resources-v2/journal-entries/create-journalentry-record-attachments"},{"title":"List JournalEntry record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/journal-entries/{record_number}/lines/","href":"/developers/api/resources-v2/journal-entries/list-journalentry-record-lines"}]},{"group":"Recurring Journal Entries","pages":[{"title":"List RecurringJournalEntry records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/recurring/journal-entries/","href":"/developers/api/resources-v2/recurring-journal-entries/list-recurringjournalentry-records"},{"title":"Create RecurringJournalEntry record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/recurring/journal-entries/","href":"/developers/api/resources-v2/recurring-journal-entries/create-recurringjournalentry-record"},{"title":"Get RecurringJournalEntry record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/recurring/journal-entries/{record_number}/","href":"/developers/api/resources-v2/recurring-journal-entries/get-recurringjournalentry-record"},{"title":"Update RecurringJournalEntry record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/recurring/journal-entries/{record_number}/","href":"/developers/api/resources-v2/recurring-journal-entries/update-recurringjournalentry-record"},{"title":"Delete RecurringJournalEntry record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json delete /public/v2/recurring/journal-entries/{record_number}/","href":"/developers/api/resources-v2/recurring-journal-entries/delete-recurringjournalentry-record"}]},{"group":"Statistical Journals","pages":[{"title":"List StatisticalJournal records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/statistical-journals/","href":"/developers/api/resources-v2/statistical-journals/list-statisticaljournal-records"},{"title":"Create StatisticalJournal record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/statistical-journals/","href":"/developers/api/resources-v2/statistical-journals/create-statisticaljournal-record"},{"title":"Get StatisticalJournal record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/statistical-journals/{record_number}/","href":"/developers/api/resources-v2/statistical-journals/get-statisticaljournal-record"},{"title":"Update StatisticalJournal record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/statistical-journals/{record_number}/","href":"/developers/api/resources-v2/statistical-journals/update-statisticaljournal-record"},{"title":"Create StatisticalJournal record attachments","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/statistical-journals/{record_number}/attachments/","href":"/developers/api/resources-v2/statistical-journals/create-statisticaljournal-record-attachments"},{"title":"List StatisticalJournal record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/statistical-journals/{record_number}/lines/","href":"/developers/api/resources-v2/statistical-journals/list-statisticaljournal-record-lines"}]}]},{"group":"Money In","pages":[{"group":"Cash Sales","pages":[{"title":"List CashSale records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/cash-sales/","href":"/developers/api/resources-v2/cash-sales/list-cashsale-records"},{"title":"Create CashSale record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/cash-sales/","href":"/developers/api/resources-v2/cash-sales/create-cashsale-record"},{"title":"Get CashSale record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/cash-sales/{record_number}/","href":"/developers/api/resources-v2/cash-sales/get-cashsale-record"},{"title":"Update CashSale record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/cash-sales/{record_number}/","href":"/developers/api/resources-v2/cash-sales/update-cashsale-record"},{"title":"Create CashSale record attachments","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/cash-sales/{record_number}/attachments/","href":"/developers/api/resources-v2/cash-sales/create-cashsale-record-attachments"},{"title":"List CashSale record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/cash-sales/{record_number}/lines/","href":"/developers/api/resources-v2/cash-sales/list-cashsale-record-lines"}]},{"group":"Contract Templates","pages":[{"title":"List contract templates","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/contract-templates/","href":"/developers/api/resources-v2/contract-templates/list-contract-templates"},{"title":"Get contract template","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/contract-templates/{contract_template_id}/","href":"/developers/api/resources-v2/contract-templates/get-contract-template"}]},{"group":"Contracts","pages":[{"title":"List Contracts","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/contracts/","href":"/developers/api/resources-v2/contracts/list-contracts"},{"title":"Create Contract","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/contracts/","href":"/developers/api/resources-v2/contracts/create-contract"},{"title":"Get Contract","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/contracts/{record_id}/","href":"/developers/api/resources-v2/contracts/get-contract"},{"title":"Update Contract","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/contracts/{record_id}/","href":"/developers/api/resources-v2/contracts/update-contract"},{"title":"Update Contract (partial)","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json patch /public/v2/contracts/{record_id}/","href":"/developers/api/resources-v2/contracts/update-contract-partial"},{"title":"List milestones for a contract","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/contracts/{contract_id}/milestones/","href":"/developers/api/resources-v2/contracts/list-milestones-for-a-contract"},{"title":"List usage records for a contract","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/contracts/{contract_id}/usage/","href":"/developers/api/resources-v2/contracts/list-usage-records-for-a-contract"},{"title":"Upsert usage records for contract obligations","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/contracts/{contract_id}/usage/bulk-upsert/","href":"/developers/api/resources-v2/contracts/upsert-usage-records-for-contract-obligations"},{"title":"List Change Orders","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/contracts/{contract_id}/change-orders/","href":"/developers/api/resources-v2/contracts/list-change-orders"},{"title":"Create Change Order","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/contracts/{contract_id}/change-orders/","href":"/developers/api/resources-v2/contracts/create-change-order"},{"title":"Get Change Order","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/contracts/{contract_id}/change-orders/{change_order_id}/","href":"/developers/api/resources-v2/contracts/get-change-order"},{"title":"Update Change Order","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/contracts/{contract_id}/change-orders/{change_order_id}/","href":"/developers/api/resources-v2/contracts/update-change-order"},{"title":"Archive Change Order","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json delete /public/v2/contracts/{contract_id}/change-orders/{change_order_id}/","href":"/developers/api/resources-v2/contracts/archive-change-order"}]},{"group":"Customer Credits","pages":[{"title":"List CustomerCredit records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-credits/","href":"/developers/api/resources-v2/customer-credits/list-customercredit-records"},{"title":"Create CustomerCredit record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/customer-credits/","href":"/developers/api/resources-v2/customer-credits/create-customercredit-record"},{"title":"Get CustomerCredit record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-credits/{record_number}/","href":"/developers/api/resources-v2/customer-credits/get-customercredit-record"},{"title":"Update CustomerCredit record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/customer-credits/{record_number}/","href":"/developers/api/resources-v2/customer-credits/update-customercredit-record"},{"title":"Update CustomerCredit record (partial)","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json patch /public/v2/customer-credits/{record_number}/","href":"/developers/api/resources-v2/customer-credits/update-customercredit-record-partial"},{"title":"List CustomerCredit record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-credits/{record_number}/lines/","href":"/developers/api/resources-v2/customer-credits/list-customercredit-record-lines"}]},{"group":"Customer Deposits","pages":[{"title":"List CustomerDeposit records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-deposits/","href":"/developers/api/resources-v2/customer-deposits/list-customerdeposit-records"},{"title":"Create CustomerDeposit record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/customer-deposits/","href":"/developers/api/resources-v2/customer-deposits/create-customerdeposit-record"},{"title":"Get CustomerDeposit record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-deposits/{record_number}/","href":"/developers/api/resources-v2/customer-deposits/get-customerdeposit-record"},{"title":"Update CustomerDeposit record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/customer-deposits/{record_number}/","href":"/developers/api/resources-v2/customer-deposits/update-customerdeposit-record"},{"title":"Create CustomerDeposit record attachments","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/customer-deposits/{record_number}/attachments/","href":"/developers/api/resources-v2/customer-deposits/create-customerdeposit-record-attachments"},{"title":"List CustomerDeposit record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-deposits/{record_number}/lines/","href":"/developers/api/resources-v2/customer-deposits/list-customerdeposit-record-lines"}]},{"group":"Customer Payments","pages":[{"title":"List CustomerPayment records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-payments/","href":"/developers/api/resources-v2/customer-payments/list-customerpayment-records"},{"title":"Create CustomerPayment record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/customer-payments/","href":"/developers/api/resources-v2/customer-payments/create-customerpayment-record"},{"title":"Get CustomerPayment record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-payments/{record_number}/","href":"/developers/api/resources-v2/customer-payments/get-customerpayment-record"},{"title":"Update CustomerPayment record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/customer-payments/{record_number}/","href":"/developers/api/resources-v2/customer-payments/update-customerpayment-record"},{"title":"Update CustomerPayment record (partial)","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json patch /public/v2/customer-payments/{record_number}/","href":"/developers/api/resources-v2/customer-payments/update-customerpayment-record-partial"},{"title":"List CustomerPayment record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-payments/{record_number}/lines/","href":"/developers/api/resources-v2/customer-payments/list-customerpayment-record-lines"}]},{"group":"Customer Prepayment Applications","pages":[{"title":"List CustomerPrepaymentApplication records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-prepayment-applications/","href":"/developers/api/resources-v2/customer-prepayment-applications/list-customerprepaymentapplication-records"},{"title":"Create CustomerPrepaymentApplication record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/customer-prepayment-applications/","href":"/developers/api/resources-v2/customer-prepayment-applications/create-customerprepaymentapplication-record"},{"title":"Get CustomerPrepaymentApplication record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-prepayment-applications/{record_number}/","href":"/developers/api/resources-v2/customer-prepayment-applications/get-customerprepaymentapplication-record"},{"title":"Update CustomerPrepaymentApplication record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/customer-prepayment-applications/{record_number}/","href":"/developers/api/resources-v2/customer-prepayment-applications/update-customerprepaymentapplication-record"},{"title":"Update CustomerPrepaymentApplication record (partial)","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json patch /public/v2/customer-prepayment-applications/{record_number}/","href":"/developers/api/resources-v2/customer-prepayment-applications/update-customerprepaymentapplication-record-partial"},{"title":"Create CustomerPrepaymentApplication record attachments","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/customer-prepayment-applications/{record_number}/attachments/","href":"/developers/api/resources-v2/customer-prepayment-applications/create-customerprepaymentapplication-record-attachments"},{"title":"List CustomerPrepaymentApplication record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-prepayment-applications/{record_number}/lines/","href":"/developers/api/resources-v2/customer-prepayment-applications/list-customerprepaymentapplication-record-lines"}]},{"group":"Customer Prepayments","pages":[{"title":"List CustomerPrepayment records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-prepayments/","href":"/developers/api/resources-v2/customer-prepayments/list-customerprepayment-records"},{"title":"Create CustomerPrepayment record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/customer-prepayments/","href":"/developers/api/resources-v2/customer-prepayments/create-customerprepayment-record"},{"title":"Get CustomerPrepayment record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-prepayments/{record_number}/","href":"/developers/api/resources-v2/customer-prepayments/get-customerprepayment-record"},{"title":"Update CustomerPrepayment record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/customer-prepayments/{record_number}/","href":"/developers/api/resources-v2/customer-prepayments/update-customerprepayment-record"},{"title":"Update CustomerPrepayment record (partial)","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json patch /public/v2/customer-prepayments/{record_number}/","href":"/developers/api/resources-v2/customer-prepayments/update-customerprepayment-record-partial"},{"title":"Create CustomerPrepayment record attachments","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/customer-prepayments/{record_number}/attachments/","href":"/developers/api/resources-v2/customer-prepayments/create-customerprepayment-record-attachments"}]},{"group":"Customer Refunds","pages":[{"title":"List CustomerRefund records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-refunds/","href":"/developers/api/resources-v2/customer-refunds/list-customerrefund-records"},{"title":"Create CustomerRefund record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/customer-refunds/","href":"/developers/api/resources-v2/customer-refunds/create-customerrefund-record"},{"title":"Get CustomerRefund record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-refunds/{record_number}/","href":"/developers/api/resources-v2/customer-refunds/get-customerrefund-record"},{"title":"Update CustomerRefund record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/customer-refunds/{record_number}/","href":"/developers/api/resources-v2/customer-refunds/update-customerrefund-record"},{"title":"Create CustomerRefund record attachments","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/customer-refunds/{record_number}/attachments/","href":"/developers/api/resources-v2/customer-refunds/create-customerrefund-record-attachments"},{"title":"List CustomerRefund record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customer-refunds/{record_number}/lines/","href":"/developers/api/resources-v2/customer-refunds/list-customerrefund-record-lines"}]},{"group":"Customers","pages":[{"title":"List customers","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customers/","href":"/developers/api/resources-v2/customers/list-customers"},{"title":"Create customer","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/customers/","href":"/developers/api/resources-v2/customers/create-customer"},{"title":"Merge customers","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/customers/merge/","href":"/developers/api/resources-v2/customers/merge-customers"},{"title":"Get customer","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/customers/{customer_id}/","href":"/developers/api/resources-v2/customers/get-customer"},{"title":"Update customer","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/customers/{customer_id}/","href":"/developers/api/resources-v2/customers/update-customer"},{"title":"Update customer (partial)","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json patch /public/v2/customers/{customer_id}/","href":"/developers/api/resources-v2/customers/update-customer-partial"},{"title":"Delete customer","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json delete /public/v2/customers/{customer_id}/","href":"/developers/api/resources-v2/customers/delete-customer"}]},{"group":"Invoices","pages":[{"title":"List Invoice records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/invoices/","href":"/developers/api/resources-v2/invoices/list-invoice-records"},{"title":"Create Invoice record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/invoices/","href":"/developers/api/resources-v2/invoices/create-invoice-record"},{"title":"Get Invoice record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/invoices/{record_number}/","href":"/developers/api/resources-v2/invoices/get-invoice-record"},{"title":"Update Invoice record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/invoices/{record_number}/","href":"/developers/api/resources-v2/invoices/update-invoice-record"},{"title":"Update Invoice record (partial)","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json patch /public/v2/invoices/{record_number}/","href":"/developers/api/resources-v2/invoices/update-invoice-record-partial"},{"title":"Create Invoice record attachments","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/invoices/{record_number}/attachments/","href":"/developers/api/resources-v2/invoices/create-invoice-record-attachments"},{"title":"Replace Invoice record attachments","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/invoices/{record_number}/attachments/replace/","href":"/developers/api/resources-v2/invoices/replace-invoice-record-attachments"},{"title":"List Invoice record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/invoices/{record_number}/lines/","href":"/developers/api/resources-v2/invoices/list-invoice-record-lines"},{"title":"Send Invoice record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/invoices/{record_number}/send/","href":"/developers/api/resources-v2/invoices/send-invoice-record"}]},{"group":"Quotes","pages":[{"title":"List Quote records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/quotes/","href":"/developers/api/resources-v2/quotes/list-quote-records"},{"title":"Create Quote record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/quotes/","href":"/developers/api/resources-v2/quotes/create-quote-record"},{"title":"Get Quote record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/quotes/{record_number}/","href":"/developers/api/resources-v2/quotes/get-quote-record"},{"title":"Update Quote record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/quotes/{record_number}/","href":"/developers/api/resources-v2/quotes/update-quote-record"},{"title":"Update Quote record (partial)","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json patch /public/v2/quotes/{record_number}/","href":"/developers/api/resources-v2/quotes/update-quote-record-partial"},{"title":"Send Quote record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/quotes/{record_number}/send/","href":"/developers/api/resources-v2/quotes/send-quote-record"}]},{"group":"Recurring Invoices","pages":[{"title":"List RecurringInvoice records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/recurring/invoices/","href":"/developers/api/resources-v2/recurring-invoices/list-recurringinvoice-records"},{"title":"Create RecurringInvoice record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/recurring/invoices/","href":"/developers/api/resources-v2/recurring-invoices/create-recurringinvoice-record"},{"title":"Get RecurringInvoice record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/recurring/invoices/{record_number}/","href":"/developers/api/resources-v2/recurring-invoices/get-recurringinvoice-record"},{"title":"Update RecurringInvoice record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/recurring/invoices/{record_number}/","href":"/developers/api/resources-v2/recurring-invoices/update-recurringinvoice-record"},{"title":"Delete RecurringInvoice record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json delete /public/v2/recurring/invoices/{record_number}/","href":"/developers/api/resources-v2/recurring-invoices/delete-recurringinvoice-record"}]},{"group":"Sales Orders","pages":[{"title":"List SalesOrder records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/sales-orders/","href":"/developers/api/resources-v2/sales-orders/list-salesorder-records"},{"title":"Create SalesOrder record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/sales-orders/","href":"/developers/api/resources-v2/sales-orders/create-salesorder-record"},{"title":"Get SalesOrder record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/sales-orders/{record_number}/","href":"/developers/api/resources-v2/sales-orders/get-salesorder-record"},{"title":"Update SalesOrder record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/sales-orders/{record_number}/","href":"/developers/api/resources-v2/sales-orders/update-salesorder-record"},{"title":"Create SalesOrder record attachments","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/sales-orders/{record_number}/attachments/","href":"/developers/api/resources-v2/sales-orders/create-salesorder-record-attachments"},{"title":"List SalesOrder record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/sales-orders/{record_number}/lines/","href":"/developers/api/resources-v2/sales-orders/list-salesorder-record-lines"}]}]},{"group":"Money Out","pages":[{"group":"Bills","pages":[{"title":"List Bill records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/bills/","href":"/developers/api/resources-v2/bills/list-bill-records"},{"title":"Create Bill record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/bills/","href":"/developers/api/resources-v2/bills/create-bill-record"},{"title":"Get Bill record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/bills/{record_number}/","href":"/developers/api/resources-v2/bills/get-bill-record"},{"title":"Update Bill record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/bills/{record_number}/","href":"/developers/api/resources-v2/bills/update-bill-record"},{"title":"Update Bill record (partial)","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json patch /public/v2/bills/{record_number}/","href":"/developers/api/resources-v2/bills/update-bill-record-partial"},{"title":"Create Bill record attachments","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/bills/{record_number}/attachments/","href":"/developers/api/resources-v2/bills/create-bill-record-attachments"},{"title":"List Bill record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/bills/{record_number}/lines/","href":"/developers/api/resources-v2/bills/list-bill-record-lines"}]},{"group":"Direct Expenses","pages":[{"title":"List DirectExpense records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/direct-expenses/","href":"/developers/api/resources-v2/direct-expenses/list-directexpense-records"},{"title":"Create DirectExpense record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/direct-expenses/","href":"/developers/api/resources-v2/direct-expenses/create-directexpense-record"},{"title":"Get DirectExpense record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/direct-expenses/{record_number}/","href":"/developers/api/resources-v2/direct-expenses/get-directexpense-record"},{"title":"Update DirectExpense record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/direct-expenses/{record_number}/","href":"/developers/api/resources-v2/direct-expenses/update-directexpense-record"},{"title":"Create DirectExpense record attachments","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/direct-expenses/{record_number}/attachments/","href":"/developers/api/resources-v2/direct-expenses/create-directexpense-record-attachments"},{"title":"List DirectExpense record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/direct-expenses/{record_number}/lines/","href":"/developers/api/resources-v2/direct-expenses/list-directexpense-record-lines"}]},{"group":"Paper Check Templates","pages":[{"title":"List paper check templates","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/paper-check-templates/","href":"/developers/api/resources-v2/paper-check-templates/list-paper-check-templates"},{"title":"Get paper check template","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/paper-check-templates/{template_id}/","href":"/developers/api/resources-v2/paper-check-templates/get-paper-check-template"}]},{"group":"Paper Checks","pages":[{"title":"List paper checks","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/paper-checks/","href":"/developers/api/resources-v2/paper-checks/list-paper-checks"},{"title":"Print check immediately","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/paper-checks/print-now/","href":"/developers/api/resources-v2/paper-checks/print-check-immediately"},{"title":"Queue checks for later printing","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/paper-checks/print-later/","href":"/developers/api/resources-v2/paper-checks/queue-checks-for-later-printing"},{"title":"Batch print paper checks","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/paper-checks/print-batch/","href":"/developers/api/resources-v2/paper-checks/batch-print-paper-checks"},{"title":"Get paper check","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/paper-checks/{paper_check_id}/","href":"/developers/api/resources-v2/paper-checks/get-paper-check"},{"title":"Archive paper check","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json delete /public/v2/paper-checks/{paper_check_id}/","href":"/developers/api/resources-v2/paper-checks/archive-paper-check"}]},{"group":"Purchase Orders","pages":[{"title":"List PurchaseOrder records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/purchase-orders/","href":"/developers/api/resources-v2/purchase-orders/list-purchaseorder-records"},{"title":"Create PurchaseOrder record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/purchase-orders/","href":"/developers/api/resources-v2/purchase-orders/create-purchaseorder-record"},{"title":"Get PurchaseOrder record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/purchase-orders/{record_number}/","href":"/developers/api/resources-v2/purchase-orders/get-purchaseorder-record"},{"title":"Update PurchaseOrder record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/purchase-orders/{record_number}/","href":"/developers/api/resources-v2/purchase-orders/update-purchaseorder-record"},{"title":"Create PurchaseOrder record attachments","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/purchase-orders/{record_number}/attachments/","href":"/developers/api/resources-v2/purchase-orders/create-purchaseorder-record-attachments"},{"title":"List PurchaseOrder record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/purchase-orders/{record_number}/lines/","href":"/developers/api/resources-v2/purchase-orders/list-purchaseorder-record-lines"}]},{"group":"Recurring Bills","pages":[{"title":"List RecurringBill records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/recurring/bills/","href":"/developers/api/resources-v2/recurring-bills/list-recurringbill-records"},{"title":"Create RecurringBill record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/recurring/bills/","href":"/developers/api/resources-v2/recurring-bills/create-recurringbill-record"},{"title":"Get RecurringBill record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/recurring/bills/{record_number}/","href":"/developers/api/resources-v2/recurring-bills/get-recurringbill-record"},{"title":"Update RecurringBill record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/recurring/bills/{record_number}/","href":"/developers/api/resources-v2/recurring-bills/update-recurringbill-record"},{"title":"Delete RecurringBill record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json delete /public/v2/recurring/bills/{record_number}/","href":"/developers/api/resources-v2/recurring-bills/delete-recurringbill-record"}]},{"group":"Vendor Credits","pages":[{"title":"List VendorCredit records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vendor-credits/","href":"/developers/api/resources-v2/vendor-credits/list-vendorcredit-records"},{"title":"Create VendorCredit record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/vendor-credits/","href":"/developers/api/resources-v2/vendor-credits/create-vendorcredit-record"},{"title":"Get VendorCredit record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vendor-credits/{record_number}/","href":"/developers/api/resources-v2/vendor-credits/get-vendorcredit-record"},{"title":"Update VendorCredit record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/vendor-credits/{record_number}/","href":"/developers/api/resources-v2/vendor-credits/update-vendorcredit-record"},{"title":"List VendorCredit record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vendor-credits/{record_number}/lines/","href":"/developers/api/resources-v2/vendor-credits/list-vendorcredit-record-lines"}]},{"group":"Vendor Payments","pages":[{"title":"List VendorPayment records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vendor-payments/","href":"/developers/api/resources-v2/vendor-payments/list-vendorpayment-records"},{"title":"Create VendorPayment record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/vendor-payments/","href":"/developers/api/resources-v2/vendor-payments/create-vendorpayment-record"},{"title":"Get VendorPayment record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vendor-payments/{record_number}/","href":"/developers/api/resources-v2/vendor-payments/get-vendorpayment-record"},{"title":"Update VendorPayment record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/vendor-payments/{record_number}/","href":"/developers/api/resources-v2/vendor-payments/update-vendorpayment-record"},{"title":"Update VendorPayment record (partial)","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json patch /public/v2/vendor-payments/{record_number}/","href":"/developers/api/resources-v2/vendor-payments/update-vendorpayment-record-partial"},{"title":"Create VendorPayment record attachments","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/vendor-payments/{record_number}/attachments/","href":"/developers/api/resources-v2/vendor-payments/create-vendorpayment-record-attachments"},{"title":"List VendorPayment record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vendor-payments/{record_number}/lines/","href":"/developers/api/resources-v2/vendor-payments/list-vendorpayment-record-lines"}]},{"group":"Vendor Prepayment Applications","pages":[{"title":"List VendorPrepaymentApplication records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vendor-prepayment-applications/","href":"/developers/api/resources-v2/vendor-prepayment-applications/list-vendorprepaymentapplication-records"},{"title":"Create VendorPrepaymentApplication record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/vendor-prepayment-applications/","href":"/developers/api/resources-v2/vendor-prepayment-applications/create-vendorprepaymentapplication-record"},{"title":"Get VendorPrepaymentApplication record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vendor-prepayment-applications/{record_number}/","href":"/developers/api/resources-v2/vendor-prepayment-applications/get-vendorprepaymentapplication-record"},{"title":"Update VendorPrepaymentApplication record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/vendor-prepayment-applications/{record_number}/","href":"/developers/api/resources-v2/vendor-prepayment-applications/update-vendorprepaymentapplication-record"},{"title":"List VendorPrepaymentApplication record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vendor-prepayment-applications/{record_number}/lines/","href":"/developers/api/resources-v2/vendor-prepayment-applications/list-vendorprepaymentapplication-record-lines"}]},{"group":"Vendor Prepayments","pages":[{"title":"List VendorPrepayment records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vendor-prepayments/","href":"/developers/api/resources-v2/vendor-prepayments/list-vendorprepayment-records"},{"title":"Create VendorPrepayment record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/vendor-prepayments/","href":"/developers/api/resources-v2/vendor-prepayments/create-vendorprepayment-record"},{"title":"Get VendorPrepayment record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vendor-prepayments/{record_number}/","href":"/developers/api/resources-v2/vendor-prepayments/get-vendorprepayment-record"},{"title":"Update VendorPrepayment record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/vendor-prepayments/{record_number}/","href":"/developers/api/resources-v2/vendor-prepayments/update-vendorprepayment-record"}]},{"group":"Vendor Refunds","pages":[{"title":"List VendorRefund records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vendor-refunds/","href":"/developers/api/resources-v2/vendor-refunds/list-vendorrefund-records"},{"title":"Create VendorRefund record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/vendor-refunds/","href":"/developers/api/resources-v2/vendor-refunds/create-vendorrefund-record"},{"title":"Get VendorRefund record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vendor-refunds/{record_number}/","href":"/developers/api/resources-v2/vendor-refunds/get-vendorrefund-record"},{"title":"Update VendorRefund record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/vendor-refunds/{record_number}/","href":"/developers/api/resources-v2/vendor-refunds/update-vendorrefund-record"},{"title":"Create VendorRefund record attachments","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/vendor-refunds/{record_number}/attachments/","href":"/developers/api/resources-v2/vendor-refunds/create-vendorrefund-record-attachments"},{"title":"List VendorRefund record lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vendor-refunds/{record_number}/lines/","href":"/developers/api/resources-v2/vendor-refunds/list-vendorrefund-record-lines"}]},{"group":"Vendors","pages":[{"title":"List vendors","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vendors/","href":"/developers/api/resources-v2/vendors/list-vendors"},{"title":"Create vendor","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/vendors/","href":"/developers/api/resources-v2/vendors/create-vendor"},{"title":"Merge vendors","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/vendors/merge/","href":"/developers/api/resources-v2/vendors/merge-vendors"},{"title":"Get vendor","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vendors/{vendor_id}/","href":"/developers/api/resources-v2/vendors/get-vendor"},{"title":"Update vendor","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/vendors/{vendor_id}/","href":"/developers/api/resources-v2/vendors/update-vendor"},{"title":"Update vendor (partial)","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json patch /public/v2/vendors/{vendor_id}/","href":"/developers/api/resources-v2/vendors/update-vendor-partial"},{"title":"Delete vendor","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json delete /public/v2/vendors/{vendor_id}/","href":"/developers/api/resources-v2/vendors/delete-vendor"}]}]},{"group":"Financial \u0026 Banking","pages":[{"group":"Bank Connections","pages":[{"title":"List customer API bank connections","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/bank-connections/","href":"/developers/api/resources-v2/bank-connections/list-customer-api-bank-connections"},{"title":"Register a customer API bank connection","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/bank-connections/","href":"/developers/api/resources-v2/bank-connections/register-a-customer-api-bank-connection"},{"title":"Push bank transactions for a customer_api account","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/bank-connections/accounts/{financial_account_id}/transactions/","href":"/developers/api/resources-v2/bank-connections/push-bank-transactions-for-a-customer_api-account"},{"title":"List accounts for a customer API bank connection","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/bank-connections/{connection_id}/accounts/","href":"/developers/api/resources-v2/bank-connections/list-accounts-for-a-customer-api-bank-connection"},{"title":"Register accounts under a customer API bank connection","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/bank-connections/{connection_id}/accounts/","href":"/developers/api/resources-v2/bank-connections/register-accounts-under-a-customer-api-bank-connection"},{"title":"Get a customer API bank connection","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/bank-connections/{connection_id}/","href":"/developers/api/resources-v2/bank-connections/get-a-customer-api-bank-connection"},{"title":"Unregister a customer API bank connection","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json delete /public/v2/bank-connections/{connection_id}/","href":"/developers/api/resources-v2/bank-connections/unregister-a-customer-api-bank-connection"}]},{"group":"Bank Match","pages":[{"title":"Run the bank-match pipeline now","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/bank-match/populate/","href":"/developers/api/resources-v2/bank-match/run-the-bank-match-pipeline-now"},{"title":"List bank-match suggestions","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/bank-match/suggestions/","href":"/developers/api/resources-v2/bank-match/list-bank-match-suggestions"},{"title":"Get one bank-match suggestion","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/bank-match/suggestions/{suggestion_id}/","href":"/developers/api/resources-v2/bank-match/get-one-bank-match-suggestion"},{"title":"Check bank-match pipeline progress","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/bank-match/status-counts/","href":"/developers/api/resources-v2/bank-match/check-bank-match-pipeline-progress"},{"title":"List bank-feed transactions","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/bank-match/bank-transactions/","href":"/developers/api/resources-v2/bank-match/list-bank-feed-transactions"},{"title":"Get one bank-feed transaction","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/bank-match/bank-transactions/{financial_transaction_id}/","href":"/developers/api/resources-v2/bank-match/get-one-bank-feed-transaction"},{"title":"Confirm a bank-match","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/bank-match/matches/","href":"/developers/api/resources-v2/bank-match/confirm-a-bank-match"},{"title":"Undo a bank-match","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/bank-match/unmatches/","href":"/developers/api/resources-v2/bank-match/undo-a-bank-match"}]},{"group":"Bank Transfers","pages":[{"title":"List BankTransfer records","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/bank-transfers/","href":"/developers/api/resources-v2/bank-transfers/list-banktransfer-records"},{"title":"Create BankTransfer record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/bank-transfers/","href":"/developers/api/resources-v2/bank-transfers/create-banktransfer-record"},{"title":"Get BankTransfer record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/bank-transfers/{record_number}/","href":"/developers/api/resources-v2/bank-transfers/get-banktransfer-record"},{"title":"Update BankTransfer record","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/bank-transfers/{record_number}/","href":"/developers/api/resources-v2/bank-transfers/update-banktransfer-record"}]}]},{"group":"Assets","pages":[{"group":"Depreciation Books","pages":[{"title":"List depreciation books","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/depreciation-books/","href":"/developers/api/resources-v2/depreciation-books/list-depreciation-books"},{"title":"Get depreciation book by code","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/depreciation-books/{book_code}/","href":"/developers/api/resources-v2/depreciation-books/get-depreciation-book-by-code"}]},{"group":"Fixed Asset Classes","pages":[{"title":"List fixed asset classes","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/fixed-asset-classes/","href":"/developers/api/resources-v2/fixed-asset-classes/list-fixed-asset-classes"},{"title":"Get fixed asset class","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/fixed-asset-classes/{fixed_asset_class_id}/","href":"/developers/api/resources-v2/fixed-asset-classes/get-fixed-asset-class"}]},{"group":"Fixed Assets","pages":[{"title":"List fixed assets","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/fixed-assets/","href":"/developers/api/resources-v2/fixed-assets/list-fixed-assets"},{"title":"Create fixed asset","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/fixed-assets/","href":"/developers/api/resources-v2/fixed-assets/create-fixed-asset"},{"title":"Get fixed asset","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/fixed-assets/{fixed_asset_number}/","href":"/developers/api/resources-v2/fixed-assets/get-fixed-asset"},{"title":"Update fixed asset","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/fixed-assets/{fixed_asset_number}/","href":"/developers/api/resources-v2/fixed-assets/update-fixed-asset"},{"title":"Partial update fixed asset","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json patch /public/v2/fixed-assets/{fixed_asset_number}/","href":"/developers/api/resources-v2/fixed-assets/partial-update-fixed-asset"},{"title":"Archive fixed asset","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json delete /public/v2/fixed-assets/{fixed_asset_number}/","href":"/developers/api/resources-v2/fixed-assets/archive-fixed-asset"},{"title":"Get depreciation schedule by book","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/fixed-assets/{fixed_asset_number}/schedules/{depreciation_book_id}/schedule/","href":"/developers/api/resources-v2/fixed-assets/get-depreciation-schedule-by-book"}]}]},{"group":"Tax","pages":[{"group":"E-invoicing","pages":[{"title":"Get the e-invoicing status of the organization","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/e-invoicing/","href":"/developers/api/resources-v2/e-invoicing/get-the-e-invoicing-status-of-the-organization"},{"title":"List the e-invoicing countries","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/e-invoicing/countries/","href":"/developers/api/resources-v2/e-invoicing/list-the-e-invoicing-countries"},{"title":"List the e-invoicing settings of the companies","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/e-invoicing/companies/","href":"/developers/api/resources-v2/e-invoicing/list-the-e-invoicing-settings-of-the-companies"},{"title":"Get the e-invoicing settings of a company","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/e-invoicing/companies/{company_id}/","href":"/developers/api/resources-v2/e-invoicing/get-the-e-invoicing-settings-of-a-company"},{"title":"Get the e-invoicing registration of a company","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/e-invoicing/companies/{company_id}/countries/{country}/registration/","href":"/developers/api/resources-v2/e-invoicing/get-the-e-invoicing-registration-of-a-company"},{"title":"List the e-invoice filing events","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/e-invoicing/events/","href":"/developers/api/resources-v2/e-invoicing/list-the-e-invoice-filing-events"},{"title":"Check that a customer can receive an e-invoice","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/e-invoicing/preflight/","href":"/developers/api/resources-v2/e-invoicing/check-that-a-customer-can-receive-an-e-invoice"},{"title":"Get the e-invoice filing of an invoice","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/e-invoicing/invoices/{number}/","href":"/developers/api/resources-v2/e-invoicing/get-the-e-invoice-filing-of-an-invoice"},{"title":"Get the credit note filing of a customer credit","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/e-invoicing/customer-credits/{number}/","href":"/developers/api/resources-v2/e-invoicing/get-the-credit-note-filing-of-a-customer-credit"},{"title":"Retry the e-invoice filing of an invoice","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/e-invoicing/invoices/{number}/retry/","href":"/developers/api/resources-v2/e-invoicing/retry-the-e-invoice-filing-of-an-invoice"},{"title":"Retry the credit note filing of a customer credit","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/e-invoicing/customer-credits/{number}/retry/","href":"/developers/api/resources-v2/e-invoicing/retry-the-credit-note-filing-of-a-customer-credit"},{"title":"Refresh the e-invoice filing of an invoice","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/e-invoicing/invoices/{number}/refresh/","href":"/developers/api/resources-v2/e-invoicing/refresh-the-e-invoice-filing-of-an-invoice"},{"title":"Refresh the credit note filing of a customer credit","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/e-invoicing/customer-credits/{number}/refresh/","href":"/developers/api/resources-v2/e-invoicing/refresh-the-credit-note-filing-of-a-customer-credit"},{"title":"Download a legal file of an invoice filing","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/e-invoicing/invoices/{number}/files/{attachment_id}/","href":"/developers/api/resources-v2/e-invoicing/download-a-legal-file-of-an-invoice-filing"},{"title":"Download a legal file of a credit note filing","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/e-invoicing/customer-credits/{number}/files/{attachment_id}/","href":"/developers/api/resources-v2/e-invoicing/download-a-legal-file-of-a-credit-note-filing"},{"title":"List the events of an invoice filing","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/e-invoicing/invoices/{number}/events/","href":"/developers/api/resources-v2/e-invoicing/list-the-events-of-an-invoice-filing"},{"title":"List the events of a credit note filing","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/e-invoicing/customer-credits/{number}/events/","href":"/developers/api/resources-v2/e-invoicing/list-the-events-of-a-credit-note-filing"},{"title":"Get the e-invoicing identifiers of a customer","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/e-invoicing/customers/{customer_id}/identifiers/","href":"/developers/api/resources-v2/e-invoicing/get-the-e-invoicing-identifiers-of-a-customer"},{"title":"Set the e-invoicing identifiers of a customer","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/e-invoicing/customers/{customer_id}/identifiers/","href":"/developers/api/resources-v2/e-invoicing/set-the-e-invoicing-identifiers-of-a-customer"},{"title":"Get the e-invoicing identifiers of a vendor","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/e-invoicing/vendors/{vendor_id}/identifiers/","href":"/developers/api/resources-v2/e-invoicing/get-the-e-invoicing-identifiers-of-a-vendor"}]},{"group":"GST Tax Rates","pages":[{"title":"List GST tax rates","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/gst-tax-rates/","href":"/developers/api/resources-v2/gst-tax-rates/list-gst-tax-rates"},{"title":"Get GST tax rate by ID","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/gst-tax-rates/{gst_tax_rate_id}/","href":"/developers/api/resources-v2/gst-tax-rates/get-gst-tax-rate-by-id"}]},{"group":"Product Tax Codes","pages":[{"title":"List product tax codes","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/product-tax-codes/","href":"/developers/api/resources-v2/product-tax-codes/list-product-tax-codes"},{"title":"Create product tax code","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/product-tax-codes/","href":"/developers/api/resources-v2/product-tax-codes/create-product-tax-code"},{"title":"Get product tax code","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/product-tax-codes/{product_tax_code_id}/","href":"/developers/api/resources-v2/product-tax-codes/get-product-tax-code"},{"title":"Update product tax code","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/product-tax-codes/{product_tax_code_id}/","href":"/developers/api/resources-v2/product-tax-codes/update-product-tax-code"},{"title":"Delete product tax code","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json delete /public/v2/product-tax-codes/{product_tax_code_id}/","href":"/developers/api/resources-v2/product-tax-codes/delete-product-tax-code"}]},{"group":"Taxes","pages":[{"title":"Calculate tax","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/taxes/calculate/","href":"/developers/api/resources-v2/taxes/calculate-tax"}]},{"group":"VAT Rates","pages":[{"title":"List VAT rates","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vat-rates/","href":"/developers/api/resources-v2/vat-rates/list-vat-rates"},{"title":"Get VAT rate by ID","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/vat-rates/{vat_rate_id}/","href":"/developers/api/resources-v2/vat-rates/get-vat-rate-by-id"}]}]},{"group":"Financial Planning","pages":[{"group":"Budgets","pages":[{"title":"List budgets","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/budgets/","href":"/developers/api/resources-v2/budgets/list-budgets"},{"title":"Get budget","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/budgets/{budget_id}/","href":"/developers/api/resources-v2/budgets/get-budget"},{"title":"Get budget cells","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/budgets/{budget_id}/cells/","href":"/developers/api/resources-v2/budgets/get-budget-cells"},{"title":"Get budget actuals","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/budgets/{budget_id}/actuals/","href":"/developers/api/resources-v2/budgets/get-budget-actuals"},{"title":"Get budget accounts","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/budgets/{budget_id}/accounts/","href":"/developers/api/resources-v2/budgets/get-budget-accounts"}]}]},{"group":"Reporting","pages":[{"group":"Reporting","pages":[{"title":"List account balances","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/account_balances/","href":"/developers/api/resources-v2/reporting/list-account-balances"},{"title":"List general ledger lines","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/general_ledger/","href":"/developers/api/resources-v2/reporting/list-general-ledger-lines"},{"title":"List trial balance facts","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/trial_balance/","href":"/developers/api/resources-v2/reporting/list-trial-balance-facts"},{"title":"List chart of accounts facts","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/chart_of_accounts/","href":"/developers/api/resources-v2/reporting/list-chart-of-accounts-facts"},{"title":"List consolidated rates","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/consolidated_rates/","href":"/developers/api/resources-v2/reporting/list-consolidated-rates"}]}]},{"group":"Governance","pages":[{"group":"Approval Policies","pages":[{"title":"List workflows","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/workflows/","href":"/developers/api/resources-v2/approval-policies/list-workflows"},{"title":"List workflow approvers","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/workflows/approvers/","href":"/developers/api/resources-v2/approval-policies/list-workflow-approvers"},{"title":"Get workflow approver","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/workflows/approvers/{approver_id}/","href":"/developers/api/resources-v2/approval-policies/get-workflow-approver"},{"title":"List execution states","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/workflows/execution-states/","href":"/developers/api/resources-v2/approval-policies/list-execution-states"},{"title":"Get execution state by ID","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/workflows/execution-states/{state_id}/","href":"/developers/api/resources-v2/approval-policies/get-execution-state-by-id"},{"title":"Get approval actions for execution state","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/workflows/execution-states/{state_id}/actions/","href":"/developers/api/resources-v2/approval-policies/get-approval-actions-for-execution-state"},{"title":"List approval actions","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/workflows/actions/","href":"/developers/api/resources-v2/approval-policies/list-approval-actions"},{"title":"Get roles for workflow conditions","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/workflows/roles/","href":"/developers/api/resources-v2/approval-policies/get-roles-for-workflow-conditions"},{"title":"Get workflow by ID","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/workflows/{workflow_id}/","href":"/developers/api/resources-v2/approval-policies/get-workflow-by-id"},{"title":"Get workflow version history","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/workflows/{workflow_id}/versions/","href":"/developers/api/resources-v2/approval-policies/get-workflow-version-history"}]},{"group":"Inbox","pages":[{"title":"Get inbox summary","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/inbox/","href":"/developers/api/resources-v2/inbox/get-inbox-summary"},{"title":"List transactions inbox","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/inbox/transactions/","href":"/developers/api/resources-v2/inbox/list-transactions-inbox"},{"title":"List records inbox","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/inbox/records/","href":"/developers/api/resources-v2/inbox/list-records-inbox"},{"title":"Get transaction inbox details","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/inbox/transactions/{record_id}/","href":"/developers/api/resources-v2/inbox/get-transaction-inbox-details"},{"title":"Get record inbox details","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/inbox/records/{record_id}/","href":"/developers/api/resources-v2/inbox/get-record-inbox-details"}]}]},{"group":"Developers","pages":[{"group":"Data Exports","pages":[{"title":"List export jobs","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/export-jobs/","href":"/developers/api/resources-v2/data-exports/list-export-jobs"},{"title":"Request a data export","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/export-jobs/","href":"/developers/api/resources-v2/data-exports/request-a-data-export"},{"title":"Get export job","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/export-jobs/{job_id}/","href":"/developers/api/resources-v2/data-exports/get-export-job"}]},{"group":"Webhooks","pages":[{"title":"List webhooks","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/webhooks/","href":"/developers/api/resources-v2/webhooks/list-webhooks"},{"title":"Create webhook","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/webhooks/","href":"/developers/api/resources-v2/webhooks/create-webhook"},{"title":"List webhook topics","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/webhooks/topics/","href":"/developers/api/resources-v2/webhooks/list-webhook-topics"},{"title":"Get webhook","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/webhooks/{webhook_uuid}/","href":"/developers/api/resources-v2/webhooks/get-webhook"},{"title":"Update webhook","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json put /public/v2/webhooks/{webhook_uuid}/","href":"/developers/api/resources-v2/webhooks/update-webhook"},{"title":"Patch webhook","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json patch /public/v2/webhooks/{webhook_uuid}/","href":"/developers/api/resources-v2/webhooks/patch-webhook"},{"title":"Delete webhook","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json delete /public/v2/webhooks/{webhook_uuid}/","href":"/developers/api/resources-v2/webhooks/delete-webhook"},{"title":"List webhook deliveries","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/webhooks/{webhook_uuid}/deliveries/","href":"/developers/api/resources-v2/webhooks/list-webhook-deliveries"}]}]},{"group":"Monitoring","pages":[{"group":"Health","pages":[{"title":"API Health Check","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/health/","href":"/developers/api/resources-v2/health/api-health-check"}]}]},{"group":"OAuth","pages":[{"title":"Start CLI OAuth flow","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/oauth/authorize/","href":"/developers/api/resources-v2/oauth/start-cli-oauth-flow"},{"title":"OAuth callback from WorkOS","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json get /public/v2/oauth/callback/","href":"/developers/api/resources-v2/oauth/oauth-callback-from-workos"},{"title":"Exchange authorization code for API key","deprecated":null,"version":null,"openapi":"/developers/openapi/resources-v2.json post /public/v2/oauth/token/","href":"/developers/api/resources-v2/oauth/exchange-authorization-code-for-api-key"}]}]},{"version":"V1","tag":"Legacy","pages":[{"title":"V1","href":"/developers/api/resources-v1"}]},{"version":"V3-alpha","tag":"Preview","pages":[{"title":"V3-alpha","href":"/developers/api/resources-v3-alpha"}]}]},{"tab":"Release Notes","icon":"clock-rotate-left","menu":[{"item":"Release notes","icon":"sparkles","description":"The biggest launches, plus every new feature and improvement.","pages":[{"title":"Release notes","href":"/developers/release-notes"}]},{"item":"Changelog","icon":"list","description":"Every release by date, including fixes.","pages":[{"title":"Changelog","href":"/developers/release-notes/changelog"}]}],"pages":[{"title":"Release Notes","href":"/developers/release-notes"}]}]},"title":"Post a Revenue Recognition Batch - DualEntry Documentation","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":[],"chunks":[]}