Workflow nets are recognized as a modelling paradigm for the business process modelling. We introduce and investigate several correctness notions for workflow nets, ranging from proper termination of cases to their mutual independence. We define refinement operators for nets and investigate preservation of correctness through these operators. This gives rise to a class of nets that are provably correct