Factura Electronica – Como generar los reportes mensuales
Continuando con mi serie de temas de como implementar factura electrónica en México, les comento a continuación la forma en la cual podremos generar los reportes mensuales que debemos enviar al SAT para indicarle cuantos folios hemos emitido.
El codigo fuente esta demás explicarlo porque pocas veces el SAT proporciona documentación muy completa para realizar este proceso.
1. El archivo del informe mensual deberá ser creado con formato de texto simple, con extensión TXT y contener un registro por reglón.
2. Ninguno de los atributos que conforman el informe mensual deberá contener el caracter | ('pipe') debido a que este será utilizado como carácter de control en la formación del informe mensual.
3. El inicio de cada registro dentro del informe mensual se marcará mediante un caracter | ('pipe' sencillo).
4. Cada campo individual se encontrará separado de su dato subsiguiente, mediante un caracter | ('pipe' sencillo).
5. Se expresará únicamente la información del dato sin expresar el atributo al que hace referencia. Esto es, si la serie del comprobante es 'A' solo se expresará |A| y nunca |Serie A|.
6. En el caso de datos con valor Nulo serán expresados en el informe mensual mediante una cadena de caracteres || ('pipe' doble).
7. El final de cada registro dentro del informe mensual se marcará mediante un caracter | ('pipe' sencillo).
8. Para aquellos contribuyentes que cumplan con lo dispuesto en la regla I.2.5.3. de la presente Resolución Miscelánea Fiscal, y emitan comprobantes para efectos fiscales en distintos esquemas al mismo tiempo, deberán generar un archivo de informe mensual por cada tipo de esquema de comprobación que utilicen.
9. El nombre del archivo del informe mensual se compone de:
a. número del esquema:
1 para Facturas Electrónicas.
2 para Comprobantes solicitados por medio de un establecimiento autorizado.
b. RFC del emisor.
XXXX010101000
c. Mes y Año a ser reportado.
mmyyyy
Si tuvieras alguna duda puedes realizarla en los comentarios de este tema y te respondere a la brevedad posible.
Tutorial Programar Aplicaciones para el iOS (iPhone OS)
En HelloWorldiPhone nos proveen un excelente tutorial a modo de blog para aprender a programar una aplicación para el iOS y lo mejor de todo, es que esta en español
Si quieres aprender a programar HelloWorldiPhone debe estar en tus favoritos y en todos tus lectores de RSS
Como convertir XML a XSD y despues a HTML para la Factura Electronica
Continuando con mis consejos para generar la Factura Electrónica en México con PHP. Si quieres consultar otros temas te invito a visitar:
Como se obtiene el Sello digital
Tips Para implementar Factura Electrónica
Quiero explicarles el método más fácil y sencillo para convertir el XML En un formato válido para el SAT, usando el XSD que al final puedas generar tu HTML.
Lo unico que necesitas es obtener del SAT los archivos XSLT para verificar la secuencia de la cadena original con tu CFD.
Descarga cadenaoriginal_2_0.xslt (si te pide usuario y/o contraseña, intenta descargarlo con IE)
Con ese archivo obtienes tu Sello Digital ejecutando el comando:
xsltpoc template_cadena_original_2_sat.xsl tu_archivo_xml.xml openssl dgst md5 -sign llave_privada.key.pem | openssl enc base64 -A
Después con tu XML que generaste, solo ocupas procesar éste comando para realizar la conversión:
xsltproc cadena_original_SAT.xml TU_Archivo.xml > ARCHIVO_SALIDA.html
CONSEJO IMPORTANTE...
cuando generes tu template XLS para convertir a HTML válida que tus estilos y tu código HTML no contenga ningún error de programación, de lo contrario, el archivo que se te generará será vacío.
Cualquier duda en los comentarios, consultando todos mis temas que tengo de factura electrónica o si necesitas asesoria un poco más personalizada puedes usar el formulario de contacto, mandarme tus dudas y para ayudarte a implementar está solución.
Como se obtiene el sello digital – Factura electronica
Continuando con mi experiencia con la implementación de la facturación electrónica y basandome en los manuales que encontre y complementandolos quiero comentarles el método adecuado para generar el Sello digital para incrustarselo en el XML que se enviara al SAT.
En el tan afamado Anexo 20 de la Resolución Miscelánea Fiscal para 2009 en resumen dice que para obtener el sello digital solo necesitamos calcular el MD5 de la cadena Original y después con nuestra llave privada (terminación .key.pem) le pasamos una encriptacion con RSA y el resultado de esto lo encriptamos en Base64 y listo tenemos nuestro sello digital y el comando es:
openssl dgst sign [URL_DE_LLAVE_PRIVADA] [URL_ARCHIVO_CADENA_MD5_DE_CADENA_ORIGINAL] | openssl enc -base64 -A [URL_ARCHIVO_SALIDA_PARA_SELLO_DIGITAL]
Solamente necesitas reemplazar las variables que estan entre [] por tus datos y listo fácil y rápido obtendrás tu sello digital
No olvides visitar algunos tips para implementar factura electronica
ACTUALIZACION:
He encontrado otro metodo para generar el sello digital, cadena original y el MD5 de esta... Este método me funciono y es más rápido de implementar... cabe mencionar que esto funciona con PHP
xsltproc archivo_base_convertir_xsd.xsl archivo_xml.xml openssl dgst -md5 sign llave_privada.key.pem | openssl enc base64 -A
Cualquier duda en los comentarios, consultando todos mis temas que tengo de factura electrónica o si necesitas asesoria un poco más personalizada puedes usar el formulario de contacto, mandarme tus dudas y para ayudarte a implementar está solución.
Tips para implementar facturacion electronica
El Sistema de Administración Tributaria en México establecio que para el 2011 todos los contribuyentes deberan entregar certificados Firmados Digitalmente o lo que es lo mismo la facturación electrónica.
A continuación y durante varios días estare listando algunos tips que te podrán ayudar si deseas implementarlo pro tu propia cuenta, puedas hacerlo de forma correcta... cabe destacar que en Internet hay diversas fuentes y 2 de ellas son las siguientes:
Foros del Web - facturacion electronica en México
Comprobantes Fiscales Digitales
Para implementar los CFD necesitamos generar con un programa llamada SOLCEDI nuestras llaves con terminación .key y un .cer y para generar el sello debemos que encriptarlos con OpenSSL y los comandos correctos para obtenerlos son:
Para crear llave publica
C:\Program Files\GnuWin32\bin>openssl.exe pkcs8 -inform DER -in C:\aaa010101aaa_CSD_01.key -passin pass:a0123456789 -out C:\aaa010101aaa_CSD_01.key.pemPara crear llave privada
C:\Program Files\GnuWin32\bin>openssl.exe x509 -inform DER -outform PEM -in C:\aaa010101aaa_CSD_01.cer -pubkey -out C\aaa010101aaa_CSD_01.cer.pem
Es de destacar que estoy mostrando los ejemplos que el mismo sat provee y que cuando compiles con OpenSSL la dirección de tus archivos debe ser la absoluta.
Cualquier duda en los comentarios, consultando todos mis temas que tengo de factura electrónica o si necesitas asesoria un poco más personalizada puedes usar el formulario de contacto, mandarme tus dudas y para ayudarte a implementar está solución.
Fatal Error al actualizar a WordPress 3.0
Si has actualizado a WordPress 3.0 y en el home de tu wp-admin te muestra un error parecido a esto:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 122880 bytes) in /home/nombre_usuario/public_html/wp-includes/registration.php on line 207
Lo unico que debes hacer es editar el archivo que esta en
wp-includes/default-constants.php
Y cambiar el tamaño del límite de memoria de 32M a 64M. Para que quede de la siguiente forma:
// set memory limits
if ( !defined('WP_MEMORY_LIMIT') ) {
if( is_multisite() ) {
define('WP_MEMORY_LIMIT', '64M');
} else {
define('WP_MEMORY_LIMIT', '64M');
}
}
Metodos agregar mi pagina a buscadores
Para enviar la URL de tu página Web a los buscadores más importantes puede ser una tarea un poco laboriosa, pero necesaria para todos los que estén iniciando un nuevo proyecto en Internet y desean tener más visitas en su sitio.
enviar url a buscadores
- Enviar tu página Web a Google (de preferencia debes contar con una cuenta en gmail)
- Enviar tu página web a Yahoo (requiere que tengas correo de yahoo)
- Enviar tu página Web a BING
- Enviar URL a ASK (utilizando sitemaps), solo copia ésta dirección y reemplaza lo que esta en negritas por el nombre de tu página Web: http://submissions.ask.com/ping?sitemap=http://url-de-mi-pagina-web/sitemap.xml
Espero les sirva...
Comprimir codigo Javascript y CSS
YUI Compressor es una herramienta creada por Yahoo dirigida a optimizar el tiempo de carga de una página web. Lo que hace es eliminar comentarios, espacios en blanco y renombra variables para reducir el código y el peso del archivo.
Esta aplicación la podemos usar tanto en linea de comandos como online para comprimir nuestros ficheros. Para usarlo en linea de comandos solo debemos ejecutar:
java -jar yuicompressor-x.y.z.jar myfile.js -o myfile-min.js
donde x.y.z es la versión de YUI compressor
Para más información puedes entrar al Yahoo Developer NEtwork
10 pasos para crear mi empresa
La gran ventaja hoy en día es que iniciar un negocio web no cuesta más de lo que cuesta un negocio convencional fuera de Internet. Tú puedes iniciar tu propio negocio web invirtiendo apenas entre 200 y 800 dólares, eso si estás dispuesto a hacer gran parte del trabajo tu mismo.
Hoy quiero responderte la pregunta:
¿Qué pasos básicos necesito hacer para crear mi propio negocio en Internet?
Puedes comprar muchos libros y pagar cientos de dólares a expertos y consultores para que te den una respuesta a esta pregunta. Pero hoy quiero responderte, dándote estos 10 pasos que te guiarán en la creación de tu propio negocio web.
Paso 1 - Indispensable. Compra tu propio nombre de dominio en Internet (Tu propio .com,.net,.info).
Tu dominio es por el cual tus clientes potenciales vendrán a ti, y te identificarán. Si no tienes un nombre de dominio propio, será muy difícil que las visitas y potenciales clientes que entren a tu sitio web te tomen en serio en tu negocio web, y es poco probable que lleguen a comprarte algo .
Tu nombre de dominio tiene que ser fácil de recordar y debe ser un nombre congruente con tu giro de negocio. No sería lógico que tu sitio se llamara www.perrosygatosonline.com y cuando entraran las personas a tu sitio encuentren que vendes productos de belleza o de nutrición.
También es vital que tu dominio esté alojado en un buen Hosting, que te brinde todo lo necesario para que tu negocio web este siempre en línea. El hosting básicamente, es el lugar de almacenamiento de todos los archivos, correos, páginas y datos que usarás para tu nombre de dominio o sitio.
Paso 2 - Muy importante. Escribe tus metas o lo que quieres lograr con tu negocio web y prepara un presupuesto de tiempo, dinero y esfuerzo.
Hazte las preguntas siguientes:
- ¿A que mercado quieres llegar?
- ¿Quién será tu público objetivo?
- ¿Qué tan rápido quieres que tu negocio web este funcionando en línea?
- ¿Cuánto dinero estás dispuesto a invertir en tu preparación y en tu negocio web?
- ¿Cuánto tiempo dedicarás a la creación de tu negocio web y cuándo empezarás?
La respuesta a estas preguntas te dará la pauta para el éxito en tu negocio web.
Claro está que entre más rápido inicies, más rápido estarás haciendo negocios en línea. Pero es importante que lo hagas con calma y paciencia, porque las cosas aprisa muchas veces salen mal. Planea tu negocio web, de tal manera que logres tus metas y el éxito esperado.
Algo muy importante que tienes que considerar es, no tratar de vender todo tipo de cosas a todo el mundo en tu sitio web, porque esto no funciona.
Necesitas enfocarte en un mercado específico, y de esta manera tendrás muy buenos resultados.
Paso 3 - Busca en Internet otros sitios y negocios web como el que quieres crear.
Aprende de ellos, de los éxitos y errores de otros, tomando lo mejor de ellos, observa lo que estos sitios ofrecen y adáptalo para tu propio uso en tu futuro sitio y negocio web.
Una de las cosas más importantes en Internet y fuera de Internet, es precisamente aprender de las experiencias de otros. Esto te evitará muchos errores y fracasos, y llegarás más rápido a tus metas.
Paso 4 - Crea y Diseña tu sitio primero en papel.
Define lo que incluirás, los elementos que pondrás, el estilo que le darás y los colores, la información que ofrecerás de inicio, en otras palabras, construye la Carta de ventas que presentarás a tus visitas.
Es muy importante que definas las palabras que tu sitio web tendrá, el aspecto y la imagen que darás a tus visitantes. Averigua qué elementos es lo mejor poner en tu sitio web, y que no poner, que palabras usar y cuales no usar, todo esto es para lograr el objetivo de tu sitio web comercial, que es vender.
Te voy revelar un secreto: Lo que hará que tu sitio web venda tus productos y servicios, No es el diseño en sí, ni las imágenes y gráficos, claro que estos son importantes para dar una excelente imagen profesional al visitante de tu sitio, pero lo que hará verdaderamente que vendas tus productos o servicios, son las palabras y los argumentos de tu sitio web, tu Carta de Ventas.
Paso 5 - Busca o contrata a un profesional para crear los gráficos de tu sitio, los logos, la forma y estructura de tu sitio, etc.
Si lo deseas puedes pagarle a un profesional de diseño o puedes aprender tu mismo algún programa de diseño gráfico, lo cual te llevara tiempo, o si prefieres, puedes comprar en Internet templates web o paquetes de sitios web ya hechos, con gráficos e imágenes incluidos, donde solo le agregas o sustituyes tus datos y tu información y listo.
Ten presente que entre más original sea tu sitio mucho mejor. Puede haber sitios similares, pero no exactamente iguales. Esto es clave para diferenciarte de los demás.
Paso 6 - Invierte en un Software de creación de páginas web, para mantener siempre actualizado tu sitio.
En la red hay infinidad de Software para diseñar y crear tu sitio web.
Siempre procura tener el Software necesario para ello. El Software que elijas dependerá si tienes conocimientos de programación web o no.
Si no sabes programar, en la red hay Software que te ayuda a crear tus sitios web sin que necesites saber nada de programación. Pero también hay para los más expertos en programación. Busca el que más se adapte a tus gustos y necesidades.
Paso 7 - Promociona tu sitio en todos lados y por todos los medios posibles.
Haz promoción de tu sitio en Internet y fuera de Internet. Pon tu sitio en tus tarjetas de presentación, en la firma de tu email, en los motores de búsqueda y directorios, en banners, promociona tu negocio web en las listas seguras, en foros de discusión, con tus conocidos y aliados, etc.
En Internet hay miles de lugares donde puedes promocionar tu sitio. Pero ten en cuenta que si promocionas tu sitio a un público objetivo e interesado ya previamente en productos o servicios como el tuyo, entonces tendrás mayores
resultados que si lo haces a un público no objetivo.
Paso 8 - A todas las personas dales un motivo de volver a tu sitio.
Puedes ofrecer descuentos, bonos especiales, premios, información gratuita, etc. Ofrecer un Boletín Electrónico gratuito es una de las mejores maneras de atraer y retener a los visitantes de tu sitio.
Paso 9 - Diseña tu sitio de tal manera que los visitantes te den alguna información incluyendo el correo electrónico.
De esta forma podrás estar en contacto constante con tus potenciales clientes y lograr ventas continuas.
Envía periódicamente emails o boletines con información útil y valiosa, que brinden un valor agregado a tus potenciales clientes. Utiliza un gestor de boletines o administrador de listas para organizar y mantener tu lista de correo.
Paso 10 - Trata siempre de usar la solución o la opción más sencilla.
Si implementas en tu sitio un carrito de compras, un sistema de pagos online, bases de datos, boletines, autoresponders, u otras opciones en tu operación de comercio electrónico, busca siempre las soluciones más sencillas para tus necesidades.
Lo más importante es que nunca debes olvidar que siempre habrá alguien dispuesto a ayudarte a hacer crecer tu negocio:
- Si requieres asesoria en ventas, puedes entrar a ventasypnl.com para recibir consultoria y soporte para aprender a vender mejor y más rápido
- Si necesitas contratar un servicio de almacenamiento Web y dominios a muy bajo costo. Soluciones IM es la solución que buscas, porque también te ofrece consultoria y soporte para la creación de tu propio sitio Web y posicionarte en la red.
- Y si ocupas un programador PHP puedes conocer mi portafolio y con mucho gusto te ayudaré
Controlador de versiones para PHP (SVN)
Eres programador y alguna vez has trabajado con otras personas en un proyecto sabrás y me entenderás lo frustrante que puede llegar a ser el constante de intercambio de archivos. Algunos lo hacen por correo electrónico, otros los reemplazan directamente en en el servidor de producción, otros lo trabajan en local y al final reemplazan todos los archivos y al final se puede convertir en un gran dolor de cabeza. Así que para evitar eso los sistemas controladores de versiones son una excelente herramienta.
El beneficio de utilizar un software de este tipo es que un número ilimitado de personas pueden trabajar en un mismo proyecto, evitando el problema de que alguien trabajo con la versión anterior y que se perdio el cambio que X persona realizo y también de que digan que si hicieron el trabajo y les borraron el contenido.
Si quieres saber más que es un SVN no olvides visitar este articulo.
Asi que si andas buscando un sistema de control de versiones, mis recomendaciones son TortoiseCVS y TortoiseSVN
En otro tema les platicare los beneficios de usar TortoiseCVS y SVN
Restaurar configuracion barra de direcciones de firefox
Si por alguna razón estan configurado una DynDNS en su equipo y al entrar al firefox se dan cuenta que la barra de direcciones no funciona como debe de ser (que al escribir algo en ella automaticamente usara el 'voy a tener suerte' de google) y nos lleva al buscador de DynDNS...
La solución es la siguiente,
1.- Entrar al DynDNS Updater,
2.- dar clic en Advance
3.- quitar el checkado en donde dice: "Enable DynDNS.com Internet guide on this PC"
Después verificamos la configuración del firefox.
1.- en la barra de direcciones escribimos about:config
2.- buscamos la clave: keyword.URL
3.- y le pones el siguiente texto:
http://www.google.com/search?btnI=I%27m+Feeling+Lucky&ie=UTF-8&oe=UTF-8&q=
y listo el 'voy a tener suerte' de google habrá vuelto a funcionar normalmente
Paginado Sencillo en PHP
Supongamos que tenemos un array con la siguiente estructura,
$a_emp = array (1=>14, 2=>34, 3=>1, 4=>0,5=>19);
Entonces para paginar el array solo hacemos lo siguiente:
if (count($a_emp) > 0)
{
$num_ele = count($a_emp);
$paginas = ($num_ele / #num_elementos_a_mostrar_por_pagina);$paginas = ceil($paginas)
$num = ((#pagina_posicion * 3)-1);
$ini = ($num - 2);
for($a=$ini; $a<=$num; $a++)
{
echo $a_emp[$a];
}
Es un script muy básico pero muy funcional, que acabo de hacer para un proyectito que estoy trabajando.
Cualquier duda en los comments
Personalizando mis temas de jquery en mi propio sitio web
Son desarrolladores?, usan JQuery para sus aplicaciones?, se apoyan de los themes que nos proporciona esta herramienta? entonces este tema es para ti!!!
Casi siempre cuando estoy personalizando un tema en la página de Jquery themeroller me habia preguntado si nos proporcionaba alguna herramienta para personalizarlo desde nuestro sitio Web. Y que creen, si existe!!. Solamente añadan a sus favoritos la siguiente liga:
javascript:(function(){if%20(!/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){alert('Sorry,%20due%20to%20security%20restrictions,%20this%20tool%20only%20works%20in%20Firefox');%20return%20false;%20};%20if(window.jquitr){%20jquitr.addThemeRoller();%20}%20else{%20jquitr%20=%20{};%20jquitr.s%20=%20document.createElement('script');%20jquitr.s.src%20=%20'http://jqueryui.com/themeroller/developertool/developertool.js.php';%20document.getElementsByTagName('head')[0].appendChild(jquitr.s);}%20})();
y listo, podrán personalizar su tema en su sitio Web tal, de la misma forma que lo harian en el web de jquery




