Página 2 de 3

Sefaz Class x HbNFe

Enviado: 04 Dez 2016 12:08
por sygecom
chic...
Tenho que estudar mais o Harbour

Sefaz Class x HbNFe

Enviado: 04 Dez 2016 12:19
por fladimir
Leonardo, talvez se pegar os fontes desta contrib consiga compilar no xHarbour não?

Sefaz Class x HbNFe

Enviado: 04 Dez 2016 14:36
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á.

Sefaz Class x HbNFe

Enviado: 04 Dez 2016 19:22
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?

Sefaz Class x HbNFe

Enviado: 05 Dez 2016 10:07
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

Sefaz Class x HbNFe

Enviado: 05 Dez 2016 11:42
por fladimir
Bom dia,

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

[]'s

Sefaz Class x HbNFe

Enviado: 05 Dez 2016 11:55
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.

Sefaz Class x HbNFe

Enviado: 05 Dez 2016 14:13
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.

Sefaz Class x HbNFe

Enviado: 05 Dez 2016 14:20
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
** 


Sefaz Class x HbNFe

Enviado: 05 Dez 2016 16:48
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.

Sefaz Class x HbNFe

Enviado: 05 Dez 2016 19:06
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.

Sefaz Class x HbNFe

Enviado: 05 Dez 2016 20:08
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.

Sefaz Class x HbNFe

Enviado: 05 Dez 2016 20:17
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 ) )

Sefaz Class x HbNFe

Enviado: 06 Dez 2016 00:12
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.

Sefaz Class x HbNFe

Enviado: 07 Dez 2016 18:00
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