Sefaz Class x HbNFe

Projeto hbNFe (Nota Fiscal Eletronica/Danfe) para [x]Harbour

Moderador: Moderadores

Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Sefaz Class x HbNFe

Mensagem por sygecom »

chic...
Tenho que estudar mais o Harbour
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Sefaz Class x HbNFe

Mensagem por fladimir »

Leonardo, talvez se pegar os fontes desta contrib consiga compilar no xHarbour não?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Sefaz Class x HbNFe

Mensagem por sygecom »

Estive olhando, na versão atual do xHarbour já tem essa LIB, mas ainda uso uma versão defasada do xharbour, na versão mais nova da para usar já.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Sefaz Class x HbNFe

Mensagem por JoséQuintas »

E sobre a NFCe?
Ao que parece, o layout pode ser até parecido com cupom fiscal, a partir de 6 cm de largura.
É isso mesmo?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Sefaz Class x HbNFe

Mensagem por malcarli »

Sim procede. Implantei Sat, que em sp "substitui" a Nfce. Pode-se emitir nfce em sp, desde que tenha sat. Emitir nfce, sem ter aderido ao sat não pode conforme legislação vigente. Tem muito "cliente espertinho" utilizando nfce sem o sat. Cuidado profissionais em não compactuarem com esse erro, já que no sat existe a vinculação no cnpj da softhouse com o cnpj do cliente, para a geração da chave. Fiz a impressão do sat, utlizando esc-pos puro, pois ai não fiquei na dependencia de dll de terceiros, o único problema que enfrentei no qrcode, muda os código entre as impressoras, mas contornado. Em alguns estados, como o paraná emite a nfce em um formato parecido com a danfe da nfe, tendo o qrcode acrescentado. Se precisar do codigo da impressão posto aqui
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Sefaz Class x HbNFe

Mensagem por fladimir »

Bom dia,

Já posta pra ficar registrado e quem precisar já tem.

[]'s
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Sefaz Class x HbNFe

Mensagem por Jairo Maia »

Olá Pessoal,
malcarli escreveu:Tem muito "cliente espertinho" utilizando nfce sem o sat.
Você tem conhecimento disso? Pergunto porque em SP não consegue credenciamento para emissão de NFC-e sem constar um SAT vinculado ao CNPJ do contribuinte e ativo.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Sefaz Class x HbNFe

Mensagem por malcarli »

Somente comentários em grupos, mas eu mesmo não presenciei nenhuma situação, mas tudo se dá jeito. Lembro que qdo lançaram o ecf, tinha empresas vendendo um "chupa cabra". Inclusive uma saiu em reportagem na tv. Comentei somente para alertar de manter-se na legalidade sem se envolver em maracutaias.
malcarli
Usuário Nível 3
Usuário Nível 3
Mensagens: 239
Registrado em: 20 Ago 2015 18:14
Localização: marilia/sp

Sefaz Class x HbNFe

Mensagem por malcarli »

Código: Selecionar todos

*****************************************
* TITULO     : EXTRATO DO S@T FISCAL    *
* DATA       : 08/09/2015               *
* PROGRAMA   : DEMO.PRG                 *
* COMENTARIO : IMPRESSAO DO EXTRATO     *
* COMENTARIO : PARA IMPRESSORA EPSON    *
* COMENTARIO : TM-T20                   *
* COMENTARIO : AGRADECIMENTOS AO SR.    *
* COMENTARIO : FLAVIO SILVA             *
* COMENTARIO : FlavioSilva@epson.com.br *
* DIREITOS   : INFO2000 SISTEMAS        *
* CLIENTE -->: ###     TODOS      ###   *
* COMPILAR COM HARBOUR OU (X)HARBOUR    *
* OU AINDA CLIPPER                      *
*****************************************
#include <minigui.ch>

FUNCTION MAIN() && PARA COMPILAR EM CLIPPER RETIRAR ESSA LINH
   Local I:= 0, cPrinter:= GetDefaultPrinter()

   If Empty(cPrinter)
      MsgStop([Impressora não Selecionada!], [Erro])
      QUIT
   EndIf

      ferase([NFCE.TXT])
      Setalternate([NFCE.TXT])



	*SET PRINT TO "LPT1" && PARA COMPILAR COM CLIPPER DESCOMENTE ESSA LINHA
*	SET PRINT TO ( GetDefaultPrinter() ) && PARA COMPILAR EM CLIPPER RETIRAR ESSA LINHA	

*	SET CONSOLE OFF
*	SET PRINT ON
*	SET DEVICE TO PRINT
	SET MARGIN TO 0
	SETPRC( 0, 0 )

	IMP_Cabecalho()
**
	? "#|COD|DESC|QTD|UN|VL UN R$|(VLTR R$)*|VL ITEM R$" 
	? REPLI( "-", 48 )
	I++
	? STRZERO( I, 3, 0 )
	? SPAC(4) + "123456"
	? SPAC(18) + "TESTE DE PRODUTO"
	? SPAC(5) + "1,000"
	? SPAC(15) + "X" 
	? SPAC(20) + TRANSF( 10, "@E 999,999.99" ) 
	? SPAC(30) + TRANSF( 10, "@E 999,999,999.99" )
	*
	IMP_TOTAIS()
	**
*	SETPRC(0,0)
*	SET PRINT OFF
*	SET CONSOLE ON
*	SET PRINTER TO

      Setalternate()
      WIN_PrintFileRaw(cPrinter, [NFCE.TXT], [TESTE])
      QUIT
RETURN NIL

/*
 IMPRIME O CABELHO DO EXTRATO
*/

FUNCTION IMP_CABECALHO()
*
	? PADC( "NOME FANTASIA", 48 )
	? PADC( "RAZAO SOCIAL", 48 ) 
	? PADC( "RUA UM NRO. 2", 48 )
	? PADC(  "SAO PAULO - SP", 48 ) 
	? PADC( "CNPJ: 11111111111 IE: 22222222", 48 ) 
	? REPLI( "-", 48 )
*
	? PADC( "Extrato No: 123456" , 48 )
	? PADC( "CUPOM FISCAL ELETRONICO - SAT", 48 )
*
	? REPLI( "-", 48 )
	? "CPF/CNPJ do Consumidor: "
	? REPLI( "-", 48 )

RETURN NIL

/*
 IMPRIME OS TOTAIS DO EXTRATO
*/

FUNCTION IMP_TOTAIS()
	? "TOTAL R$ " + TRANSF( 10, "@E 9,999,999.99" )

	? "Dinheiro"
	? SPAC(26) + TRANSF( 10, "@E 999,999,999.99" ) 

	? REPLI( "-", 48 )

	? PADC( "SAT No. 987654321", 48 )

	? PADC( DTOC( DATE() ) +" - "+ TIME(), 48 )

	? CHR(10) + CHR(27) + CHR(97) + CHR(49)									&& Centraliza a Impressão	
	? CHR(27) + CHR(33) + CHR(1) 												&& Muda para a FontB para que o Texto seja impresso em 1 linha
	? PADC( "3514 1146 3772 2200 3730 5990 0000 4630 0011 5817 9941", 56 )
	? CHR(27) + CHR(33) + CHR(0) 												&& Volta para a FontA
**
	QRCODE8()
**
	? CHR(27) + "a" + CHR(0) 													&& Volta a justificar à esquerda
	
	? PADC( "OBRIGADO PELA PREFERENCIA", 48 )
	? REPLICATE( "-", 48 )
	? PADC( "www.info2000sistemas.com.br", 48 )
	? ""
	
	? CHR(29) + CHR(86) + CHR(0) && Aciona Guilhotina
	
RETURN NIL

**
*  FUNCAO PARA IMPRIMIR O QRCode 8cm
**

FUNCTION QRCODE8( QUAL, cXML )

**
* STRING com a linha de dados do QRCode - juntando as variáveis acima separadas pelo pipe.
* Exemplo: "35141146377222003730599000004630001158179941|20141105134922|10.00|61694805808|m+4o8FY1lig1zcy6VU3t7INVwE6kiA/ykLXKDFZfb9gu0g4wl3Fk2HYaRhSt8G+yk9mP/R65m3R7V2IO8CxnmO1oVtlamB6UKA+UZZqDNEqtYlhQzLySNzMG0thaNMZsq5RxmQ3eQLPw8LLez3MqWvUveFXNSSq6AGEX2+KOdavteo3K2L06SQoVIjwkmcgRzqhfHP3y8t2wfr1nw/WAnaCF9ZY/K4dTykk3hsXcan/MKCTBlcSOhNgSh3sdsQHpl2w2tmbLBsYBLFkuvKlwzHarNJQ1RfRznGdojHglQH1KVtbAUXKke54pdRt3JL7nJlR+Lbmtd2tjcT2vRyTepw=="
**
	LOCAL x_TmStp := "20141105134922"
	LOCAL x_Chave := "35141146377222003730599000004630001158179941"
	LOCAL x_Valor := "10.00"
	LOCAL x_CNPJ  := ""
	LOCAL x_Ass   := "m+4o8FY1lig1zcy6VU3t7INVwE6kiA/ykLXKDFZfb9gu0g4wl3Fk2HYaRhSt8G+yk9mP/R65m3R7V2IO8CxnmO1oVtlamB6UKA+UZZqDNEqtYlhQzLySNzMG0thaNMZsq5RxmQ3eQLPw8LLez3MqWvUveFXNSSq6AGEX2+KOdavteo3K2L06SQoVIjwkmcgRzqhfHP3y8t2wfr1nw/WAnaCF9ZY/K4dTykk3hsXcan/MKCTBlcSOhNgSh3sdsQHpl2w2tmbLBsYBLFkuvKlwzHarNJQ1RfRznGdojHglQH1KVtbAUXKke54pdRt3JL7nJlR+Lbmtd2tjcT2vRyTepw=="

	LOCAL x_URL_QrCode, iTamanho, iLow, iHigh, iCount, ComandoQR

	x_URL_QrCode = x_Chave+"|"+x_TmStp+"|"+x_Valor+"|"+x_CNPJ+"|"+x_Ass
**

/*
  BYTES PARA COMPOR O QRCODE
*/
	iTamanho := Len( x_URL_QrCode ) + 3
	iLow     := MOD( iTamanho, 256 )
	iHigh    := iTamanho / 256
	
        ? CHR(29) + "h" + CHR(60) && Altura do código de barras
        ? CHR(29) + "w" + CHR(2)  && Largura das barras
        ? CHR(29) + "H0"          && Apresentação numérica do código DE BARRAS / H0 = INIBE, H2 = MOSTRA
      
        * Imprime o Code128C com 44 algarismos
	ComandoQR := CHR(29) + CHR(107) + CHR(73) + CHR(24) + "{C"
        For iCount = 0 To 22
                ComandoQR += CHR( VAL( SUBSTR( x_Chave, (iCount * 2) + 1, 2 ) ) )
	Next
        ? []

	? ComandoQR
        * Fim da impressão do Code128C

        * Impressão do QRCode
	? CHR(29) + "(k" + CHR(iLow) + CHR(iHigh)+CHR(49)+CHR(80)+CHR(48)+ x_URL_QrCode && QRCode PROPRIAMENTE DITO

	? CHR(29) + "(k"+ CHR(3)+CHR(0)+CHR(49)+CHR(81)+CHR(48)
Return Nil

Procedure Setalternate(cParam)
   If cParam == Nil
      Set Cons on
      Set Alter to
      Set Alter off
   Else
      Set cons off
      Set Alter to &cParam
      Set Alter on
   Endif
Return (Nil)

**
* FINAL DO PROGRAMA DEMO.PRG
** 

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Sefaz Class x HbNFe

Mensagem por JoséQuintas »

Mas pelo que vi na lei, só é obrigado a SAT se o faturamento for superior a 60.000
c) a partir de 01-01-2018, para os contribuintes que auferirem receita bruta superior a R$ 60.000,00 no ano de 2017;
d) decorrido o prazo indicado na alínea “b”, a partir do primeiro dia do ano subsequente àquele em que o contribuinte auferir receita bruta superior a R$ 81.000,00; (Redação dada à alínea pela Portaria CAT-108/16, de 10-11-2016; DOE 11-11-2016)
d) decorrido o prazo indicado na alínea “c”, a partir do primeiro dia do ano subsequente àquele em que o contribuinte auferir receita bruta superior a R$ 60.000,00;
http://info.fazenda.sp.gov.br/NXT/gatew ... ia:vtribut

Apesar que pode variar conforme UF.

E também não sei se ajuda, já que mesmo que não use, parece que é obrigado a comprar o equipamento SAT pra ter o código.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Sefaz Class x HbNFe

Mensagem por Jairo Maia »

Olá Pessoal,
JoséQuintas escreveu:Mas pelo que vi na lei, só é obrigado a SAT se o faturamento for superior a 60.000
Isso para quem ainda não se enquadrou no Inciso "I" e nem na Alínea "a" do Inciso "II" do Artigo 27 da Portaria CAT 147/12 (link acima no post do José), ou seja, quem faturou R$ 100.000,00 (cem mil) em 2015, ou quem tem ECF com 5 anos ou mais da data da primeira lacração e ainda não tem SAT está irregular segundo essa Portaria.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Sefaz Class x HbNFe

Mensagem por JoséQuintas »

A parte curiosa é que no final é tudo a mesma coisa.
Talvez algum político tenha empresa de SAT.

No XML, cada um é identificado de uma forma: CFe ou NFCe

Acho que a principal diferença é que no CFe é identificada até a máquina que está sendo usada.

Agora vém outra questão:

Documento Auxiliar de Nota Fiscal ao Consumidor Eletrônica

Pelo nome, isso é para NFCe, e não para CFe.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Sefaz Class x HbNFe

Mensagem por JoséQuintas »

Um jeito simples de imprimir cupom é criar um array, e depois imprimir o array.
Pode fazer o cupom, e decidir depois como vai imprimir.
A única exceção é para o QRCode e/ou logotipo.

Código: Selecionar todos

   Aadd( acTxt, Replicate( "-", 60 ) )
   Aadd( acTxt, Padc( AppEmpresaNome(), 60 ) )
   Aadd( acTxt, Padc( Trim( jpempre->emEndereco ) + " " + Trim( jpempre->emBairro ) +  " " + Trim( jpempre->emCidade ), 60 ) )
   IF ! Empty(jpempre->emHomePage)
      Aadd( acTxt, Padc( "Site " + Trim( jpempre->emHomePage ), 60 ) )
   ENDIF
   Aadd( acTxt, Padc( "FONE: " + Trim( jpempre->emTelefone ), 60 ) )
   Aadd( acTxt, Replicate( "-", 60 ) )
   Aadd( acTxt, "" )
   Aadd( acTxt, Padc( "Cupom " + jpnota->nfNotFis + " - "+iif( jpnota->nfCfOp > "5.000", "Saida", "Entrada" ), 60 ) )
   Aadd( acTxt, Padc( "Emissao " + Dtoc( jpnota->nfDatEmi ), 60 ) )
   Aadd( acTxt, Replicate( "-",60 ) )
   Encontra( jppedi->pdCliFor, "jpcadas", "numlan" )
   Aadd( acTxt, "Nome:" + Trim( jpcadas->cdNome ) + " (" + jppedi->PdCliFor + ")" )
   Aadd( acTxt, "Endereco:" + Trim( jpcadas->cdEndereco ) )
   Aadd( acTxt, "CEP/Cidade/UF:" + jpcadas->cdCep + " " + jpcadas->cdUf + " " + Trim( jpcadas->cdCidade ) )
   Aadd( acTxt, Replicate( "-", 60 ) )
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Sefaz Class x HbNFe

Mensagem por Jairo Maia »

Olá Pessoal,
JoséQuintas escreveu:Documento Auxiliar de Nota Fiscal ao Consumidor Eletrônica
Pelo nome, isso é para NFCe, e não para CFe.
Isso mesmo José. Para CF-e não é DANFE, é oficialmente nominado EXTRATO enquanto XML, e CUPOM FISCAL SAT quando impresso. Já para NFC-e obviamente Nota Fiscal ao Consumidor Eletrônica enquanto XML e DANFE quando impresso.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Sefaz Class x HbNFe

Mensagem por sygecom »

Jairo e malcarli,

Estive lendo as perguntas frequentes e pelo que entendi, quem vai usar NFCe não precisa ter o SAT, uma sibustituiu a outra, veja:

8. Quando a minha empresa será obrigada à emissão de NFC-e?

Existe cronograma de obrigatoriedade de utilização do CF-e/SAT disposto no artigo 27 da Portaria CAT 147/2012. Entretanto, conforme artigo 28 da mesma Portaria, o contribuinte pode, em substituição a esse documento, optar pela emissão da Nota Fiscal Eletrônica - NF-e, modelos 55, ou da Nota Fiscal de Consumidor Eletrônica – NFC-e (NF-e, modelo 65).


http://www.nfce.fazenda.sp.gov.br/NFCeP ... entes.aspx
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder