Hello @NoritomoNishi - personally I think line items is the best solution here to get accurate reporting on revenue with different contract length. If you can introduce line items and insist that all deals use/have them, this would be the best way to manage things. You could also have a custom “Contract End Date” property on the deal level (and make this required for any deal marked Closed Won) that could then be used in a workflow to trigger renewal related outreach / follow up.
Hope that helps!