Optional -- declining never blocks you from clocking in or out, it just won't verify where you were. You can change this any time.
←
🔍
——
—
Log out
📊
Dashboard
Pipeline and accounting snapshot
Estimate pipeline
$0
0 open estimates
Accounts receivable
$0
Open + invoiced sales orders
Accounts payable
$0
Open + received purchase orders
Paid net
$0
SO receipts minus PO payments
Active applicants
0
0 unassigned
Active rental assets
0
0 overdue
Active FEMA reimbursable assets
0
$0 reimbursable
Active open burn authorizations
0
0 pending
Open sales orders
SO #
Customer
Status
Amount
Open purchase orders
PO #
Vendor
Status
Amount
Active applicants
Applicant #
Applicant
County
City
State
Zip
FEMA App #
Source Intake #
Case Status
Assigned to
Damage level
Active rental assets (third party)
Vendor Unit ID
Category
Asset name
Model
Serial #
Vendor
Qty
Location
Start date
Est. return
Actual return
Status
Condition in
Condition out
Daily
Weekly
Monthly
Committed cost
Reimbursable
Active agency-owned FEMA reimbursable assets
Agency Unit ID
Category
Asset name
Cost code
Spec
Location
Start date
Start hour
Return hour
Status
Reimbursable
FEMA rate
Reimbursable amount
Active open burn authorizations
Authorization #
Authorized Person
County
Start Date
End Date
Status
🗺️
Initial Damage Assessments
Applicant Field Assessment Mapped Location
Upload Photos
Intake Forms
Applicants
Damage Assessment Level Assignments
Support Team
Total: 0
Intake #
Applicant
County
City
State
Zip
FEMA App #
Date
Incident Type
Status
Support Team Assignment
Total: 0
Applicant #
Applicant
County
City
State
Zip
FEMA App #
Source Intake #
Case Status
Assigned to
Total: 0
Name
Phone
Email
Role
Agency
Status
⚙️
Role & Agency Options
Deactivating an option removes it from new/edited members without touching ones that already use it
Role
Name
Active
Agency
Name
Active
🏙️
Damage Assessment Level Assignments
Photos grouped by severity, with case folders and auto-generated PDF reports per owner
Unassigned
Affected
Minor
Major
Destroyed
Inaccessible
Pending Reassignment
Recently Deleted
Applicant cases that haven't been given a damage level yet. Assign one below to move a case into the matching folder -- once assigned and later unassigned, a case moves to Pending Reassignment instead of coming back here.
Mostly cosmetic damage (e.g., minor siding or roofing loss); the structure remains safe and usable without repairs.
Repairable, non-structural damage (e.g., broken windows, doors, or shallow water in a non-essential space); the home is temporarily uninhabitable but easily fixed.
Structural failure or significant damage to essential living spaces (e.g., collapsed roof components, foundational shifts, or high water levels on the first floor); the home requires extensive, costly repairs.
Total loss; the structure is completely leveled, burnt, or structurally unsalvageable.
Conditions prevent physical or visual verification of the property.
When a photo's damage-level assignment is removed, its whole case folder (the auto-generated assessment PDF and any manually-added documents) lands here automatically. It moves back on its own once that property is assigned a damage level again -- to whichever level that turns out to be.
Deleting a document moves it here instead of removing it right away. Use Restore to put it back, or wait -- it's permanently deleted automatically after the retention period below.
Upload one or more real camera/phone photos with GPS location in their metadata -- it's extracted, reverse-geocoded to county/state, saved under your own folder, and added to the Photo Locations Map / Discover / Gallery immediately, no separate reindex step. Screenshots and re-saved/edited images usually have GPS stripped and will be rejected. Saved under:--.
📷
Drag & drop one or more photos here, or click to choose files
Paste a legal description (metes-and-bounds courses -- "THENCE N 45 00 00 E 200.00 feet...") and a starting point, and it's plotted as a polygon on the map below. Scratch tool only -- nothing here is saved; it's a quick visual check on any parcel, not tied to a specific photo or record. Curved courses aren't computed yet -- they're detected and skipped, with a count shown after plotting.
Drop a .txt file to insert its text directly, or a photo/scan/PDF of the deed page to run OCR (can take up to a minute for multi-page documents) — or click to choose a file.
Click anywhere on the map to set the start point from that location. Cursor:--
🤝
CRM
Leads, sales pipeline, and support cases
Leads
Opportunities
Cases
📝
Estimates
Customer estimates and pricing
Estimates
Closed Estimates
Items
Total: 0
Estimate #
Customer
Date
Status
Total
Total: 0
Estimate #
Customer
Date
Status
Total
📦
Items
Products and services you sell or buy, and their units of measure
Items
Units of Measure
Price Levels
Total: 0
Name
Display name
Subtype
Base price
Tax group
Qty on hand
Avg cost
Value
📏
Units of measure
Used on estimate, sales order, and purchase order line items
Total: 0
Name
Base unit
💰
Price Levels
Named pricing tiers a customer can be assigned -- set per-item override prices on each item's own edit screen
Total: 0
Name
Status
📋
Sales orders
Confirmed work and receivables
Sales Orders
Closed Sales Orders
Return Authorizations
Total: 0
SO #
Customer
Ref estimate
Date
Status
Total
Total: 0
SO #
Customer
Ref estimate
Date
Status
Total
To create a return authorization, use the "Return auth" button on the relevant sales order.
R.A. #
Sales order
Customer
Date
Status
🛍
Purchase orders
Materials, equipment, and payables
Purchase Orders
Closed Purchase Orders
Total: 0
PO #
Vendor
Sales order number
Date
Status
Total
Total: 0
PO #
Vendor
Sales order number
Date
Status
Total
🧾
Requisitions
Internal purchase requests, approved before becoming a purchase order
Total: 0
Req #
Requested by
Date
Preferred vendor
Status
Total
📨
Bills
Vendor bills, payments made, and AP aging
Bills
Paid Bills
Vendor Payments
AP Aging
1099 Summary
Bill #
Vendor
Date
Due
Total
Balance
Status
Bill #
Vendor
Date
Due
Total
Balance
Status
Payment #
Vendor
Date
Method
Amount
Unapplied
Status
Vendor
Current
1-30
31-60
61-90
90+
Total
Total actually paid (not billed) to each 1099-eligible vendor this calendar year, based on real payments made -- 1099 reporting is on a cash basis by law. Vendors at or above the federal $600 threshold are flagged. Mark a vendor 1099-eligible (and pick its box category) on the vendor's own record.
Vendor
Tax ID
Box category
Total Paid
Requires 1099
🧾
Receipts
Already-paid purchases -- cash or credit card. For a vendor bill you'll pay later, use Bills instead.
Receipt #
Vendor
Date
Paid via
Total
Status
📅
Payroll
Employees, tax tables, and payroll runs
Employees
Tax Tables
Payroll Runs
Human Resources
Time Off
Shifts
Performance
To add a new employee, use Human Resources.
#
Name
Job title
Department
State
Pay type
Rate
Frequency
Status
Every table starts unreviewed. A payroll run can be calculated for review with unreviewed tables, but cannot be approved or posted until your CPA/payroll specialist reviews each one used.
Jurisdiction
Type
Filing status
Year
Reviewed
Employer tax settings (SUTA)
State unemployment insurance rate is assigned per-employer by each state, not a public table.
State
Year
Rate
Wage base
Reviewed
Multi-state reciprocity agreements
Lets an employee who lives in one state but works in another have income tax withheld for their home state instead, where the two states have an agreement. Reference data shared across every company in the system -- not specific to yours -- so changes require an admin.
Work state
Residence state
Effective date
End date
Number
Period
Pay date
Status
Gross
Net
Time clock
Choose either, both, or neither -- office staff might use a shared kiosk, field staff might clock in remotely from their own phone. Neither on means today's manual hours entry, unchanged.
Employee directory, org structure, and job change history
Name
Job title
Department
Manager
Employment type
Status
Leave types, accrual policies, employee balances, and time-off requests
Leave types & accrual policies
Name
Paid
Tracks balance
Accrual method
Amount
Annual cap
Carryover cap
Waiting days
Status
Time-off requests
Employee
Type
Dates
Hours
Status
Reviewed by
Shift templates, recurring schedule patterns, and the dated shift roster
Shift templates
Name
Start
End
Status
Recurring schedule patterns
Employee
Shift
Days
Start date
End date
Status
Scheduled shifts
Date
Employee
Shift
Status
Review cycles, self/manager reviews, and goal tracking
Review cycles
Name
Type
Period
Due date
Status
Reviews
Employee
Cycle
Rating
Status
Goals
Employee
Goal
Target date
Status
Progress
👥
Customers
Who you estimate and bill, and their invoices
Customer List
Invoices
Total: 0
Name
Primary contact
Sales rep
Status
Email
Phone
💳
Invoices
Customer invoices, payments received, and AR aging
Invoices
Paid Invoices
Customer Payments
Credit Memos
AR Aging
Invoice #
Customer
Date
Due
Total
Balance
Status
Sales Rep
Invoice #
Customer
Date
Due
Total
Balance
Status
Sales Rep
Payment #
Customer
Date
Method
Amount
Unapplied
Status
Credit Memo #
Customer
Date
Original Invoice
Amount
Remaining Credit
Status
Customer
Current
1-30
31-60
61-90
90+
Total
🏪
Vendors
Who you buy materials and equipment from
Total: 0
Name
Primary contact
Category
Email
Phone
Date created
Last modified
📁
Evidence Room
Chain-of-custody tracking for physical and digital evidence
Items
Categories
Custom Fields
Total: 0
Case Info
Item Info
Storage Info
Chain of Custody
Case #
Federal Statute
State Statute
Originating Agency
Defendant
Case Status
Item ID
Category
Classification
Reported Stolen
Actual Owner
Actual Owner ATF Check
Description
Serial #
Condition
Vault
Location
Hazmat
Lab
Lab Findings
Intake Date
Seizing Officer
Status
Custodian
Last Audit
📑
Evidence categories
Used on the Item Category field -- add new ones any time, no code change needed
Total: 0
Name
🔧
Custom Fields
Extra fields shown on every Evidence Item
Label
Key
Type
Section
Options
Required
Active
🏗️
Rental Assets
Rental equipment tracked from check-out through return
Third Party Rental Assets
Agency Owned FEMA Reimbursable Tracking
Options
Total: 0
Vendor Unit ID
Category
Asset name
Model
Serial #
Vendor
Qty
Location
Start date
Est. return
Actual return
Status
Condition in
Condition out
Daily
Weekly
Monthly
Committed cost
Reimbursable
Page 1
For a county or parish's OWN fleet self-deployed to a disaster response -- reimbursed via the FEMA Schedule of Equipment Rates (rate × hours run), not an invoice. Rented equipment stays on the Assets tab instead.
These rates are applicable to major disasters and emergencies declared by the President on or after July 1, 2025. This note applies to the currently loaded schedule and to any schedule imported later -- see the Options tab to import a new one.
Total: 0
Agency Unit ID
Category
Asset name
Cost code
Spec
Location
Start date
Start hour
Return hour
Status
Reimbursable
FEMA rate
Reimbursable amount
Page 1
⚙️
Rental Asset Options
Manage the dropdown choices used on rental asset records -- deactivating an option removes it from new records without touching ones that already use it
Asset Category
Name
Active
Subcategory
Category
Name
Active
Rental Status
Name
Active
Condition (In / Out)
Name
Active
Reimbursable
Name
Active
FEMA Schedule of Equipment Rates
Total: 0
These rates are applicable to major disasters and emergencies declared by the President on or after July 1, 2025. Keep this in mind whenever a new schedule is imported below -- check the source document's own effective-date range before replacing the numbers here.
Importing upserts by Cost Code -- a code already on file gets its rate/description updated (this is how a new year's schedule replaces last year's numbers); a new code is added. Rows already used on a saved Agency Owned FEMA Reimbursable Tracking record keep whatever rate they were saved with either way.
Cost Code
Equipment
Manufacturer
Spec / Capacity
HP
Unit
Rate
Active
🔥
Open Burn Authorizations
Grant, deny, and track open burn authorizations for agricultural, land-clearing, and silvicultural burns
Authorizations
Firing Techniques
Total: 0
Authorization #
Authorized Person
Burn Type
Size
Certified
Start Date
County
Status
Page 1
⚙️
Firing Techniques
Options shown on the Burn Details tab's Firing Technique field
Name
Definition
Active
📐
Drawing Intelligence
Ingest engineering drawings and produce a reviewable Bill of Materials
Drawings
Review
Patterns
Search
Bill of Materials
Upload a drawing
PDF only for now (DWG/DXF planned). Splits into pages, renders each to an image, and OCRs the text automatically; extraction (regex + AI-vision) then runs in the background.
Uploading and preprocessing… this can take a while for a large drawing set.
Total: 0
Filename
Revision
Type
Status
Pages
Uploaded
By
100%Scroll wheel over the image to zoom; drag the scrollbars to pan.
Item
Description
Spec
Size
Qty
Units
ISO
Conf.
Source
Status
Title Block
Test a pattern live
Live preview (0 matches)
Name
Type
Target
Pattern
Active
Drawing
Page
Match
Only pages with at least one approved BOM item show up here -- approve items for a page in the Review tab first. The suggested file name comes from that sheet's own title block (e.g. "72-5091-SH1"), falling back to the drawing's filename if no title block has been extracted yet.
Select a drawing and page to see its approved Bill of Materials.
File name:
Item
Description
Spec
Size
Qty
Units
Email history
Sent to
Format
Items
Sent by
Sent at
🧑💼
Recruiting
Job postings, candidate pipeline, and resume screening
Job Postings
Candidates
Posting #
Title
Department
Req #
Status
Candidate #
Name
Posting
Status
Resume
🔑
Admin
Approvals, team access, accounting setup, and company profile
Approvals
Team
Themes
Accountant
Company Profile
PDF Templates
SSO & SCIM
Dashboard
Custom Fields
Reports
Spend Management
✅
Approvals
Documents waiting on sign-off, and the dollar thresholds that trigger them
Pending approvals
Type
Document
Amount
Requested by
Requested
Approval rules
Purchase orders at or above this amount require approval before they can proceed.
👥
Team
Who can log in, and what they can do
Total: 0
Name
Email
Role
Modules
MFA
Permission sets
Reusable bundles of modules you can assign to a teammate above, instead of granting modules one at a time. Assigning one to a teammate replaces their own individual module grants entirely.
Name
Modules
🎨
Themes
Assign a color theme to each module, and decide who else can change one
Company default
Used for the shared header/nav and any module below with no theme of its own.
Per-module themes
Module
Theme
Theme catalog
Swatch
Name
Type
💼
Accountant
Accounting rules, general ledger, fixed assets, budgeting, and audit trail
Accounting Rules
General Ledger
Fixed Assets
Budgeting
Audit Trail
Data Import
Commissions
Revenue Recognition
Advanced Features
Projects
Manage Accounting Periods
⚖️
Accounting Rules
Advanced settings an administrator can toggle for how this company's books are kept
Inventory Costing Method
Controls how Bills, Invoices, Kitting, and Inventory Adjustments compute Cost of Goods Sold going forward. Changing this never recalculates past transactions -- it only changes how future receipts and sales are costed, the same way every correction in this app works (void and redo, never rewrite history).
LIFO has real tax implications. The IRS's LIFO conformity rule generally requires using LIFO for your books if you use it on your tax return -- confirm this with your CPA before switching, not after.
Purchase Order Requires Sales Order
An internal control to prevent someone from manually creating a Purchase Order to buy items for a customer without an established Sales Order first. Under GAAP and standard audit procedures, this is heavily frowned upon -- it bypasses proper revenue recognition, inventory allocation, and margin tracking, since nothing ties the purchase back to the sale it was actually for.
Purchase Order Requires Budget Line
An internal control common at government agencies: every Purchase Order line with a GL account must be covered by an existing Budget line for that account (via Budgeting), or the PO is rejected outright. A Requisition can explicitly target a different fiscal year's budget (e.g. a prior year, to exhaust funds before they lapse) — see its own "Fiscal year budget" field; otherwise this checks against the one active Budget for the current period.
More toggleable advanced features will appear on this page as they're added.
📁
General Ledger
Chart of accounts, journal entries, and financial reports
Total: 0
Chart of Accounts
Books
Bank Reconciliation
Tax Jurisdictions
Tax Groups
Payment Terms
Currencies
Hidden Accounts
Journal Entries
Recurring Entries
Trial Balance
P&L
Balance Sheet
Cash Flow
Sales Tax Liability
Custom Financial Reports
Transaction Details
Document Activity
Departments
By Department
Profit Centers
By Profit Center
Locations
By Location
Subsidiaries
By Subsidiary
Custom Segments
By Segment
Statistical Accounts
Statistical Entries
AR Sub-ledger
AP Sub-ledger
Parallel sets of books (Multi-Book Accounting) -- e.g. a US GAAP book for management reporting alongside a Local GAAP/IFRS book for statutory filings. A journal entry can post to more than one at once.
Name
Description
Status
Upload the OFX/QFX/CSV file your bank lets you export -- this only reads that file, it isn't a live bank connection. Confident matches in the worksheet below get pre-checked automatically; borderline ones are listed separately for you to accept or skip.
Past reconciliations for this account
Statement date
Ending balance
Lines cleared
Finished
Agencies
Who each jurisdiction below actually reports/remits to -- e.g. "Texas Comptroller of Public Accounts" administers the state rate AND every local county/city/district add-on together. Used to split the Sales Tax Liability report by who's actually owed what.
Name
State
Status
Individual taxing-authority rates you maintain yourself (state, county, city, special district, etc.) -- e.g. "TEXAS" (STATE, 6.25%) or "CHAMBERS CO HEALTH SER" (SPD, 0.5%). These aren't picked directly on a document -- bundle the ones that stack for a given address into a Tax Group (next tab), which is what an Estimate/Sales Order/Purchase Order/Invoice actually selects.
Grouped by Agency, in the same order as the Sales Tax Liability report -- use the ↑/↓ buttons to rearrange either list.
Name
Code
Type
Rate
Status
Named bundles of Tax Jurisdictions whose rates stack to one combined rate -- e.g. "Winnie, TX" = Texas (6.25%) + 3 local districts = 8.125% combined. This is what actually gets picked (or "Non-Taxable") in the tax dropdown on an Estimate/Sales Order/Purchase Order/Invoice. Auto-suggested when a customer is picked by matching zip, then state, then your marked default -- always manually changeable either way.
Name
State
Zip
Combined Rate
Default
Status
Named payment terms (e.g. "COD", "Net 30") a Customer or Vendor can be assigned -- drives due-date auto-calc on new Invoices and default Terms on new Purchase Orders.
Name
Days
Status
Currencies your customers/vendors can transact in besides your home currency. Exchange rates are entered by hand -- there's no live FX feed, so keep these up to date if you use them. See a currency's rate history to add a new rate as of a given date.
Code
Name
Symbol
Latest rate
Status
Code
Name
Type
Subtype
Balance
Status
Inactive accounts -- hidden from the Chart of Accounts above. Unhide one to make it active again.
Code
Name
Type
Subtype
Balance
JE #
Date
Memo
Source
Debits
Credits
Saved templates (e.g. "Monthly Rent") -- click Post now when one's due instead of retyping it each period.
Memo
Frequency
Next run
End date
Status
Bring in a starting trial balance from another system (e.g. when switching to Ninecore ERP) -- posts one opening-balance journal entry from a file of account balances. Only accounts with no existing activity here can be imported this way.
Code
Account
Debit
Credit
Code
Account
Amount
Code
Account
Amount
Categorized from your existing bank account activity (Operating/Investing/Financing) -- a documented best-effort approximation, not a substitute for a real accountant's judgment on an unusual transaction. See the info note on each section.
Taxable and non-taxable sales, tax collected, and your current Sales Tax Payable balance net of remittances. Sales Tax Payable always reflects the balance through the "To" date, not just this period's activity. Filtering by State restricts every figure (including the detail table below) to that state's own Tax Agencies -- set a State on a Tax Agency to make it filterable. Click-through to the underlying invoices is only available with no State filter applied.
Pick your own GL accounts and arrange them into labeled sections with subtotals -- your own P&L or Balance Sheet variant.
Name
Basis
Date
Journal ID
Account
Description
Debit
Credit
Estimates, Sales Orders, and Purchase Orders never post to the General Ledger (only Invoices and Bills do) -- so they never appear in Transaction Details above. This shows every one of these 5 document types that existed in the period, regardless of GL-posting status.
Date
Type
Number
Customer/Vendor
Status
Total
Posts to GL?
Departments/segments (e.g. Marketing, IT) you can tag onto journal entry lines to track spending by department.
Code
Name
Status
Expense totals for the period, grouped by department. Lines with no department tagged land under "Unassigned".
Department
Amount
Business units or product lines (e.g. Residential, Commercial) you can tag onto journal entry lines to track profitability.
Code
Name
Status
Income minus expense for the period, grouped by business unit/product line. Lines with no profit center tagged land under "Unassigned".
Profit Center
Income
Expense
Profit
Sites or regions (e.g. Tulsa Warehouse, Dallas Branch) you can tag onto journal entry lines to track activity by location.
Code
Name
Status
Income minus expense for the period, grouped by site/region. Lines with no location tagged land under "Unassigned".
Location
Income
Expense
Profit
Legal entities/subsidiaries under this one account (e.g. separate LLCs) that you can tag onto journal entry lines. Leave lines untagged and every report stays exactly as it was before -- this is invisible until you add your first subsidiary.
Code
Name
Status
Income minus expense for the period, grouped by legal entity/subsidiary. Lines with no subsidiary tagged land under "Unassigned". The total across every row here always matches the whole-company (consolidated) P&L for the same period.
Subsidiary
Income
Expense
Profit
Unlimited custom reporting dimensions (e.g. Sales Channel, Product Line) beyond the built-in Department, Profit Center, and Location segments.
Name
Values
Status
Income minus expense for the period, grouped by the selected custom segment's values. Lines with no value of this segment tagged land under "Unassigned".
Value
Income
Expense
Profit
Non-financial metrics (e.g. Headcount, Square Footage) tracked alongside the books -- useful as the basis for a KPI or an allocation you compute by hand (this app doesn't run automated allocations).
Name
Unit
Status
Date
Amount
Department
Profit Center
Location
Memo
Accounts Receivable balance per customer, from journal entry lines tagged with a customer. Only reflects tagged activity -- see the reconciliation note below the table.
Customer
Balance
Accounts Payable balance per vendor, from journal entry lines tagged with a vendor. Only reflects tagged activity -- see the reconciliation note below the table.
Vendor
Balance
🏭
Fixed Assets
Asset register and straight-line depreciation
Description
Cost
Salvage value
Useful life
In service
Accumulated depreciation
Book value
Status
Class
Cost + R&M
Purchased/Financed
Disposed/Sold Date
Disposed/Sold Amount
Listed Property
179 Deduction Amount
Current Value
R&M Capitalization
Annual Depreciation
📊
Budgeting
Set per-account monthly targets and compare against actuals
Name
Fiscal year
Status
📜
Audit Trail
Who created, changed, or deleted an accounting record, and when -- an unalterable log (there's no way to edit or delete these entries anywhere in the app).
Total: 0
Exports use the From/To dates and Type filter above, and are never capped at 1000 rows like the on-screen table -- a full compliance record regardless of how many rows match. PDF opens in a new tab; use your browser's print button or Ctrl+P from there to print it.
Date/Time
User
Action
Type
Record
Details
📥
Data Import
Bring in data from another accounting system
QuickBooks Desktop (.IIF)
Upload an .iif file exported from QuickBooks Desktop (File → Utilities → Export → Lists to IIF Files, or a General Journal export). Supports the Chart of Accounts, Customers, Vendors, Items, and General Journal transactions. Other transaction types (invoices, bills, checks, etc.) aren't supported yet -- they'll be listed, not imported.
Import from a spreadsheet (CSV / Excel)
Works with any system that can export a list to CSV or Excel -- QuickBooks Online, Peachtree/Sage 50, Sage, NetSuite, or a plain spreadsheet.
Also works with CRM exports from other systems (Salesforce, HubSpot, Zoho, Pipedrive, etc.) -- common column names from those are recognized automatically.
💰
Commissions
Track commissions owed to employee sales reps, calculated from their invoices
Commission Plans
One flat rate per rep, against Gross Sale (invoice subtotal before tax) or Gross Profit (revenue minus recorded inventory COGS and any labor cost entered on the invoice lines). Attribution comes from each invoice's own Sales Rep field, snapshotted at the time it was created.
Sales Rep
Basis
Rate
Active
Run #
Period
Status
Total commission
📋
Revenue Recognition
Multi-element contracts, fair-value allocation, and deferred revenue schedules
"Fair Value Formulas" isn't turned on yet. An admin can enable it on the Advanced Features sub-tab.
Contract #
Customer
Date
Status
Contract price
Allocated
Recognized
Recognition Runs (Automated Journal Entries)
"Automated Journal Entries" isn't turned on yet. An admin can enable it on the Advanced Features sub-tab.
Run #
As of
Status
Total recognized
⚡
Advanced Features
Optional Advanced Revenue Recognition capabilities, off by default -- turning these on doesn't change any existing Invoice/Sales Order behavior
Advanced Revenue Recognition
Each capability requires the one above it to already be on -- Fair Value Formulas is the foundation, Revenue Recognition Schedules builds on it, and Automated Journal Entries is the batch that posts what Schedules produces. This runs as its own separate ledger (the "Revenue Recognition" sub-tab), independent of Invoices/Sales Orders.
GL accounts
Required before a contract can be activated or a recognition run approved.
💼
Projects
Track labor hours and costs against a job
Number
Name
Customer
Status
📅
Manage Accounting Periods
Close a period to block any new or edited transaction dated inside it, across every part of the app that posts to the ledger
Fiscal year start
Drives the period generation below and the Budgets grid. Leave as January unless your fiscal year doesn't follow the calendar year. Never affects Payroll -- W-2s, 1099s, and quarterly payroll tax filings always stay on the calendar year regardless of this setting.
Generate a fiscal year
Creates 12 monthly periods starting at the fiscal year start month above, all starting Open. A date with no period defined at all is always allowed to post -- periods are opt-in, not a requirement to use the rest of the app.
Period
Start
End
Status
Closed by
⚠
Resolve Date/Period Mismatches
Transactions dated in a different period than when they were actually entered into the books
A mismatch happens when a transaction's own date falls inside one accounting period, but the entry wasn't actually entered into the books until a day that falls inside a DIFFERENT period -- for example, a transaction dated March 15 that wasn't recorded until April 3rd. This is a normal part of catching up on paperwork, but it's also exactly what an auditor checks for during period-end cutoff testing, so it's worth reviewing rather than ignoring.
For entries you entered directly (manual Journal Entries), click "Correct date" to open the entry and decide whether the transaction date should change to reflect when it actually happened, or whether it's fine to leave as a legitimate late entry.
For entries created automatically by another document (an Invoice, Bill, Payment, etc.), the ledger entry itself can't be edited directly -- click "Open source document" to fix it at the source instead, following this app's own void-and-redo policy rather than editing the ledger row underneath it. Only periods you've actually generated are checked; a date with no period defined at all is never flagged.
Entry
Transaction date (period)
Posted (period)
Type
⚙️
Company Profile
Shown on PDF documents you issue
Company name
Phone
Email
Time zone
Every timestamp shown throughout the app (audit trail, GL postings, etc.) displays in this timezone, regardless of where the person viewing it is actually located.
Address
Remit To address
If your business uses a separate address or lockbox for receiving customer payments, enter it here -- it's printed on Invoice PDFs only.
EIN (optional)
Shown on generated W-2 employee-copy PDFs (Payroll module). Left blank, that box just shows "not on file" instead of blocking generation.
Tax registration # (optional)
Printed near your company info on every Estimate/Sales Order/Purchase Order/Bill/Invoice PDF -- for a GST/HST/VAT registration number or similar. Left blank, nothing extra is printed.
Ship-to addresses
Named receiving locations for your own company (e.g. "WH-01", "Job Site #3") -- offered as a "Use a saved address" picker on new Purchase Orders, same as Customers have for Estimates/Sales Orders.
Company logo
Shown on generated PDFs for Estimates, Sales Orders, Invoices, Bills, and Purchase Orders. Accepts PNG, JPG, GIF, BMP, or WEBP (not SVG).
Email
Lets the ✉ button on Estimates, Sales Orders, Invoices, Bills, and Purchase Orders send the document as a PDF directly to the customer/vendor on file. Sent via the Microsoft Graph API (OAuth2) -- plain username/password no longer works against Microsoft 365, since Microsoft has retired that for SMTP. One-time setup, done by whoever administers your Microsoft 365 account, in the Azure AD / Entra admin center (entra.microsoft.com):
App registrations > New registration > give it any name (e.g. "Ninecore ERP Email") > Register.
API permissions > Add a permission > Microsoft Graph > Application permissions (not Delegated) > search "Mail.Send" > Add permissions.
Back on the API permissions page, click "Grant admin consent" (requires a Global/Application admin).
Certificates & secrets > New client secret > copy the Value immediately -- it's only shown once.
On the app's Overview page, copy the Application (client) ID and Directory (tenant) ID.
Enter all 4 values below, plus the mailbox this should send as (e.g. lanny@mcilvainenterprises.com).
📄
PDF Templates
Drag the header, company/vendor blocks, title, and terms text to reposition them on each document type's generated PDF, and choose which line-item columns print and in what order
🔐
SSO & SCIM
Let your team sign in through your own identity provider (Okta, Microsoft Entra ID, Google Workspace, or any OIDC-compliant provider), and optionally automate provisioning with SCIM.
SSO and SCIM are Enterprise-tier features. Contact support to upgrade this company's plan.
SCIM provisioning
Lets your identity provider automatically create, update, and deactivate Ninecore accounts instead of an admin doing it by hand. Users only -- group-based access isn't supported, so a provisioned account starts with no modules until an admin assigns them.
📊
Dashboard
Pick which widgets show on everyone's Dashboard for this company
KPI cards
Tables
Active applicants -- columns
Active rental assets (third party) -- columns
Active agency-owned FEMA reimbursable assets -- columns
Unchecking a widget here hides it from the Dashboard for every user at this company -- it doesn't delete any data, and can be turned back on any time.
🔧
Custom Fields
Add extra fields to Customers, Vendors, Sales Orders, and Purchase Orders
Customers
Vendors
Sales Orders
Purchase Orders
Fixed Assets
Label
Key
Type
Options
Required
Active
🔍
Reports
Pick a record type, choose your fields and filters, and run your own report -- no developer needed
Report Builder
Saved Searches
Fields to show
Group by
Totals
Filters
Results
Name
Record type
Created by
💳
Spend Management
Corporate cards, expense tracking, approvals, budgets, and reimbursements
Cards
Transactions
Approvals
Budgets
Reimbursements
Reports
Options
Total: 0
Employee
Type
Nickname
Last 4
Status
Spend limit
Department
Provider
Total: 0
Date
Employee
Card
Merchant
Category
Amount
GL account
Status
Approval
Receipts
Spend transactions and reimbursements waiting on your sign-off. This queue is separate from the company-wide Approvals page under Admin (Purchase Orders only).
Total: 0
Type
Record
Amount
Chain
Step
Requested by
Requested
Total: 0
Name
Fiscal year
Department
Project
Status
Alert %
Total: 0
Number
Employee
Status
Approval
Total
Submitted
Paid
📊
Spend reports
By category
Category
Count
Total
By department
Department
Count
Total
By employee
Employee
Count
Total
⚙️
Spend Management options
Dropdown choices, auto-categorization rules, approval chains, and program settings
Card Status
Name
Active
Merchant Category
Name
Active
Transaction Status
Name
Active
Reimbursement Status
Name
Active
Auto-categorization rules
When a transaction's merchant name contains a keyword below (case-insensitive), it's auto-categorized. Lower priority runs first.
Keyword
Category
Priority
Active
Approval chains
Multi-step approval routing by department and dollar threshold. A submission that matches no chain is auto-approved instantly.
Name
Applies to
Department
Min amount
Priority
Steps
Active
Program settings
Card issuer and transaction feed providers are currently fixed to "stub" (simulated) -- no real card network or bank feed is connected. See the module's own documentation for how to plug in a real provider.