I have created Report Type Opportunity without Contracts (Criteria used primary object- "Opportunity" and Contract as the related object. Relationship used - "A" records may or may not have related "B" records.). But when I run the report it will show the records in opportunity with contracts and even Opportunities without contracts. Could you tell me why this issue is happening?

2 Answers 2


Have you tried to insert a filter on your report? It seems that you are forgetting to filter out all of the Opportunities without a Contract. Possibly grab a field on the Contract that all Contracts have filled out, and say "Contract Field Equals NULL". That should filter out all of the records with Contracts.

If that doesnt work, you could get more complicated and do a data load to update all Opportunities without a Contract. Create a Boolean field, called "Contract Attached", and do a data load of TRUE for all Opportunities with a Contract. After the data is loaded and you have the historical data correct, you can setup a Process Builder to check the box anytime a Contract is added to an Opportunity. You can then run your reports off of this field and not need a custom report type.

Hopefully one of those two solutions works for you.

  • Thanks David. given for the solution. I have one doubt we can use in the report Add" Multi-Button and select "Cross Filters condition" in the filter select the Opportunity without Contract. I am correct.
    – Rahul
    May 29, 2015 at 23:25

When creating a custom report type you have two choices when adding the child object as described in help:

  1. For each child object, select one of the following criteria:

    • Each "A" record must have at least one related "B" record. Only parent records with child records are shown in the report.
    • "A" records may or may not have related "B" records. Parent records are shown, whether or not they have child records.

If you want only Opportunities with Contracts then you would need to choose the first option above. You chose the second option which is intended to show both Opportunities with or without Contracts. Alternatively, you could continue to use the report type you have created but use a cross object filter to only show Opportunities with Child Contracts.

Example cross filter using Quotes:
Filters: Cross Filter

Opportunities with Quotes

  • Thanks Jenny. I did also same thing. very thanks for ur hlep..
    – Rahul
    Jun 1, 2015 at 17:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.