Os processos envolvendo a gestão de NFe, são vários e alguns um tanto "complexos".
Muitos sistemas legados, tem dificuldade em trabalhar diretamente com XML, então a melhor forma de integra-los ao NFePHP é fazendo com que criem as NFe em um formato intermediário em TXT onde os campos são separados por "pipes" (|) e cada linha é um determinado conjunto de informações que irão compor a NFe.
Para estabelecer a estrutura do TXT, foi preciso fazer engenharia reversa usando o emissor gratuito fornecido pela SEFAZ, pois o manual disponível contêm erros e omissões (não é mantido atualizado).
Algumas informações úteis sobre a estutura desse TXT podem ser obtidas aqui Estrutura do TXT para NFe
Pois bem, como esse TXT não pode ser usado diretamente, devemos fazer sua conversão para xml, e para isso usamos a classe Convert::class, para maiores detalhes e exemplos de uso consulte Convert::class
Leia Convert::class
A API pode montar diretamente os xml com o uso da classe Make:class
O uso dos sistemas de contingência é uma necessidade e para isso deve ser instanciada e injetada a class Contingency::class. Os dados referentes a contignência devem ser mantidos de alguma forma pelo aplicativo. Estão disponíveis alguns modos de contingência (SVC, EPEC, FS-DA e OFF-LINE).
Leia Gerenciamento de Contingências
Leia Ferramentas de comunicação
Leia Ferramentas de leitura e conversão dos XML em outros formatos
Leia Complementos