Questions & Answers about У нас есть текст, а договора нет.
Why is it договора instead of договор?
Because of the word нет (there is no). When you say something is missing or does not exist using нет, that missing object must be in the Genitive case. For the masculine noun договор (contract), this means adding -а to the end.
Why is договора placed before нет? Can I say 'нет договора'?
Yes, you can absolutely say а нет договора. Russian word order is very flexible. Putting договора first just puts a slight emphasis on the contract itself, feeling closer to 'we have the text, but as for the contract, it is missing.'
Why use the conjunction а here instead of но for 'but'?
The word а is used to contrast two parallel facts or establish a comparison, like having one thing but not having another. You would use но for an unexpected contradiction or a catch, such as 'We have the contract, but we will not sign it.'
Shouldn't the second half say 'у нас нет договора'?
You could say that, but it is not necessary. Since you already said у нас (we have / literally 'at us') at the beginning, it is naturally understood to carry over. The sentence literally flows as 'At us there is the text, whereas a contract there is no.'