Olá @Leo_Friend, 
Eu fiz parte do desenvolvimento de um sistema java web feito na Casa do Código para emitir notas fiscais a serem lançadas no site da receita federal. Ele vem funcionando muito bem (inclusive com integração com paypal e pagseguro, além de cadastros manuais).
Adianto que, apesar de não ter sido um trabalho extremamente fácil, foi um projeto que automatizou muitos processos repetitivos e que consumiam tempo, facilitando bem a vida das pessoas que trabalhavam com isso.
Acho que como qualquer outro projeto, a idéia é tentar identificar quais são os componentes das Notas Fiscais (coisas como a Nota em sim, emitente, cliente, endereço, produtos…) a fim de fazer uma modelagem do seu sistema em classes que façam sentido no contexto e torne a aplicação bastante coesa.
No nosso caso, optamos por usar o FreeMarker para fazer o template das NFe, e depois só preenche-lo com os dados das notas cadastradas no sistema. No site da receita em si existem manuais bem explicativos sobre as normas a seguir, como esse.
Acho que sua vontade em tentar já é um grande primeiro passo, espero que eu tenha ajudado a te dar um norte 