Vamos por partes:
- Primeiro vc precisa ter uma empresa (CNPJ) apta fiscalmente a emitir NFS-e e um software/sistema web para a emissão.
- Cada prefeitura tem seu próprio sistema, então a sua empresa precisa fazer a solicitação para emitir NFS-e na cidade onde quer emitir a nota.
- Algumas prefeituras fazem licitação desse sistema então algumas cidades possuem o mesmo "provedor" do sistema. Ex: Ginfes, Betha, etc.
- Agora, dependendo da cidade (por causa dessa variedade de sistemas) vc pode emitir NFS-e utilizando alguma sistema/aplicativo web ou desktop
fornecido pela própria prefeitura (ou empresa parceira que fornece este sistema para a prefeitura)
ou pode automatizar isso no seu próprio ERP utilizando webservice para se comunicar, parecido, mas não exatamente igual a NF-e/NFC-e.
Não é um sistema universal e não tem muito padrão, varia MUITO de uma cidade para outra. Eles seguem uma documentação base mas varia muito a implementação de cada sistema.
Eu estou desenvolvendo a lib em python para emissão de NFS-e mas atualmente tem suporte a apenas algumas cidades (Betha e Ginfes).