NHS Services provided by GPs - the GMS Contract.
GPs are not employed by the NHS, they are self-employed and they have a contract with the NHS to deliver specific work caring for patients. This is the General Medical Services (GMS) Contract.
GPs are paid for providing services agreed in the contract. They are responsible for running their Practices and covering their costs e.g time, staff, building, heating, lighting etc in the same way as any small business.
For non NHS services, which are not in the GMS contract, the Practice needs to charge a fee to cover the costs. This includes; medical reports for insurance companies, claims on private health insurance, other letters and forms which require the doctor to review the patient's medical records and some vaccinations.