• All true.

    To answer his question, though, if:

    A. Data is only transfered to the database via the program and

    B. Logic of the program is bullet proof and

    C. There are no duplicates in the database (Rules out an extra call to the program with the same file OR the same data appearing in a different file) and

    D. The report WAS showing duplicates

    Then:

    A. The design of the report is bad (Unlikely to see duplicates) or

    B. The query the report is based off of is bad (More likely. Double-check your joins.) or

    C. Design flaw in the reporting tool (Get another set of eyes to look things over, if possible. If it's reproducible, you may want to send a bug report and work around it.)