Meus 2 cents expandidos:
Existem 2 questoes aqui: alimentar os dados dos sistemas internos (p.ex. estoque) e gerar a informacao fiscal - cada questao tem de ter tratamento diferente.
Se a internet esta fora, o que precisa fazer:
-
Armazenar o conjunto de acoes que irao atualizar os sistemas (um exemplo bem simples e canhestro: um arquivo SQL contendo a sequencia de comandos BEGIN/INSERT/UPDATE/DELETE/COMMIT que devera ser executada no banco de dados principal. Nao eh uma abordagem para producao, mas fazendo isso voce vai perceber o caminho.)
-
Informacao fiscal: Na emissao de contingencia voce gera dados especificos - grave estes XML equivalentes e depois envia para a SEFAZ. Tem um monte de detalhes aqui, mas a ideia basica eh esta. Se voce estiver usando uma impressora SAT, veja na documentacao dela como trata off-line, muitas ja fazem isso de forma automatizada.
Entao o teu SaaS vai ter uma versao local para receber os dados acima quando estiver offline - basicamente eh isso.
Outra questao: as vezes tem internet, mas a SEFAZ esta fora - neste caso o SaaS funciona normalemente (p.ex. atualizacao estoque), apenas gera os XML de contingencia para envio posterior.