Procurement · NetSuite TD3016323
Twelve months of vendor spend by tier, category, and terms, with concentration risk, purchase order coverage, and the savings that are and are not available in a supplier base this concentrated.
Addressable spend over the trailing twelve months is $2,270,731 across 29 vendors that billed the company, out of 76 active vendor records. Spend doubled against the prior twelve months ($1,118,229, +103%), and almost all of the increase came from the five largest suppliers of inventory. Concentration is high on every measure the prompt uses: the largest vendor, Generation N, is 25.5% of spend, above the 25% threshold for a strategic review; the top five are 73%, and the top ten are 91%.
The rest of the picture is unusually clean. There is no fragmentation to consolidate: every expense category outside inventory is served by exactly one vendor. Tail spend is 4.2% of the total, well under the 5% mark. Payment terms are almost all Net 30. The savings opportunity is therefore not in rationalizing vendors, which is already done, but in three places: the terms and pricing conversation with a five-vendor core that now carries $1,652,692 of spend, the 46% of bill value that arrives without a purchase order, and a single $120,000 bill to a new vendor with no purchase order and no prior history.
Tiers follow the prompt's defaults: the top five by spend are Tier 1, ranks six to fifteen are Tier 2, the rest Tier 3. In this account Tier 1 is 73% of spend, above the typical 60 to 70%, and Tier 3 is 2.3%, below the typical 10 to 15%. The supplier base is already concentrated where a consolidation program would try to take it.
| Tier | Vendors | Spend | Share | Management |
|---|---|---|---|---|
| Tier 1, strategic | 5 | $1,652,692 | 73% | Executive relationship, annual business review, terms and price negotiation |
| Tier 2, important | 10 | $565,459 | 25% | Periodic review; two are new this year and unreviewed |
| Tier 3, tactical | 14 | $52,580 | 2.3% | Transactional; nothing to consolidate |
| # | Vendor | TTM spend | Share | Prior TTM | Change | Bills | Terms | Tier |
|---|---|---|---|---|---|---|---|---|
| 1 | Generation N | $579,187 | 25.5% | $130,897 | +342% | 53 | Net 15 | Tier 1 |
| 2 | Bedline | $363,960 | 16.0% | $171,308 | +112% | 35 | Net 30 | Tier 1 |
| 3 | FrisCo US | $249,755 | 11.0% | $226,480 | +10% | 24 | Net 30 | Tier 1 |
| 4 | Broyhill | $249,378 | 11.0% | $149,560 | +67% | 38 | 2% 10 Net 30 | Tier 1 |
| 5 | The Apparel Co Inc. | $210,413 | 9.3% | $105,516 | +99% | 104 | Net 30 | Tier 1 |
| 6 | Davidson Leasing | $120,000 | 5.3% | $0 | new | 1 | Net 15 | Tier 2 |
| 7 | Dell US | $101,049 | 4.5% | $93,098 | +9% | 24 | Net 30 | Tier 2 |
| 8 | Brocade Communications Systems US | $84,207 | 3.7% | $77,582 | +9% | 24 | Net 30 | Tier 2 |
| 9 | Lotion Co | $53,885 | 2.4% | $37,694 | +43% | 36 | Net 30 | Tier 2 |
| 10 | Cloud Consulting | $53,550 | 2.4% | $0 | new | 3 | Net 30 | Tier 2 |
| 11 | Mac Oca & Co. | $46,956 | 2.1% | $44,006 | +7% | 37 | Net 30 | Tier 2 |
| 12 | Staples US | $33,522 | 1.5% | $30,884 | +9% | 24 | Net 30 | Tier 2 |
| 13 | Crown Equipment Corporation | $29,034 | 1.3% | $0 | new | 11 | Net 30 | Tier 2 |
| 14 | Johnson Supply | $24,799 | 1.1% | $0 | new | 11 | Net 30 | Tier 2 |
| 15 | Health and Beauty Supplies | $18,457 | 0.8% | $17,228 | +7% | 29 | Net 30 | Tier 2 |
| 16 | XCOM US | $10,104 | 0.4% | $9,309 | +9% | 24 | Net 30 | Tier 3 |
| 17 | Hestra | $8,430 | 0.4% | $11,240 | -25% | 6 | Net 30 | Tier 3 |
| 18 | Core4Solutions | $8,287 | 0.4% | $1,406 | +489% | 10 | Net 30 | Tier 3 |
| 19 | Betty Black, Inc. | $7,657 | 0.3% | $500 | +1431% | 14 | Net 30 | Tier 3 |
| 20 | CDW US | $7,217 | 0.3% | $6,649 | +9% | 24 | Net 30 | Tier 3 |
Vendor category on the master record is coarse (Supplies, Consultant, 1099 contractor), so the analysis uses the GL account each bill posted to as the category. Inventory purchases, posted to Inventory Received Not Billed and Inventory in Stock, are 70% of billed spend across 16 vendors, with the largest at 30% of the inventory category. Every other category has one vendor, which means single-source by construction: advertising ($249,755), computers ($101,049), telecom ($84,207), training ($53,550), office supplies ($33,522). Single-source is a risk only where switching is hard; for advertising and office supplies it is a choice, and for the $120,000 leasing prepayment it is a contract.
| Account | Category | Vendors | Bills | Spend | Share |
|---|---|---|---|---|---|
| 2220 | Inventory Received Not Billed | 16 | 381 | $1,214,340 | 53% |
| 1210 | Inventory in Stock | 3 | 11 | $379,917 | 17% |
| 6060 | Advertising | 1 | 24 | $249,755 | 11% |
| 1400 | Prepaid Expenses | 1 | 1 | $120,000 | 5% |
| 6655 | Computer - Office Expense | 1 | 24 | $101,049 | 4% |
| 6671 | Regular Service | 1 | 24 | $84,207 | 4% |
| 6260 | Training Expense | 1 | 3 | $53,550 | 2% |
| 6240 | Supplies Expense | 1 | 24 | $33,522 | 1% |
| 6640 | Other Utilities | 1 | 24 | $10,104 | 0% |
| 6630 | Repairs & Maintenance | 1 | 24 | $7,217 | 0% |
Twenty-two of the 29 vendors are on Net 30 and five on Net 15, including Generation N, the largest. One vendor, Broyhill at $249,378, offers 2% 10 Net 30. Bills in this account are paid in about three days on average, so the discount is almost certainly being captured; the same behavior means the company gives up roughly 25 days of float on every other bill. Moving the five Net 15 and Net 30 Tier 1 vendors to Net 45 would be worth about 2% of their spend in annual cash benefit by the prompt's rule of thumb, about $33,054, and is the single largest terms opportunity. Contract end dates and auto-renewal flags are not recorded on the vendor records, so the contract calendar the prompt calls for cannot be built; that is a data gap to close before any renewal is missed.
Monthly billed spend ran between $82,000 and $140,000 through 2025 and has climbed steadily in 2026, reaching $362,643 in September. The step is volume, not price: the inventory vendors' bill counts rose in line with their spend.
165 of 551 bills, $1,044,291 or 46% of bill value, have no purchase order behind them. Much of that is non-PO by nature (advertising, IT, leasing, consulting), but the largest single item is a $120,000 bill from Davidson Leasing, a vendor created this year with one transaction, posted to prepaid expenses with no PO and no contract fields. It is the first item on the review list.
| # | Opportunity | Basis | Estimate | Effort | Review |
|---|---|---|---|---|---|
| 1 | Terms extension to Net 45, Tier 1 | Five vendors, $1,652,692 of spend, 2% cash benefit per +15 days | $33,054 per year | Medium | Relationship impact; human review |
| 2 | Volume pricing review, inventory suppliers | Spend with the top five doubled; volume has changed since prices were set | 2 to 5% of $1,652,692 | Medium | Negotiation; human review |
| 3 | PO coverage for non-inventory spend over $10,000 | $1,044,291 of bill value without a PO | Control benefit, not savings | Low | Policy decision |
| 4 | Davidson Leasing prepayment | Single $120,000 bill, new vendor, no PO, no contract data | Verify before the next installment | Low | Immediate review |
| 5 | Vendor master hygiene | 47 active vendor records with no spend in 24 months; category field too coarse to analyze | Cleaner analysis next time | Low | Administrative |
Potential duplicate vendor names were checked by string similarity. The matches are state Departments of Revenue and the two intercompany vendor records, all legitimate; no duplicate supplier records were found.
| ID | Type | Name | Handle | Scope | Used for | Complete |
|---|---|---|---|---|---|---|
| DL-001 | SuiteQL | Vendor spend ranking | vendor join term, transaction (VendBill, posting) | 76 active vendors, 24 months | Ranking, tiers, terms, growth | Yes |
| DL-002 | SuiteQL | Spend by GL account | transactionaccountingline join account, VendBill | Trailing 12 months | Category analysis | Yes |
| DL-003 | SuiteQL | Spend by vendor and account | same, grouped | Trailing 12 months | Fragmentation | Yes |
| DL-004 | SuiteQL | Monthly spend | transaction (VendBill) by month | 24 months | Trend | Yes |
| DL-005 | SuiteQL | PO coverage | transactionline.createdfrom on bill lines | Trailing 12 months | Maverick spend | Yes |
Adaptations from the prompt's templates: vendor bill totals are stored as negative amounts in this account, so absolute values are used throughout; the template's t.total is foreigntotal here; the custom contract fields the template references (custentity_contract_end, custentity_auto_renew, custentity_strategic_value) do not exist in the account, so the contract calendar was not produced; UTL_MATCH is not available in SuiteQL, so name similarity was computed in code; category analysis uses GL account rather than the vendor category field.
SELECT v.id, v.companyname, BUILTIN.DF(v.category), BUILTIN.DF(v.terms), tm.daysuntilnetdue, SUM(CASE WHEN t.trandate > ADD_MONTHS(TRUNC(SYSDATE), -12) THEN ABS(t.foreigntotal) ELSE 0 END) AS ttm_spend, SUM(CASE WHEN t.trandate <= ADD_MONTHS(TRUNC(SYSDATE), -12) AND t.trandate > ADD_MONTHS(TRUNC(SYSDATE), -24) THEN ABS(t.foreigntotal) ELSE 0 END) AS prior_spend, COUNT(DISTINCT CASE WHEN t.trandate > ADD_MONTHS(TRUNC(SYSDATE), -12) THEN t.id END) AS ttm_bills FROM vendor v LEFT JOIN term tm ON tm.id = v.terms LEFT JOIN transaction t ON t.entity = v.id AND t.type = 'VendBill' AND t.posting = 'T' WHERE v.isinactive = 'F' GROUP BY ... SELECT a.acctnumber, a.fullname, COUNT(DISTINCT t.entity), COUNT(DISTINCT t.id), SUM(tal.amount) FROM transactionaccountingline tal JOIN transaction t ON t.id = tal.transaction JOIN account a ON a.id = tal.account WHERE tal.posting = 'T' AND t.type = 'VendBill' AND t.trandate > ADD_MONTHS(TRUNC(SYSDATE), -12) AND a.accttype <> 'AcctPay' GROUP BY a.acctnumber, a.fullname SELECT CASE WHEN tl.createdfrom IS NULL THEN 'no_po' ELSE 'po' END, COUNT(DISTINCT t.id), SUM(ABS(NVL(tl.foreignamount, tl.netamount))) FROM transaction t JOIN transactionline tl ON tl.transaction = t.id AND tl.mainline = 'F' AND tl.taxline = 'F' WHERE t.type = 'VendBill' AND t.posting = 'T' AND t.trandate > ADD_MONTHS(TRUNC(SYSDATE), -12) GROUP BY 1
| Assumption | Default | Impact |
|---|---|---|
| Analysis period | Trailing twelve months to 2026-09-23 | High |
| Tier 1 = top 5, Tier 2 = ranks 6 to 15 | Prompt default | Tier shares |
| Concentration risk: single vendor over 25% of total | Prompt default | Generation N flagged |
| Terms extension value: +15 days = about 2% annual cash benefit | Prompt rule of thumb | Opportunity 1 estimate |
| Spend = posted vendor bills, absolute value | Data | Totals |
| Test | Objective | Result |
|---|---|---|
| Test 1 | Vendor spend sums to total AP spend | Pass vendor ranking total equals bill total, $2,270,731 |
| Test 2 | No duplicate vendor IDs; active count reconciles | Pass 76 active records = 29 with spend + 47 without |
| Test 3 | Each vendor in exactly one tier | Pass 5 + 10 + 14 = 29 |
| Test 4 | Contract calendar dates valid | Not run contract fields do not exist in the account |
Confidence: high (98%) on spend and ranking; high on terms; not applicable on contract dates; medium (65%) on the savings estimates, which use the prompt's rules of thumb and require negotiation to realize.