Configuration You Must Get Right in Week One — Admin Guide
Four settings decide whether your numbers mean anything: GL Mapping, Indirect Cost Pools, Exclusions, and Workable Days. They are all under Admin, they are all quiet, and each one silently shapes a report someone will later rely on. Nothing here is urgent on day one and all of it is expensive to discover in month three.
The theme: three of the four are seeded for you and are wrong until someone looks. They do not sit empty and shout. They arrive with a plausible default, which is why they need a deliberate review rather than a glance.
For: administrators and controllers setting up a tenant · Time: ~20 minutes to review all four · You'll need: an ERP sync already run, since three of the four populate from it.
How to access
Admin, then the tab named in each section below. (Vendors, Labor Categories and Holiday Calendars are covered separately in Accounting Settings.)
1. GL Mapping — teaching Arcvue what your accounts mean
Admin → Accounting → Advanced settings → GL Mapping
Your account numbers are yours. Arcvue has to know which of them is revenue, which is direct labor, which is a fringe cost — otherwise it cannot build a statement. GL Mapping is that translation: it maps GL accounts to semantic roles so statements can be assembled automatically.
Mappings appear one of two ways: created during ERP sync, or via Auto-Detect. If the page is empty, neither has happened yet — that is the message it shows.
The section is headed GL Semantic Mapping — it maps your GL accounts to semantic roles so statements can be built automatically. Each row carries the account code, the Account Name, its semantic role, the match type, a description, and Active.
A row that is not Active is kept, not deleted. A mapping you turn off stays
readable, which is what lets you see what an account used to mean when an older
statement disagrees with a newer one.
Auto-Detect, and how to use it properly
Auto-Detect proposes mappings and lists them as GL Mapping Suggestions. Each suggestion names the account, the role it would map to, the match type, and a reason.
Read the reason column. It is the difference between accepting a suggestion and endorsing one. Select All / Deselect All exist for speed, but a bulk-accept of every suggestion is how a plausible-but-wrong mapping enters your statements with nobody having looked at it. Work down the list; the reason is there so you can disagree.
Use the search box to check a specific account, and note that inactive accounts are marked Inactive — a mapping pointing at a retired account is a mapping worth revisiting.
Why it matters more than it looks
Every automated statement is built on these roles. A misfiled account does not error — it just lands in the wrong line, and the statement still balances. That is what makes this the least forgiving of the four.
2. Indirect Cost Pools — the structure behind every rate
Admin → Accounting → Advanced settings → Indirect Cost Pools
This is where accounts are grouped into the pools your indirect rates are computed from. The page shows how many accounts across how many pools, grouped by pool and collapsible.
| Pool | What it holds |
|---|---|
| Fringe (SCA) | Fringe for service-contract-covered labor |
| Fringe (Non-SCA) | Fringe for everyone else |
| Overhead / FAC | Overhead |
| G&A / B&P / BD | General and administrative, bid and proposal, business development |
| Facilities | Facilities costs |
| Material Handling | Material handling |
The two fringe pools are separate on purpose and must stay that way. Mixing SCA and non-SCA fringe produces one blended rate that is wrong for both populations — and it is wrong in a direction you will not notice until a T&M price or a rate submission is questioned.
The allocation base is the decision, not the grouping
Each pool carries an allocation base: Labor, Revenue, or Total Cost. This is the denominator — what the pool's cost is spread over.
Grouping accounts wrongly shifts cost between pools. Choosing the wrong base changes every rate the pool produces. Of everything on this page, the base is the field to be certain about.
Save Changes confirms with "Indirect configuration saved". An empty page means it will populate after ERP sync or manual setup — not that you have no pools. A page headed Pool mapping could not be loaded is different: the request did not complete, so it cannot say what is assigned — Retry it rather than reading it as an empty mapping.
Changing the mapping needs read-write on the Admin Console row Indirect Cost Inputs of your permission matrix. With read-only access the tab shows which accounts feed each pool, says Read-only, and offers no controls.
The section is headed Indirect Cost Configuration and tells you its own size — how many accounts across how many pools. Beside each account's allocation base sits Cascade Order.
Cascade Order is the step-down sequence, and it is not cosmetic.
It decides which pool absorbs another before its own rate is computed, so two
identical pool structures with different cascade orders produce different rates.
3. Exclusions — what comes out before the number is reported
Admin → Accounting → Advanced settings → Exclusions
An exclusion removes an account from a computed figure. Each entry takes an Account Code (required), a Description, and a Reason for exclusion — plus an EBITDA Exclusion flag for accounts that should come out of EBITDA specifically.
Write a real reason. The field exists because an exclusion with no explanation is indistinguishable from a mistake six months later, and whoever finds it will either honor it blindly or delete it blindly. Neither is good.
Exclusions can be added and deleted. "No new exclusion candidates found" means Arcvue has nothing to propose — it is not an error.
This is the page most likely to be set up once and never revisited. An exclusion that was right for last year's structure quietly keeps applying.
The section is headed Account Exclusions and reports how many are configured. The table lists account code, description, the Section an exclusion belongs to, and an Actions column for the per-row controls. Cancel backs out of the add form without recording.
A Section is either an EBITDA exclusion or Crypto.
Below the configured list sit two things that are easy to confuse:
- Scan Suggestions — accounts matching exclusion keywords found in your actuals. These are SUGGESTIONS. Nothing here has been applied, and nothing applies itself; the scan proposes and you decide.
- GL Semantic Map Excluded Accounts — accounts already excluded by way of
the semantic map, collapsed behind a count. Each row is badged
gl_semantic_map, which is provenance, not a second place to edit: it tells you the exclusion came from the mapping rather than from this list, so the fix for a wrong one is in the mapping.
4. Workable Days — the denominator under your utilization
Admin → Workable Days
Per fiscal month you set workable days and holidays — described on the page as net workable days per month (weekdays minus federal holidays). Two figures summarize it: Annual Total for the fiscal year, and Monthly Average.
Save All saves the whole grid.
The part that catches people
The grid arrives pre-filled with defaults, not blank. When no data exists for the year, Arcvue seeds a standard month-by-month pattern with zero holidays. So the page looks configured on first visit and is approximately right — which means nobody feels prompted to fix it.
Zero holidays is the specific thing to correct. If you leave the seeded zeros, every month claims more workable days than it has, and anything divided by workable days — utilization, capacity, per-day cost — comes out flattering. Nothing errors, and the numbers are wrong all year.
Set the holidays for your own calendar, month by month, and check the Annual Total looks like a real working year rather than every weekday.
The section is headed Workable Days Calendar and states its own arithmetic: net workable days per month, weekdays minus federal holidays. The columns are workable days, federal holidays, Net Days, and the default.
Net Days is the denominator. Everything downstream that reads "utilization"
divides by it, which is why a wrong holiday count does not look like a calendar
problem — it looks like a productivity problem.
5. P&L Structure — which accounts make up each line
Admin → FP&A → Advanced settings → P&L Structure
Your income statement is assembled from eleven sections, and this screen says which of your account codes feed each one.
The columns
- Section — a line of the P&L. The identifier beside it in gray is the name the platform and its API use, and it is what shows up in an error message.
- In effect — the account codes making up that section today. How they are matched depends on the section, which is the next heading and the thing most worth reading before you edit.
- Source — whether those codes are the platform default or a choice your company made.
Read the Source column first
The screen shows the platform defaults alongside your own rows, and the Source column tells you which you are looking at. That distinction is the point of the page: a tenant sitting on the defaults has configured nothing, and a screen that could not show that would present a convention as though somebody had chosen it.
The eleven sections are three different kinds of thing
They look alike and they do not behave alike, so read the kind before you type:
- Prefix sections match any account code beginning with what you enter.
- Exact-match sections — the direct-labor codes — match the whole code and nothing else. These feed the direct-labor ratio the fringe cascade divides by.
indirect_combineddeliberately overlaps three other sections. That is not a mistake to clean up.
The mistake to avoid: typing a prefix like 51 into an exact-match
direct-labor section. Nothing will refuse it and nothing will look wrong — and
you will have silently moved the ratio that every indirect rate in the product
divides by. The kind is stated on the screen for each section; check it
before you edit, especially on the direct-labor rows.
The rightmost column of the P&L structure table has no visible heading; it carries the per-row controls and is announced to screen readers as Row actions.
6. Invoice letterhead logo — what prints on every invoice
Admin → Configuration, in the Email & Branding card.
Every invoice Arcvue generates carries your logo at the top of the page, fitted inside a 2.6 by 0.9 inch box. Until you upload one, invoices print a text letterhead instead. Nothing else in the product uses this file: it exists for the invoice.
- Upload logo opens a file picker (Choose a logo file). PNG or JPEG, up to 2 MB. The picker accepts only those two types, and the server checks the file's actual contents rather than its name, so a renamed file is refused with the reason. Once a logo is in place the same button reads Replace logo.
- The preview (Current invoice logo, shown at the proportions of the letterhead box) is drawn at the box's own proportions, so what you see is how the mark sits on the page. A wide wordmark fills the width; a square badge is bounded by the height and prints smaller. If your mark looks small here, it will look small on the invoice — export a wider crop.
- Remove logo takes it off future invoices. Invoices already generated are not changed.
Both actions write to the audit log (Admin → Audit Log) with who did it and the file name, like every other configuration change.
If it is wrong
- The preview says the configured file is not on disk. The setting names a file that is no longer where the renderer looks. Upload the logo again; that rewrites both.
- The logo prints but it is the old one. Invoices already generated keep the logo they were generated with. Regenerate the invoice.
The through-line
| Setting | Arrives as | The mistake |
|---|---|---|
| GL Mapping | Empty, or auto-detected suggestions | Bulk-accepting suggestions without reading the reasons |
| Indirect Cost Pools | Populated from ERP sync | Wrong allocation base; merging SCA and non-SCA fringe |
| Exclusions | Empty | No reason recorded; never revisited when the structure changes |
| Workable Days | Pre-filled with defaults and zero holidays | Leaving the seeded zeros, so every per-day figure flatters |
None of these fail loudly. Every one of them produces a report that renders, balances and looks fine. That is why they are worth twenty deliberate minutes in week one rather than an afternoon of forensics later.
Related
- Vendors, labor categories and holiday calendars → Accounting Settings
- The accounts these settings organize → Chart of Accounts
- What the pools and bases produce → Indirect Rates
- Getting the ERP connected in the first place → the How to connect your ERP source how-to (How-To section of the manual)
Model usage
Below the AI configuration card, the Model usage panel shows what this tenant's model calls cost and what they were for, from the ledger every model call is recorded in. Nothing on this panel makes a model call.
- The Usage window control (30 days, 90 days, 1 year) sets the period for everything below it.
- Each service — Financial intelligence and Accounting — shows the period's Calls, Tokens in, Tokens out, and three named outcomes: Refused (a safety classifier declined the request), Cut short (the answer hit its token cap and was not used as if whole), and Failed (the provider's SDK raised). If a service is not enabled for the tenant it says so instead of erroring.
- Calls per day is the strip under the totals: one cell per day, oldest first, height by calls; a day with a refusal or truncation is amber, a day with a failure red, and hovering a cell says exactly what happened that day.
- Usage by feature lists every feature that called a model in the period — the bookkeeper chat, the close's anomaly explanations, contract and invoice extraction, the AI assistant and so on — with its calls, tokens, named outcomes and mean latency; hover a feature to see the call site that recorded it. Two columns say how the context was paid for: Cached is the tokens served from the provider's prompt cache, and Reuse is the share of the feature's context that came from cache — amber below half, because re-sent context is where most of the spend is.
- Where the tokens go lists token-reduction suggestions derived from this tenant's own calls in the period — which feature carries most of the context, which one re-sends a large context without reading from cache, which one writes to cache more than it reads back, and which calls were refused or cut short and so paid for without an answer — each naming the feature and its numbers. When no feature has made three calls, or nothing stands out, it says so.
- The models that answered, with their call counts, close the section.
An operator who sees refusals climbing on one feature has a content problem to look at, not a quota problem; one who sees truncations has a feature asking for more than its cap. Both are actionable from the feature row.