# NSCC w/Accounting, HR and Payroll — customer pack for IPS

**Audience:** IPS leadership / finance / HR / ops  
**Product:** NorthStar Courier Command — **NSCC w/Accounting, HR and Payroll**  
**Experience URL:** https://northstar-beacon.web.app/  
**Build represented:** `20260822_monday1` (and later)  
**Last updated:** 2026-08-22  

## Document map (wired together)

| Doc | Role |
| --- | --- |
| [**Monday visual pack**](./NSCC_MONDAY_VISUAL_PACK.md) | Screenshot gallery — Easy/Advanced pillars + customer portal |
| [**Monday demo share pack**](./NSCC_MONDAY_DEMO_SHARE_PACK.md) | **Start here for Monday** — links, agenda, handouts, do-not-claim |
| **This pack** | System description + what works now + confirm checklist |
| [Assumptions](./NSCC_ACCT_PAYROLL_ASSUMPTIONS.md) | Compact pay/billing rules to confirm |
| [Questions](./NSCC_ACCT_PAYROLL_CUSTOMER_QUESTIONS.md) | Checkbox questionnaire (incl. Decisions A / B + cloud costs) |
| [Decisions A & B brief](./NSCC_ENTERPRISE_DECISIONS_AB.md) | Risk · reward · potential cost — customer appetite |
| [**Cloud & operating costs**](./NSCC_CLOUD_AND_OPERATING_COSTS.md) | Firebase / GCP, Mapbox, SMTP2GO, regs, new markets, enhancements — honest cost map |
| [**Appendix — scenarios**](./NSCC_ACCT_PAY_INVOICE_SCENARIOS.md) | Worked pay **and** invoice examples (update here first when rules shift) |
| [Enterprise readiness](./NSCC_ENTERPRISE_READINESS_PREP.md) | Gap truth table + growth path |
| [System Configuration](./NSCC_SYSTEM_CONFIGURATION.md) | Tenant setup vs Administration (features, vendors, law packs); **ops + Sage bridge SKU stays available** without native Accounting/HR/Payroll |
| [Living blueprint](./NSCC_FINANCE_HR_PAYROLL_BLUEPRINT.md) | Module / collection catalog |
| [**Implementation plan**](./NSCC_IMPLEMENTATION_PLAN.md) | Module adoption grid, setup order, training waves, timeline, RACI |
| [**Appendix — Data Dictionary**](./NSCC_DATA_DICTIONARY.md) | Firestore / pay-profile / Sage staging entities (from System Documentation) |

This pack has four parts:

1. **What the system is** — a full operations ERP for courier, patrol, and guard  
2. **What works now** — shipped capabilities to walk through together  
3. **Assumptions & questions** — confirm these match IPS practice  
4. **Appendix pointer** — scenarios for billing vs pay on the same field work  

> If anything below does not match IPS practice, tell us the correct rule. We change the product to match IPS. Subtle enhancements are expected — keep the [scenarios appendix](./NSCC_ACCT_PAY_INVOICE_SCENARIOS.md) as the first place examples are revised.

---

# Part 1 — System description

## What this is

**NSCC w/Accounting, HR and Payroll** is the back-office half of NorthStar Courier Command: a **full-blown ERP** purpose-built for IPS-style protective and courier operations — not a bolt-on spreadsheet, and not a generic accounting package that forces every user to think like an accountant.

It combines, in **one console**:

| Domain | What people achieve |
| --- | --- |
| **Operations** | Dispatch, trips, patrol/guard shifts, custody, field completion |
| **Accounting** | Bill clients, collect, pay vendors, bank, close periods, see the books |
| **Payroll** | Pay people from field hours and trips; profiles, runs, year-end |
| **HR & Compliance** | Hire, leave, discipline, workers-comp, multi-state rules and filings |

The through-line: **field work becomes invoices and pay** without leaving the product dispatchers already use.

## How it works (end to end)

```text
  Courier trip delivered  ─┐
  Patrol / guard shift done ─┼─► Accounting drafts client invoices (IPS day billing)
                           ├─► Field Payroll aggregates hours & trips → pay run → books
                           └─► HR can open WC / discipline / filings from the same people
```

**Architecture spine (native):** shared `DEMO_`/`LIVE_` pools feed both IPS day invoices and Field Payroll; customer bill ≠ courier pay (names off invoice; 2-person legs payroll-only); clear trip pay rate chain; day-invoice idempotency; settlements block re-pay when they succeed; pay profiles are separate from the HR master.

1. **Work happens in the field** — trips deliver; shifts complete.  
2. **Accounting turns work into money in** — a day’s courier + patrol + guard is grouped by client into one invoice (courier names stay off the customer bill). Approve posts the books.  
3. **Payroll turns work into money out** — Field Payroll uses a date range you choose; pays unsettled hours and trips; never pays the same work twice.  
4. **HR keeps people and compliance next to the money** — same roster, same console, multi-state awareness.  
5. **Everything consequential is auditable** — who drafted, approved, posted, and settled is retained for review.

Staff can stay in **Easy** mode (outcome language: “Create today’s invoices”, “Pay field work”) or open **Advanced** when they need the full ledger, tax packs, or controller tools.

## Customer portal (self-service billing + scheduling)

IPS can give each client a **customer-only URL** (Demo 2: `/demo2/portal?c=beacon|nsm|harbor|salem`). Customers see **only their account** — not Dispatch, Pulse, Accounting, or HR.

| Capability | What the customer gets |
| --- | --- |
| **Invoices & statements** | Branded invoice view, open balance, trip/shift cross-links |
| **Pay online** | Pay open balance or a single invoice (card/ACH when processor is connected; **practice mode** in Demo 2) |
| **Schedule service** | Request courier pickup, mobile patrol, or guard coverage → confirmation in portal; production feeds dispatch |
| **Work detail** | Trip and shift history tied to invoice references |

**Complicated billing story:** the same portal sits on top of IPS day invoices that can mix courier, patrol, and guard lines with expandable AR detail — customer bill stays clean (no courier names on the client invoice).

## Tenant setup (System Configuration)

Privileged operators use **System Configuration** (not Administration) to turn product modules on/off and choose vendors / law packs. Administration remains people & privilege (roles, access). Day-to-day work stays in Back Office. Details: [`NSCC_SYSTEM_CONFIGURATION.md`](./NSCC_SYSTEM_CONFIGURATION.md).

## Why it is a full-blown ERP

This is not “accounting screens next to dispatch.” It is an **operations ERP**:

| ERP capability | How NSCC delivers it |
| --- | --- |
| **Order-to-cash** | Field completion → draft invoice → approve → AR → payment → bank |
| **Procure-to-pay** | Vendors, bills, credits, payment runs |
| **Record-to-report** | GL, dimensions (customer / site / route / dept), budgets, close, reports, analytics |
| **Hire-to-retire** | Lifecycle, leave, documents, appraisals, discipline |
| **Pay people** | Profiles, field-driven pay, pay runs, ACH surface, year-end packs |
| **Compliance** | Multi-state regulations, filings, WC from incidents, background |
| **Controls** | Roles, approval gates, immutable audit trail, period close |

Where IPS still posts final AR/payroll in **Sage 300 CRE**, NSCC can **stage and verify** that path. The **native** stack keeps GL, AR, AP, bank, payroll, and HR **inside NSCC** so finance and ops share one workflow. The product story is the same console either way.

## Designed for many levels of knowledge

| Who | What they need to know | What the product shows |
| --- | --- | --- |
| **Dispatcher / ops lead** | “Bill today’s work” | Date + **Create today’s invoices** — no chart of accounts required |
| **Supervisor / payroll clerk** | “Pay this period’s hours and trips” | From / To → Preview → Post — badges, not journal jargon |
| **Controller / accountant** | Full books and close | Advanced: GL, COA, dimensions, audit, tax packs |
| **HR** | People and compliance | Lifecycle, leave, WC, filings — same employees finance pays |
| **Leadership** | Health of the business | Overview charts, AR aging, cash, close status |

**Usability (QBO-level ease):** people need to know **what to achieve**, not accounting vocabulary. Ledger terms stay in Advanced / tooltips unless the user chooses that path.

## Flexibility

| Area | Flexibility built in |
| --- | --- |
| **Pay shapes** | Salary, hourly (role-aware patrol/guard), per-trip pay, **per-trip stipends** (incl. 2-person legs) |
| **Vehicle / stipend trigger** | **Mobile app** records whether the courier used **their personal vehicle** or an **agency fleet** vehicle; per-trip stipend applies when personal vehicle is used |
| **Pay periods** | Operator-chosen From/To (day, week, bi-weekly, month) for Field Payroll |
| **Billing** | IPS day invoices with line breakdown; same client can carry courier + patrol + guard lines |
| **Rates** | Employee flat trip rate wins; then trip-type, state (when set), customer rate record |
| **Depth** | Easy curated tabs **or** full catalogs (~26 Accounting / 12 Payroll / 21 HR) |
| **Growth path** | Open choices for regs (subscribe / AI / hybrid) and tax/money (bureau / self / hybrid) — see [Decisions A & B brief](./NSCC_ENTERPRISE_DECISIONS_AB.md) (risk · reward · cost) + questionnaire |

## Auditability & trust

| Control | Intent |
| --- | --- |
| **Immutable finance audit events** | Consequential actions logged for who / what / when |
| **Approval before books move** | Invoice approve and payroll post are gated paths |
| **No double-pay** | Settled shifts and trips are recorded; later runs skip them; mistakes = new ledger adjustment |
| **Idempotent day invoices** | Same client/day invoice is not drafted twice |
| **Role-aware access** | Clerk / approver / admin — easy mode never means “no controls” |

## The three pillars

### Accounting

The **financial ERP core**: interactive Overview, AR (invoices & collections with expandable lines), AP, banking, GL, chart of accounts, budgets, period close, reports, analytics — plus **Pay field work** so ops-driven pay lives next to billing.

### Payroll

**How people get paid**: pay profiles (salary / hourly / trips, per-role rates, trip rates), withholding and deductions, gross-to-net, pay runs, ACH surface, certified payroll, registers, W-2 / 1099 year-end.

### HR & Compliance

**People and compliance**: workforce hub, org chart, recruitment/offers, background, I-9, hire → onboard → offboard, leave, benefits, training, appraisals, documents, discipline, workers-comp (incident → claim), state filings, multi-state regulations, HR reports.

### Employee master vs pay profile

| Where | What lives there |
| --- | --- |
| **Personnel HR record** | Tax identity, W-4, multi-state/local tax, FLSA/class, cost center/GL, work locations, direct deposit, termination/rehire |
| **Pay profile** | Pay basis (salary / hourly / trips), **rates.patrol / rates.guard / rates.courier**, tripRate, tripTypeRates, deductions, W-2 flag |
| **Still separate / vaulted** | Full SSN, licenses, benefit enrollments, garnishments, PTO balances |

## Module map (at a glance)

| Pillar | Easy mode (day-to-day) | Full catalog |
| --- | --- | --- |
| **Accounting** | Dashboard, Invoices, **Pay field work**, Statements, Recurring, Bills, Banking, COA, GL, Reports | **~26** modules (close, tax packs, analytics, audit, …) |
| **Payroll** | Pay runs, Employees, Reports, Year-End | **12** modules |
| **HR** | Overview, Employees, Leave, Documents, Reports | **21** modules |

Living catalog: [`NSCC_FINANCE_HR_PAYROLL_BLUEPRINT.md`](./NSCC_FINANCE_HR_PAYROLL_BLUEPRINT.md)  
Enterprise readiness prep (growth options for tax, bureau, regs): [`NSCC_ENTERPRISE_READINESS_PREP.md`](./NSCC_ENTERPRISE_READINESS_PREP.md)

---

# Part 2 — What works now (shipped capabilities)

Capabilities below are **in the product today** (build `20260822_costs1` and later). Use this when walking IPS through what they can already do.

**Also see the known gap truth table** in [`NSCC_ENTERPRISE_READINESS_PREP.md`](./NSCC_ENTERPRISE_READINESS_PREP.md) — hourly couriers, day stipends, combined hours+trips, week/roll-up invoices, certified tax, and full state trip rates are **not** built yet.

**Not built yet (explicit):**

| Item | Status |
| --- | --- |
| Hourly couriers (per-trip ignored) | **No** — trips only when `payBasis === 'trips'`; no courier hour clock |
| Day stipend ($75/day CT-style) | **No** |
| Patrol/guard + courier both on one check | **No** — primary basis only |
| Week batch / multi-day roll-up invoices | **No** — one date at a time |
| True weekly vs biweekly tax tables | **No** — estimate-style withholding only today |
| Full state trip-rate table | **No** — CT seed only; other states blank |

---

## A. IPS daily customer billing — **built**

| Capability | Status | How it works |
| --- | --- | --- |
| Group a day’s work by client into one invoice | **Built** | Accounting → Invoices → pick **service date** → **Create today’s invoices** |
| One invoice per client per day | **Built** | Invoice number `IPS-<client>-<date>`; skip if already drafted |
| Courier lines without courier names | **Built** | Line title = pickup → delivery; meta = ref / service / bags |
| 2-person trips: one customer line at full flat rate | **Built** | Leg rates stay payroll-only (not on customer bill) |
| Patrol + guard shift lines on same invoice | **Built** | Hours × site hourly (fallbacks $42 patrol / $38 guard) |
| Expandable invoice line breakdown in AR | **Built** | Click invoice row to show line details |
| Multi-line books on approve | **Built** | Courier / patrol / guard revenue split correctly |
| Interactive Accounting Overview | **Built** | Charts for revenue/expense, net income, AR aging, top customers |

**Ask IPS:** week-batch that still emits day invoices (#1); multi-day **roll-up** invoices (#1b); other cadences (#2).

## B. Field Payroll — **built**

| Capability | Status | How it works |
| --- | --- | --- |
| Run payroll from patrol/guard field hours | **Built** | Accounting → **Pay field work** → From / To → Preview → **Post pay** |
| Any date range (day, week, bi-weekly, month) | **Built** | Operator chooses From/To |
| Role-aware hourly rates | **Built** | Patrol hours × patrol rate; guard hours × guard rate on same person |
| Per-trip courier pay on the same panel | **Built** | Delivered trips → gross via trip-rate chain |
| **Per-trip stipends can be paid** | **Built** | Personal-vehicle stipend per completed trip (incl. 2-person legs — each leg credited) |
| Own vehicle vs agency fleet | **Built (mobile)** | Courier mobile app sets personal vs fleet; stipend path follows that flag |
| Employee flat trip rate wins over everything | **Built** | Then trip-type → state (when set) → customer rate → default |
| Never pay the same work twice | **Built** | Settlements; later previews exclude settled work |
| Corrections without re-pay | **Built** | New ledger adjustment only |
| Preview with clear pay labels | **Built** | Hourly / Trips / Salary; Patrol hrs / Guard hrs / Trips / Gross / Net |

**Ask IPS:** day stipends (#6); hourly couriers (#9); combined hours+trips on one check (#3 / #5).

## C. Pay profile model — **built**

| Field / concept | Status |
| --- | --- |
| Pay basis: salary / hourly / trips | **Built** |
| Per-role rates: patrol / guard / courier | **Built** |
| Trip rate + trip-type rates | **Built** |
| Per-trip couriers as W-2 employees (not 1099 by default) | **Built** |
| Gross → tax → deductions → net | **Built** (estimate-style withholding until Decision B) |

## D. Payroll + HR — **present in product**

Full Payroll (profiles, tax setup, pay runs, ACH, year-end) and HR & Compliance (lifecycle, leave, WC, filings, regulations, …) sit in the same back-office shell. **Pay field work** is the **operations-driven** pay path tied to Accounting.

---

# Part 3 — Assumptions & questions for IPS

**Questions-only list:** [`NSCC_ACCT_PAYROLL_CUSTOMER_QUESTIONS.md`](./NSCC_ACCT_PAYROLL_CUSTOMER_QUESTIONS.md)

## How employees are paid

| Who | What we do **now** | Confirm / gap |
| --- | --- | --- |
| Courier (per-trip) | Paid per delivered trip via Field Payroll | Rate chain as above |
| Courier **per-trip stipend** | **Can be paid** per completed trip when personal vehicle | Mobile app: personal vs agency fleet; stipend when personal |
| Courier (hourly) | **Not** on Field Payroll trip path yet | Ask #9 |
| Patrol | Hourly from patrol shifts, role rate | Built |
| Guard | Hourly from guard shifts, role rate | Built |
| Patrol + guard same person | Role-aware rates on one run | Built — confirm #7 |
| Patrol/guard + courier same period | Primary pay basis only | Ask #3 / #5 |
| Day stipend ($75/day CT-style) | **Not modeled** | Ask #6 |
| Salary leaders | Annual ÷ pay periods | Built |

## How customers are billed

| Service | What we do **now** |
| --- | --- |
| Courier delivered | Flat customer rate on IPS day invoice; no courier names |
| 2-person courier | One customer line at full flat; legs payroll-only |
| Patrol / guard | Hours × site rate on same client’s day invoice |

## Open questions (full pick-list questionnaire)

Full form with checkboxes: [`NSCC_ACCT_PAYROLL_CUSTOMER_QUESTIONS.md`](./NSCC_ACCT_PAYROLL_CUSTOMER_QUESTIONS.md)

| # | Topic | Ask IPS |
| --- | --- | --- |
| 1–2 | Billing | Week run / roll-ups / other cadences |
| 3–9 | Payroll | Multi-role courier, periods, day stipend, duties, hourly couriers, special pay |
| **A** | Enterprise | Regs: A1 subscribe / A2 AI / **A3 hybrid ★** — we prepare for all |
| **B** | Enterprise | Tax & money: B1 bureau / B2 self-calc / **B3 hybrid bureau ★** — we prepare for all |

**Phases:** 0 Now (questionnaire + A/B workshops + estimate banner) → 1 product gaps as chosen → 2 certified path per A/B → 3 SoR hardening / dual-mode or cutover.

## Confirmed rules (product already follows)

- Employee **flat trip rate** wins over everything.  
- Blank **state rate** → employee / customer rate record.  
- Never double-pay; corrections = new ledger entries only.  
- Courier **per-trip stipends can be paid** (incl. 2-person legs).  
- **Mobile app** determines personal vehicle vs **agency fleet**; stipend applies for personal vehicle use.

## Does this meet your needs?

| Area | Meets needs | Needs change |
| --- | --- | --- |
| Overall ERP fit (ops + Accounting + Payroll + HR) | ☐ | |
| Usability for non-accountants (Easy mode) | ☐ | |
| Flexibility of pay & billing | ☐ | |
| Auditability / no double-pay | ☐ | |
| IPS day invoicing (as built) | ☐ | |
| Invoice cadence / roll-ups | ☐ | |
| Field Payroll (hours + trips + settlements) | ☐ | |
| Role-aware hourly rates | ☐ | |
| Per-trip / stipend courier pay | ☐ | |
| Hourly courier / day stipend gaps | ☐ | |
| Decision A (regs) / Decision B (tax & money) | ☐ | |
| HR & compliance coverage | ☐ | |
| Scenario examples match how you think (appendix) | ☐ | |

---

# Part 4 — Appendix: pay & invoice scenarios

Worked examples (fleet vs personal, 2-person, mixed day, role-aware hours, corrections, gaps) live in:

**[`NSCC_ACCT_PAY_INVOICE_SCENARIOS.md`](./NSCC_ACCT_PAY_INVOICE_SCENARIOS.md)**

Use that file in workshops. When IPS asks for a subtle change, update the appendix scenario first, then sync Part 2 of this pack.
