Unfulfilled past obligations (had moeten...)

When talking about what you "should have" or "could have" done, use the past perfect tense with modal verbs like moeten and kunnen.

The double infinitive rule

Normally, perfect tenses use a past participle. However, when a modal verb is combined with a main verb in a perfect tense, Dutch applies the infinitive-for-participle rule: the expected past participle turns into an infinitive. These infinitives group together at the end of the clause.

Expressing "should have" (had moeten)

To say someone "should have" done something, use the past tense of hebben (had or hadden), placing the infinitives moeten and the main verb at the end.

I should have chosen a practical direction.
Ik had een praktische richting moeten kiezen.
He should have already completed his thesis last year.
Hij had zijn scriptie vorig jaar al moeten afronden.
We had the chance, so we should have persevered.
We hadden de kans, dus we hadden moeten doorzetten.
I should have learned this useful skill earlier.
Ik had deze nuttige vaardigheid eerder moeten leren.

Expressing "could have" (had kunnen)

The same rule applies to unfulfilled possibilities using kunnen ("could have"). Use had or hadden + kunnen + the main verb.

If I weren't so inexperienced, I could have accepted that offer.
Als ik niet zo onervaren was, had ik dat aanbod kunnen aannemen.
The possibility could have been useful.
De mogelijkheid had nuttig kunnen zijn.

Questions

In questions, the subject and auxiliary verb invert, but the double infinitive remains at the end.

Should we have chosen another direction back then?
Hadden we toen een andere richting moeten kiezen?
Who should have supervised your thesis actually?
Wie had jouw scriptie eigenlijk moeten begeleiden?
You should have persevered, then you could have completed the program.
Je had moeten doorzetten, dan had je de opleiding kunnen afronden.