Answer:
b.recorded on March 31, 2018. 
Step-by-step explanation:
Given that 
Date of entering into a contract is Jan 20, 2018 
The delivery date is until April 30 
Received full payment after 30 days of delivery i.e March 31 
By considering the above information, the revenue for this contract should be taken on March 31 as the amount would be fully received after 30 days of delivery i.e March 31 and the same is recorded in the books of accounts