12 pasos para un mejor código

mayo 28, 2014 Deja un comentario

Excelente post, con una lista de 12 pasos que debemos considerar para mejorar nuestro código y nuestro proceso de desarrollo de software.

http://www.erickcamacho.com/post/51648385685/indispensables-la-prueba-de-joel-spolsky-12-pasos

 

Desaparece CFD en 2014

julio 31, 2013 Deja un comentario

cfddesaparece

Como ya se predecía este 2014 desaparecerá la generación de comprobantes fiscales digitales o bien conocidos CFD.

Todo esto ya publicado en el DOF  en la SEGUNDA Resolución de Modificaciones a la Resolución Miscelánea Fiscal para 2013 y su anexo 3. Y bueno por mencionar también los CBB que se reducen de 4 millones a 250,000 pesos.

Esto es lo que menciona al respecto al página del SAT:

Nuevas disposiciones para 2014

A partir de 2014, todos los contribuyentes que utilizan el esquema de Comprobante Fiscal Digital (CFD) deberán utilizar el esquema de Comprobante Fiscal Digital por Internet (CFDI) para la emisión de sus facturas electrónicas.

A partir de 2014 los contribuyentes con ingresos superiores a 250 mil pesos en el año, deberán utilizar el esquema de CFDI para la emisión de sus facturas electrónicas.

Todos los contribuyentes pueden adoptar la facturación electrónica, con independencia del nivel de ingresos que tengan.

Quienes tengan ingresos menores o iguales a 250 mil pesos, podrán seguir utilizando facturas en papel.

Por lo anterior tenemos que tomar en cuenta que para cumplir necesitamos:

  • Contar con un sistema informático que nos permita generar nuestra factura digital.
  • Contratar los servicios de un PAC (Proveedor autorizado certificación) para mandar las facturas y generen un timbrado único en ellas.

El contrato con los PAC tiene un costo el cual varia, dependiendo del volumen de timbres que vayas a manejar que van desde los $0.30 a $1.80 por timbre. Muchos PAC manejan contratos por un mínimo de timbres o por temporalidad esto es 1,2 o 3 años, dentro del cual están vigentes tus timbres, una ves concluido el plazo se cancelan y tienes que volver a contratar.

También ya hay muchas soluciones en la nube las cuales se están ofertando casi con el mismo concepto solo que en muchas de ellas son plazas mensuales,semestrales y anuales. Bueno también por timbres pero por los mismos plazos de tiempo.

Pros en general:

  •  El SAT ya que deja en manos de terceros y los contribuyentes todo lo relacionado con la generación y timbrado así como almacenamiento, etc,etc.
  • El PAC que por fin le van a cumplir la promesa que en un inicio les prometieron y por lo cual muchos realizaron una gran inversión.
  • Las personas físicas y morales que cuenten con algún sistema informático para CFD el cambio podría “no costarles tanto”.

Los Contras:

  • Para emitir CFDi deberás de contar con alguna solución informática.
  • Deberás de tener Internet (dependiendo del volumen de timbres seria la exigencia en estabilidad y constancia de tu proveedor de internet) y que los sistemas del PAC no fallen tanto.
  • Los costos de emisión del CFDI son mayores a los del CFD a parte de los que hemos comentado sumar los costos de impresión ya que aun muchos clientes piden el CFDi impreso.
  • Las personas físicas y morales que cuenten con algún sistema informático deberán actualizarlos para cumplir con la disposición generándoles un costo extra.

El comercial:

Con gusto me pongo a disposición para ayuda, asesoría o solución informática a la medida con respecto a la generación y timbrado de CFDi.

Categorías:CFD, CFDi, Interesantes

Problema Redirigir Puerto 80 thomson tg585 v8

febrero 22, 2013 8 comentarios

Tenia configurado un modem thomson tg585 vX  para que permitiera el acceso WWW a un equipo interno de la red. De la noche a la mañana se actualizo se perdieron las configuraciones (thomson tg585 v8) y al reasignar aplicaciones a los equipos de la red no redirigía el WWW.

Después de ver manuales por aquí comandos por allá esta fue la solución:

Conectarse via telnel al modem:

$telnet 192.168.1.1254

Una ves dentro:

{TELMEX}=>service system modify name=HTTP state=disabled
{TELMEX}=>:service system modify name=HTTPI state=enabled
{TELMEX}=>saveall

Por alguna razón al asignar la aplicación WWW a un equipo esta no se desactivaba en el modem.

Feliz Acceso!!!!!

Categorías:Interesantes

Redimensionar .vmdk en VirtualBox

febrero 14, 2013 2 comentarios

Cuando tu disco duro virtual este saturado hay que realizar lo siguiente para asignarle un poco más de espacio:

  • Convertirlo a .vdi ya que en .vmdk no lo podemos realizar

$ vboxmanage clonehd winxp-disk1.vmdk winxp-disk1.vdi –format VDI
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
Clone hard disk created in format ‘VDI’. UUID: 831ff5df-4e1f-4167-bcb1-cd71ea8d8936

  • Obtenemos información

$ vboxmanage showhdinfo winxp-disk1.vdi
UUID:                 831ff5df-4e1f-4167-bcb1-cd71ea8d8936
Accessible:           yes
Logical size:         10240 MBytes
Current size on disk: 10224 MBytes
Type:                 normal (base)
Storage format:       VDI
Format variant:       dynamic default
Location:             /home/winxp-disk1.vdi

  • Redimensionamos el d.d. a los GB deseados en MB

$ vboxmanage modifyhd winxp-disk1.vdi –resize 20480

  • Vemos nuevamente la información del disco

$ vboxmanage showhdinfo winxp-disk1.vdi
UUID:                 831ff5df-4e1f-4167-bcb1-cd71ea8d8936
Accessible:           yes
Logical size:         20480 MBytes
Current size on disk: 10224 MBytes
Type:                 normal (base)
Storage format:       VDI
Format variant:       dynamic default
Location:             /home/winxp-disk1.vdi

Una ves concluidos estos pasos asignamos el d.d. VDI a nuestra máquina virtual y con algún programa de particionamiento redimensionamos para que el S.O. reconozca el nuevo tamaño.

Categorías:Fedora, Interesantes

Llave .key y Certificado .cer a formato PEM

enero 2, 2013 Deja un comentario

Dentro de la generación de CFD’s (Comprobante fiscal digital) es necesario utilizar el certificado que proporciona el SAT para el sellado de los mismos. Ya se cumplieron 2 años desde la implementación de estos en un sistema PHP por lo que retomo el tener que convertir estos archivos a formato PEM que es el formato con que los algoritmos PHP de OpenSSL pueden manipular. A si es que si ustedes solicitaron certificados recuerden que tienen caducidad de 2 añitos(actualmente me he encontrado con algunos de 4).

Si nos facilitan todos los archivos generados en el proceso nos encontraremos con los siguientes archivos:

  • 00001000000303759245.cer – Certificado (para sellar) el cual siempre incluye la llave pública.
  • aaa010101aaa_yymmdd.key –  La llave privada está en un archivo PKCS8 en formato DER por lo que está encriptada.
    El cifrado de la llave privada puede estar en uno de 3 formatos:DES,Triple DES,RC2
  • aaa010101aaa.txt – Contraseña de la llave o bien te la mandaron escrita.
  • aaa010101aaa_yymmdd.req – archivo de requerimiento del SOLCEDI
  • aaa010101aaa_yymmdd.sdg – archivo de ensobretado del SOLCEDI

Ahora bien solo utilizaremos los 3 primeros:

  1. Llave privada a formato PEM una primera opción la que nos pedirá la contraseña

$ openssl pkcs8 -inform DER -in aaa010101aaa_yymmdd.key -out aaa010101aaa_yymmdd.key.pem
Enter Password:
$

Una segunda opción en la cual podemos especificar la contraseña al hacer el cambio

$ openssl pkcs8 -inform DER -in aaa010101aaa_yymmdd.key -out aaa010101aaa_yymmdd.key.pem -passin pass:a0123456789

Con lo anterior si no tenemos algún error podemos vizualizar el contenido del archivo ( BASE64)

$ cat aaa010101aaa_yymmdd.key.pem
—–BEGIN PRIVATE KEY—–
MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKCSggouRhAEl1HU
mOREKr9PQmoHmQ5o3D2dqq+uns6zfIqVZE34ntr1cq5jwfn83KNQVMLYX3fHagRA
mgV8cI1fLkQYTWtnOMcBltXMbHG0i7VlkDG7xRgpt+uNz9RVQaNbuL7msrGtlwQw
k7OmSuyrT4RqTMsEwRm5GO4GyBDrAgMBAAECgYAhBH9A4Kr/eDI1XWXi6jFwDTg2
3UEXuXAwK0+BuIJnNnkRdg6eCdWAaKAgQ9sLMHeeDVKgjiVzV8nw/eet4RyzYbwQ
8+4Ozd98NIkICIY/7UD5GCB/foUblWfoUOXK/VRCwOb/WBiOTFHXPvZdhldpysrB
eWqO3+4x1LjrLnWFoQJBANQJiYChFAmyErzoI13/TXnC6fvlAvDOGhqHvEj4Qt3G
bHYk/t/QnglruVVt1qngay9hnLmaHmJqOyKoJLDF6ScCQQDB3VN6b+E0+039TqOC
I7rE6Vku+f0KQCC80/rSl/gkSjOIAQO/m/imN9aoIUt1JDcggbHP7Y8HJ1gcgVp7
m8ydAkEAxwwU6o1L1DY4ZOG+obTStCUHphG8CvZPhuw5En8LtklY9CeSo+ShFtLr
bojn5RzpQdduWsWVFGoJDWWu28tOLQJAAz66K/19bo6aUpgjYoVIlg014fRrSOWj
5qVBuI60p57aV/d0YZuxwM6EeFH+Wlqd1Zx2Jn3afAsrjWaY5iLIfQJBAKyL5gc8
Vt5Y8irvon5JJ7+LQSkKCaHuSlD8SgfW2BywfP9Qzy9oiFlzg1Mro89t2qwSAMrt
J5CsAFwyItwrOP4=
—–END PRIVATE KEY—–

2. Certificado .CER a Formato PEM

$openssl x509 -inform DER -outform PEM -in 00001000000303759245.cer -pubkey >00001000000303759245.cer.pem

Ahora podemos obtener información del certificado.

$ openssl x509 -in 00001000000303759245.cer.pem -subject -issuer -serial -noout

IMPORTANTE: Al hacer el cambio del .key a .key.pem la llave privada esta descifrada y cualquiera la puede utilizar por lo que es importante resguardarla…

Categorías:CFD, CFDi, PHP

Termina la vigencia de los COMPROBANTES FISCALES IMPRESOS

diciembre 4, 2012 Deja un comentario

Aquí la información:

El Servicio de Administración Tributaria (SAT) recuerda que, el 31 de diciembre, termina la vigencia de los comprobantes fiscales impresos con el extinto esquema de impresores autorizados.

Para facturar electrónicamente es indispensable:

  • Contar con Firma Electrónica Avanzada (Fiel) por lo cual los contribuyentes deben acudir lo antes posible a las oficinas del SAT a obtenerla, previa cita, o renovarla por internet.
  • Acudir con cualquiera de los PAC.

También como opción, los contribuyentes con ingresos menores de 4 millones de pesos pueden expedir comprobantes fiscales impresos con código de barras, en este caso también es indispensable contar con Fiel.

Fuente: SAT

Me pongo a sus órdenes si requieren asesoría para cumplir con esta obligación y adoptar algún esquema:

  • CBB (Comprobantes Fiscales con Código de Barras Bidimensional)
  • CFDi (Comprobantes Fiscales Digitales por Internet)

Ofreciendo:

  • Análisis y diseño de soluciones informáticas para el cumplimiento de las disposiciones fiscales.
  • Análisis y desarrollo de módulos para sistemas ya implementados.
  • Sistema administrativo (a la medida) para expedición de CBB y/o  CFDi.
  • Modulo de firmado y sellado con PAC autorizado.

Preguntas interesantes:

¿Quienes pueden emitir comprobantes impresos con CBB?

Adicionalmente, los contribuyentes que en el último ejercicio fiscal declarado o por el que hubieren tenido la obligación de presentar dicha declaración que hayan consignado en la misma para efectos del ISR, ingresos acumulables iguales o inferiores a cuatro millones de pesos, así como quienes inicien actividades y estimen que obtendrán ingresos iguales o inferiores a dicha cantidad los podrán emitir sin importar el monto que amparen.

¿Si emito comprobantes impresos con CBB es necesario presentar algún reporte periódico al SAT?

No, la regla II.2.6.1.1 de la Resolución Miscelánea Fiscal para 2012 publicada el 28 de diciembre del 2011, libera a los contribuyentes que opten por emitir este tipo de comprobantes de la obligación de presentar información al SAT a que se refiere el artículo 29-B del Código Fiscal de la Federación.

¿El CBB tiene vigencia?

El CBB y la aprobación de folios tienen vigencia de dos años.

¿Quiénes deben facturar electrónicamente?

Los contribuyentes con ingresos mayores a 4 millones de pesos al año.

Fuente: SAT

Categorías:CFD, CFDi, Develop

cannot enable executable stack as shared object requires: Permission denied

octubre 18, 2012 Deja un comentario

Hace poco instale ZendServer CE  para conocer su funcionamiento todo fue perfecto hasta el momento de arrancar el servicio.

Mandaba lo siguiente:

Iniciando httpd: httpd: Syntax error on line 220 of /etc/httpd/conf/httpd.conf: Syntax error on line 6 of /etc/httpd/conf.d/zendserver_php.conf: Cannot load /usr/local/zend/lib/apache2/libphp5.so into server: /usr/local/zend/lib/apache2/libphp5.so: cannot enable executable stack as shared object requires: Permission denied       [FALLÓ]

Claro SELinux no dejaba ejecutar la librería por alguna restricción de seguridad. Lo que la mayoría de las soluciones presentadas hacen es deshabilitar esta característica de seguridad y listo…

Pero esto puede llevar a un problema mas grave de seguridad por lo que una solución mas confiable sería:

execstack -c /usr/local/zend/lib/apache2/libphp5.so

Con esto afectamos solo la librería y no todo un entorno de seguridad.

Más acerca del tema aquí.

 

Categorías:CentOS, Fedora, Gnu/Linux, SysAdmin