Hi,
I also met the same problem i.e. recognizing revenues spread over periods which don't correspond to the (averaged) values suggested in standard by SAP.
Meaning in your scenario in VBREVE you will automatically see :
Period 1 3000 USD
Period 2 3000 USD
Period 3 3000 USD
Period 4 3000 USD
If you want to change those amount I'm afraid you have to develop a specific program which update the tables VBREVE, VBAK and VBAP according to the situation.
In your case it is simple: one contract, one item in the contract completely billed the first period.
It can become far more complex if you want to link 2 contracts, if you have 2 items in the contract not billed at the same time, etc...
In the end the most tricky part will be how much will you post on the "deferred revenue" account or on the "unbilled trade debtor" account.
For that you will need a clear understanding of the SD contracts, and of the posting triggered in FI during billing, and during revenue recognition.
I don't think that there is a solution in standard, even if you play with the item categories in the contract.
Hope it helps.