@James Morris correct, different income/COGS account for specific transactions only. Essentially, we sell large machines to customers, so don't follow the 'usual' warranty process of having a customer return their entire purchase and shipping out a replacement.
We will ship out specific parts to repair the damage, so need to record these items leaving our warehouse for inventory purposes, so using an alternate item code isn't super practical for us.
In an ideal world this would be done by creating a sales order, dispatching parts using normal fulfil process to record inventory movements but having this hit the warranty GL rather than the usual COGS, then closing out the sales order without billing as there's nothing owing from the customer.