Cost codes are functionally arbitrary but allow you to further allocate your spend. You have your ledger code, for example, – “5050 – Stationary” but in addition you could have cost codes for Paper, Pens, Envelopes, etc. You can create whatever you need. This will largely be decided by your finance system and the Cost Code will be named to suit and aligned with an already existing coding set – ie Xero Tracking Category or Sage Department.
Like Nominal Codes – you can import them and you can edit them in-line as well. Each code has a code and a description. The Nominal code article explains how to set validations and restrictions.