Field TimeDelta define a period in month

No the Python datetime.timedelta store a fixed duration. Indeed you need to store a dateutil.relativedelta.relativedelta like it is done with account.invoice.payment_term.line.delta.
It may be a good improvement to have a reusable Mixin in trytond.