netsuitelisted
Install: claude install-skill Lukehle/closeloop
# NetSuite
NetSuite is usually the system of record, which makes it the arbiter in any disagreement: when a
warehouse figure and a NetSuite figure differ, **NetSuite is right until proven otherwise** and the
warehouse pipeline is the first suspect.
This skill covers extracting from it correctly, reconciling to it, and staging entries for it. It
does **not** post anything — see `finance-guardrails` Rail 1.
---
## The structure that causes most reconciliation breaks
Four dimensions silently filter or split every query. Get one wrong and the number is wrong, with no
error to tell you.
| Dimension | Trap |
|---|---|
| **Subsidiary** | A query without a subsidiary filter returns consolidated data across entities, or the primary subsidiary only, depending on how it is written. Always filter explicitly, even in a single-entity company — the day a second entity appears, unfiltered queries silently change meaning |
| **Accounting period** | The period is a first-class object, not a date range. A transaction's `postingperiod` is what determines which period it lands in — **not** its `trandate`. These differ constantly at cutoff |
| **Accounting book** | Multi-book setups carry different values per book. A query with no book filter returns the primary book. State the book |
| **Posting vs non-posting** | Sales orders, estimates, and opportunities are transactions but do not hit the GL. Filter to posting transactions when reconciling to the GL, or your subledger total will exceed i