Hi,
As price differ in PO with reference to your contract, 1st check PO creation date and compare with price details with validity period in contract with condition type PB00. Also check scalling in your contract ie.......availabilty of quantity scale or value scale
Again also check condition type in your PO and find condition type settings details in t.code:M/06, specially what is available condition category in that condition type.
Regards,
Biju K