SQL Server 2008 - Return a row when the record has never been created before

I need to write a report that will return the record for the first time a customer buys a product which they have never bought before. I do not what to see the customer's sales history, only this one record for each new product they buy for the first time. I also need to be able to return records for a specific date range OR for a specific customer. I have gotten this far, but this query only returns the 1st purchase within my date range parameters. I'm building the report in SQL Server Report Builder.

SELECT  
    R1.Customer,
    R1.Name, 
    MIN(CONVERT(VARCHAR(101), R2.InvoiceDate, 110)) AS "FirstSale",
    R3.StockCode,
    MONTH(MIN(CONVERT(VARCHAR(101),R2.InvoiceDate,110))) AS Month,
    YEAR(MIN(CONVERT(VARCHAR(101),R2.InvoiceDate,110))) AS Year
FROM 
    dbo.ArCustomer AS R1 
LEFT JOIN 
    dbo.ArInvoice AS R2 ON R1.Customer = R2.Customer
LEFT JOIN 
    dbo.SalHistoryMaster as R3 ON R1.Customer = R3.Customer
GROUP BY 
    R1.Customer, R1.Name, R3.StockCode
ORDER BY 
    R1.Customer

Thanks!