Working capital · NetSuite TD3016323
Current DSO, DIO, and DPO from the ledger, the cash tied up in the cycle, and a phased plan to release it, with the biggest lever being one the business already controls.
On the ledger as posted, the cash conversion cycle is 74 days: 28 days of sales outstanding, 55 days of inventory, less 9 days of payables. Working capital tied up in the cycle is $1,863,331. Each of the three components has a different story, and the biggest lever is the one that looks best.
The DSO of 28 days is not what it appears. Customers who pay do so in 2 days on 30-day terms. The receivables balance is 14% current and 86% past due, and the past-due portion ($798,453) sits with accounts that have never paid an invoice. Collections, not process, is the DSO lever. The DPO of 9 days is the weakest number on the page: bills carry 28-day terms and are paid in 3.5 days on average, 99% within a week. The business is financing its suppliers by about 25 days on every bill. And the DIO of 55 days hides a split between fast-moving consumables and a large block of slow stock; the reorder-point analysis in this account found 108 items with more than 180 days of supply on hand.
CCC = DSO + DIO - DPO = 27.6 + 55.0 - 8.9 = 73.7 days
Cash tied up = (DSO x daily revenue) + (DIO x daily COGS) - (DPO x daily COGS)
= (27.6 x $33,659) + (55.0 x $20,299) - (8.9 x $20,299)
= $927,460 + $1,116,806 - $180,934 = $1,863,331
Target CCC = 3.8 + 45.0 - 28.4 = 20.5 days (collect the past-due, 45 days of stock, pay on terms)
Cash freed by reaching target = $1,396,804
| Component | Current | Target | Days | Cash released | Basis of target |
|---|---|---|---|---|---|
| DSO | 27.6 | 3.8 | -23.7 | $798,453 | Receivables at current only; the past-due balance is collected or reserved |
| DIO | 55.0 | 45.0 | -10.0 | $203,352 | 45 days of supply, consistent with the fast movers' current cover |
| DPO | 8.9 | 28.4 | +19.5 | $394,999 | Pay on the due date; average terms in the account are 28 days |
The order-to-cash process in this account is already fast. Net-30 invoices are paid in 2.1 days on average (246 settled invoices in 24 months), and 480 retail invoices on cash terms were paid the same day. Same-day invoicing, electronic delivery, and automated reminders, the usual quick wins, would change nothing here, and the plan does not recommend spending on them.
The DSO problem is a collections problem. $798,453 is past due, most of it more than 90 days, and it belongs to customers with no payment history in the account. Every day of DSO is worth $33,659 on the ledger basis, so the past-due balance represents 24 days of the 28. The initiatives are therefore the collections and credit actions, all of which require human decisions:
| Initiative | Effort | Days impact | Cash impact | Timeline | Action |
|---|---|---|---|---|---|
| Work the never-paid accounts | Medium | -12 to -24 | $399,226 to $798,453 | 30 to 90 days | Direct contact on the 14 accounts; reserve what cannot be collected (human review) |
| Credit limits relative to volume | Low | Prevents recurrence | n/a | 60 days | Replace the uniform $300,000 limit with limits tied to expected annual volume |
| Monthly payment behavior review | Low | Prevents recurrence | n/a | 90 days | Catch the next non-paying account inside its first 30 days |
Inventory on hand is $1,116,806 at average cost against daily cost of goods sold of $20,299, or 55 days. The fast movers, mostly beauty consumables, carry 90 to 230 days of cover, and the reorder-point analysis found 108 items with more than 180 days of supply worth roughly $907,000, dominated by apparel and leather goods. A 45-day target is aggressive for the slow block and conservative for the consumables, which is why the plan recommends working the two populations separately.
| Initiative | Effort | Impact | Timeline | Action |
|---|---|---|---|---|
| Slow-mover identification and disposition | Low | Up to $906,559 of stock is over 180 days | 30 days | Markdown, bundle, or return the leather goods and apparel with more than a year of cover (human decision on pricing) |
| ABC focus | Low | 47 A items carry most of the demand | 30 days | Set reorder points for A items first; only 4 items in the account have one today |
| Reorder point optimization | Medium | 10 to 20% reduction on consumables | 60 to 90 days | Adopt the recommended reorder points from the companion analysis |
| Supplier lead time data | Medium | Enables the above | 90 days | Record real expected receipt dates; receipts are currently dated on the order date, so lead time computes to zero |
This is where the cash is. 1,004 vendor bills were paid in the last 24 months, on average 3.5 days after the bill date, against average terms of 28 days. The dollar-weighted figure is 20 days, because a few large bills were held longer, but 99% of bills by count were paid within a week. Paying on the due date instead, with no change to terms and no conversation with any supplier, extends DPO by about 20 days, the gap between average terms and current behavior, and releases $394,999 on the ledger basis of cost of goods sold. One vendor offers 2% 10 Net 30; that discount should keep being taken, since it is worth far more than the float.
| Initiative | Effort | Days impact | Cash impact | Timeline | Action |
|---|---|---|---|---|---|
| Pay on due date, not on receipt | Low | +20 | $394,999 | Immediate | Change the payment run selection from 'all open' to 'due within the run window'; keep early-pay discounts |
| Terms to Net 45 with the top five | Medium | +10 to +15 | $243,588 to $304,484 | 60 to 90 days | Five vendors are 73% of spend; the conversation is worth having (relationship impact, human review) |
| Invoice automation | Medium | +3 to +5 | $81,196 | 90 days | Bills are entered in batches; the payment run should follow the due date rather than the batch date |
| Phase | Window | Initiatives | Cash released | Confidence |
|---|---|---|---|---|
| 1. Quick wins | 0 to 30 days | Pay on due date; contact the never-paid accounts; identify slow movers | $394,999 plus collections | High |
| 2. Medium term | 30 to 90 days | Credit limits by volume; reorder points for A items; slow-mover disposition | Inventory reduction as the slow block clears | Medium to high |
| 3. Strategic | 90 to 180 days | Terms negotiation with the top five; real lead-time data; monthly working capital review | $243,588 from terms | Medium |
Phase 1 requires no spend: it is a change to the payment run selection and a collections effort. Phase 2 is analyst time and a pricing decision on the slow stock. Phase 3 is negotiation. The risks are relationship risks, and they are flagged for human review: paying on terms rather than early will be noticed by suppliers who have grown used to three-day payment; the terms conversation with the top five is a commercial decision; and the never-paid accounts may be disputed or defunct rather than delinquent, which changes the action from collection to reserve.
| Risk | Likelihood | Impact | Mitigation |
|---|---|---|---|
| Suppliers react to slower payment | Medium | Low; payment is still within terms | Communicate the change; keep discount terms |
| Past-due balances are uncollectible | Medium | Cash is not released, but the balance sheet is corrected | Reserve decision by the controller |
| Slow stock cannot be moved at cost | Medium | Markdown loss | Price the disposition against the carrying cost of $906,559 of stock |
| Journal-posted revenue distorts the ratios | High | Targets are set on the wrong basis | Quote every ratio with its basis; characterize the journal series first |
| KPI | Current | Target | Frequency | Owner |
|---|---|---|---|---|
| DPO (bill date to payment date, dollar-weighted) | 20 days | 28 days | Monthly | AP |
| Past-due receivables | $798,453 | Under 10% of open AR | Weekly | Credit |
| Items over 180 days of supply | 108 | Under 30 | Monthly | Inventory planning |
| CCC on the ledger basis | 74 days | 20 days | Quarterly | Controller |
The cycle is 74 days on the ledger basis, and about $1,396,804 of cash could be released by reaching a 20-day target. Most of the near-term cash, $394,999, comes from a single behavioral change: paying suppliers on the due date rather than within three days of the bill. The receivables opportunity is real but is a collections and credit decision, not a process fix, because the paying customers already pay early. The inventory opportunity is concentrated in slow-moving stock and depends on a pricing decision. All three are within management's control and none requires a system change. The ratios should be quoted with their basis until the journal-posted revenue series is explained.
| ID | Type | Name | Handle | Scope | Used for | Complete |
|---|---|---|---|---|---|---|
| DL-001 | SuiteQL | Revenue and COGS | transactionaccountingline join account, subsidiaries 1-3 | Trailing 12 and prior 12 months | Daily revenue and COGS | Yes |
| DL-002 | SuiteQL | Income and COGS by source type | same, grouped by transaction type | Trailing 12 months | Basis disclosure | Yes |
| DL-003 | SuiteQL | Open invoices and bills | transaction, foreignamountunpaid | On 2026-09-23 | AR, AP, past due | Yes |
| DL-004 | SuiteQL | Inventory on hand | inventoryitemlocations join item, average cost | On 2026-09-23 | DIO | Yes |
| DL-005 | SuiteQL | Bill payment applications | nexttransactionlinelink, linktype Payment, VendPymt | 24 months, 1,004 bills | DPO behavior | Yes |
| DL-006 | SuiteQL | Invoice payment applications | same, CustPymt | 24 months, 737 invoices | DSO behavior | Yes |
| DL-007 | SuiteQL | Quarterly document volumes | transaction by quarter | 8 quarters | Trend | Yes |
Adaptations from the prompt's template: the template's invoice-to-payment subquery uses createdfrom on the payment, which is not populated; payments are linked through nexttransactionlinelink. The open balance column is foreignamountunpaid. transaction.subsidiary is not exposed, so the elimination entity is excluded through the line-level subsidiary. Target DSO, DIO, and DPO are the analyst's proposals from the data, not user inputs, and are flagged for human confirmation.
SELECT a.accttype, SUM(CASE WHEN t.trandate > ADD_MONTHS(TRUNC(SYSDATE), -12) THEN -tal.amount ELSE 0 END) AS ttm, ...
FROM transactionaccountingline tal JOIN transaction t ON t.id = tal.transaction
JOIN transactionline tl ON tl.transaction = tal.transaction AND tl.id = tal.transactionline JOIN account a ON a.id = tal.account
WHERE tal.posting = 'T' AND a.accttype IN ('Income','COGS') AND tl.subsidiary <> 4 GROUP BY a.accttype
SELECT type, COUNT(*), SUM(ABS(foreignamountunpaid)), SUM(CASE WHEN TRUNC(SYSDATE) > TRUNC(duedate) THEN ABS(foreignamountunpaid) ELSE 0 END)
FROM transaction WHERE type IN ('CustInvc','VendBill') AND posting = 'T' AND foreignamountunpaid <> 0 GROUP BY type
SELECT SUM(iil.quantityonhand * NVL(iil.averagecostmli, NVL(i.averagecost, 0)))
FROM inventoryitemlocations iil JOIN item i ON i.id = iil.item WHERE iil.quantityonhand > 0
SELECT b.id, b.entity, b.trandate, b.duedate, ABS(b.foreigntotal), MAX(p.trandate)
FROM transaction b JOIN nexttransactionlinelink ntl ON ntl.previousdoc = b.id AND ntl.linktype = 'Payment'
JOIN transaction p ON p.id = ntl.nextdoc AND p.type = 'VendPymt'
WHERE b.type = 'VendBill' AND b.posting = 'T' AND b.trandate > ADD_MONTHS(TRUNC(SYSDATE), -24) GROUP BY ...| Assumption | Category | Rationale | Impact if wrong |
|---|---|---|---|
| Ledger as posted is the primary basis | Method | Conventional; billing-document basis shown alongside | Ratio levels, not the recommendations |
| DIO uses average cost of stock on hand | Data | NetSuite's own valuation | DIO level |
| Target DPO equals average terms | Business logic | No supplier conversation required | Cash released from DPO |
| 45-day DIO target | Business logic | Consistent with fast-mover cover | Inventory cash released |
| Past-due receivables are collectible | Business logic | Unknown; human review | DSO cash may be a reserve instead |
| Test | Objective | Result |
|---|---|---|
| G1-001 | Targets achievable | Pass DPO target equals existing terms; DSO target equals current receivables; DIO target within observed cover for A items |
| G1-002 | Cash math (days x daily rate) | Pass components sum to the cash tied up, $1,863,331 |
| G1-003 | Timeline realistic | Pass phase 1 needs no investment |
| G1-004 | ROI positive | Pass phase 1 has no cost |
| G2-003 | Risks identified | Pass four risks with mitigations |
Confidence: high on the DPO behavior and the quick win (1,004 paid bills, complete linkage); medium on the DSO cash (collectibility unknown); medium on DIO (valuation at average cost, target is a proposal). Every target setting and every supplier or customer action is flagged for human review per the prompt.