CTLD — Do It Best Catalog File - Margin Master

Margin Master Handbook

Introduction
Part I · Installing
Part II · Introducing the Main Window
Part III · Initial Configuration
Part IV · Customizing the Workspace
Part V · Basic Application Functionality
Part VI · Learning Margin Master
Part VII · Advanced Topics
Part VIII · Updates, Troubleshooting & Help
Appendix
AppendixUpdated 2026-09-15

CTLD — Do It Best Catalog File

What is this file?

The CTLD file is the primary Do It Best catalog file. It is a fixed-width record format containing the complete product catalog for a single RSC (Retail Service Center), including product details, costs at multiple membership tiers (Classic, Vision, PAR), retail pricing, margins, and operational flags. This is the most field-rich import file in the pipeline with over 50 fields per record.

File Details

Property Value
File pattern CTLD*.out
Format Fixed-width (450 characters per record)
Vendor Do It Best
Frequency Daily

Raw File Fields

Identification

Position Length Raw Field Data Type Description
0 3 RecordID string Record type identifier
3 6 MemberNum string Member number
9 2 RSC string Retail service center
11 6 Sku string Do It Best SKU
17 9 PersonalSku string Personal SKU variant
26 14 GTIN string Global Trade Item Number
40 24 MfgPartNum string Manufacturer part number

Dates

Position Length Raw Field Data Type Description
64 14 CreateTimeStamp datetime Record creation timestamp
78 8 LoadDate datetime File load date (YYYYMMDD)

Product Attributes

Position Length Raw Field Data Type Description
86 30 Description string Product description
116 4 VendorNum string Vendor number
120 20 VendorName string Vendor name
140 2 Department string Department code
142 4 FineLineClassCode string Fine line class
146 6 CatalogPage string Catalog page reference
395 4 ProductClassificationDept string Classification department
399 4 ProductGroup string Product group

Multipliers

Position Length Raw Field Data Type Description
152 5 Mult3 int Multiplier 3
157 5 Mult2 int Multiplier 2
162 5 Mult1 int Multiplier 1
167 1 CaseMultCode int Case multiplier code
168 1 MbrCostoption string Member cost option

Costs (divided by 1000)

All cost fields are stored in the file as integers that must be divided by 1000 to get the dollar amount.

Position Length Raw Field Data Type Description
169 8 Classic1Cost money Classic tier 1 cost
177 8 Classic2Cost money Classic tier 2 cost
185 8 Classic3Cost money Classic tier 3 cost
193 8 Vision3Cost money Vision tier 3 cost
201 8 Vision2Cost money Vision tier 2 cost
209 8 Vision1Cost money Vision tier 1 cost
217 8 PAR3Cost money PAR tier 3 cost
225 8 PAR2Cost money PAR tier 2 cost
233 8 PAR1Cost money PAR tier 1 cost
241 8 DropShipCost money Drop ship cost

Pricing (divided by 100)

Pricing fields are stored as integers divided by 100.

Position Length Raw Field Data Type Description
249 7 RetailMember money Retail member price
256 7 SuggestedRetail money Suggested retail price
273 7 SuggAuxRetail money Per-unit auxiliary retail price

Unit of Measure

Position Length Raw Field Data Type Description
263 2 Unit string Unit of measure
265 1 IMCSAuxRetailSwitch string Auxiliary retail switch flag
266 2 AuxUnit string Auxiliary unit of measure
268 5 AuxQty int Auxiliary quantity per package

Margins (divided by 10)

Position Length Raw Field Data Type Description
280 4 GrossMargin money Gross margin (÷100)
284 3 SuggAuxMargin money Suggested auxiliary margin
287 3 MCSMarginCode string MCS margin code
290 3 SuggClassicMargin money Suggested Classic margin
293 3 SuggVisionMargin money Suggested Vision margin
296 3 SuggPARMargin money Suggested PAR margin

Physical Attributes

Position Length Raw Field Data Type Description
299 7 UnitCube decimal Unit cube (÷10000)
306 7 UnitWeight decimal Unit weight (÷1000)

Operational Flags

Position Length Raw Field Data Type Description
313 6 SubstituteItem string Substitute SKU
319 6 Substitute2 string Second substitute SKU
325 1 ItemType string Item type switch
326 1 NewItemIndicator string New item flag
327 1 StatusCode string Item status code
328 1 PromoStatusCode string Promotional status
329 1 KeyItemCode string Key item flag
330 1 IMCSDBLVCode string IMCS DBLC code
331 1 GTINBarCodePkgSwitch string Barcode package switch
332 3 CountryOfOrigin string Country of origin
335 1 ReturnGoodsCode string Return goods code
336 5 IMCSOrderPoint int IMCS order point
341 5 IMCSOrderQty int IMCS order quantity
346 1 MbrSlowMovingItem string Slow-moving item flag
347 1 UPSSwitch string UPS shipping switch
348 1 CentralStockSwitch string Central stock flag
349 2 CSPrimaryRSC string Central stock primary RSC
351 2 CSSecondaryRSC string Central stock secondary RSC
353 7 ExceptionQty int Exception quantity
360 7 MaximumQty int Maximum quantity
367 1 MaxQtySwitch string Maximum quantity switch

Private Label & Misc

Position Length Raw Field Data Type Description
368 1 PrivateLabel string Private label flag
369 25 PrivateLabelDesc string Private label description
394 1 PriceCode string Price code
403 1 DIB404 string Reserved field
404 1 DIB405 string Reserved field

How Margin Master Uses It

  • One file per RSC: each RSC receives its own catalog, so Margin Master always uses the catalog for your store's RSC.
  • Suggested retail required: items with no suggested retail (blank or zero) are left out and do not reach the main grid.
  • Cost: the item's cost is the highest of its three Classic costs.
  • Retail: the suggested retail price.
  • Level 1 through Level 5: derived from the Do it Best price-level rounding scheme, not read directly from the file. Level 1 and Level 2 are rounded price points below retail; Level 3 to Level 5 are the next three rounded prices above retail.
  • Pricing strategy code: the first character of the price code; a blank price code defaults to X.
  • Order multiples: the three multipliers are shown together as Mult3|Mult2|Mult1.
  • Taxonomy: the four Do it Best taxonomy levels come from the PCDITEMXREF and PCDPRODCLASS files.

Unit of measure adjustment

Some products are sold per sub-unit but packaged in larger units — wire sold per foot but packaged per roll, for example. For these, SuggAuxRetail holds the per-unit price.

Before applying prices, Margin Master checks whether your POS sells the item per unit or per package by comparing your current price with the per-unit price and with the package retail. If your current price is closer to the per-unit price, every price and cost from the catalog is multiplied by the ratio of the per-unit price to the package retail, so the vendor prices line up with how you sell the item. Otherwise no adjustment is made. Suggested margins are never scaled.

Loading...

Reconnecting to the server...

This usually takes a few seconds.