viernes, 16 de noviembre de 2018

Cancelacion cfdi SAT 2018 Cancelación Con Aceptación o Rechazo

Cancelación Con Aceptación o Rechazo

Nuestra recomendación para facilitar el flujo en sus procesos es consultar previo y/o posterior a la cancelación del documento el estatus del CFDI a través del servicio del SAT. De esta manera determinaran que flujo de cancelación seguir y podrán saber si el documento efectivamente ha sido cancelado para marcarlo en sus sistemas como “Cancelado”.
La cancelación con aceptación ocurre cuando se emite un CFDI mayor a 5000 pesos y esta se encuentra vigente después de las primeras 72 horas a la fecha de emisión de la factura en este caso interviene el receptor y se cancela con su autorización.

  1. Crear un CFDI con un monto mayor a $5,000 pesos
  2. Timbrar el CFDI
  3. Consumir el Servicio de consulta por parte del SAT para validar el estatus de la factura
    • Estatus: Vigente
    • Estatus Cancelación: (Vacío)
    • Es Cancelable: Cancelable con Aceptación
  4. Solicitar cancelación posterior a las 72 horas a partir de la fecha de emisión
  5. Consumir el Servicio de consulta por parte del SAT para validar el estatus de la factura
    • Estatus: Vigente
    • Estatus Cancelación: En Proceso
    • Es Cancelable: Cancelable con Aceptación
  6. Mediante el Sistema Tributario el RFC receptor será notificado y tendrá hasta 72 horas para aprobar o rechazar la solicitud de cancelación
  7. Como emisor será necesario que este monitoreando el estatus de la factura en los ambientes de consulta del SAT para revisar cuando la factura ya se encuentre aceptada y cancelada
    • El emisor debera consultar el estatus de la factura hasta que esta haya sido aceptada / rechazada por el receptor
    • El Receptor dispone de un servicio en el cual puede aceptar o rechazar las solicitudes de cancelación
  8. La factura ya se encontrara cancelada
    • Estatus: Cancelado
    • Estatus Cancelación: Cancelado con Aceptación
    • Es Cancelable: Cancelable con Aceptación
IMPORTANTE:

Nuestra recomendación para facilitar el flujo en sus procesos es consultar previo y/o posterior a la cancelación del documento el estatus del CFDI a través del servicio del SAT. De esta manera determinaran que flujo de cancelación seguir y podrán saber si el documento efectivamente ha sido cancelado para marcarlo en sus sistemas como “Cancelado”.


Mas informacion de cancelacion cfdi y ejemplos en http://multifacturas.com

Web Service Cancelación cfdi 2018 Nuevo Metodo

Dirección del Web Service Cancelación 2018



La URL del Web service es la siguiente:
Cuentas con 10 direcciones web para asegurar redundancia en tus peticiones hacia el web serivce


Este web service te permite cancelar, consultar, aceptar y rechazar una cancelación de un CFDI

Funciones del web service

Metodo: cancelarCFDI

Descripción: Cancelar un cfdi por medio de su UUID
Parámetros de entrada : arreglo de datos con la información del cfdi a cancelar
Respuesta: arreglo de datos con la respuesta del pac


Ejemplo cancelar cfdi en php
require_once('nusoap/nusoap.php');
//CONFIGURACION DEL WEB SERVICE
$url_webservice="http://pac1.facturacionmexico.com.mx/cancelacion2018/?wsdl";
$SOAP_CLIENT=$url_webservice;
$soapclient = new nusoap_client($SOAP_CLIENT,$esWSDL = true);

//PARAMETROS DE ENTRADA AL METODO cancelarCfdi
$datos['PAC']['usuario'] = "DEMO700101XXX";
$datos['PAC']['pass'] = "DEMO700101XXX";
$datos['accion']="cancelar";                                                  
$datos["produccion"]="NO";
$datos["uuid"]="787f811a-4f0b-4a2a-8c79-621e51a66377";
$datos["rfc"] ="LAN7008173R5";
$datos["password"]="12345678a";
$datos["b64Cer"]=base64_encode(file_get_contents("Certificados/lan7008173r5.cer"));
$datos["b64Key"]=base64_encode(file_get_contents("Certificados/lan7008173r5.key"));


//LLAMANDO AL METODO cancelar DEL WEB SERVICE
$parametros_funcion = array('datos' => $datos);
$respuesta_webservice = $soapclient->call('cancelarCfdi', $parametros_funcion);
//RESPUESTA DEL METODO cancelarCFDI
echo "<pre>";
print_r($respuesta_webservice);
echo "</pre>";

Metodo: aceptarCancelarCFDI

Descripción: Acepta la cancelacion de un cfdi por medio de su UUID
Parámetros de entrada : arreglo de datos con la información del cfdi a cancelar
Respuesta: arreglo de datos con la respuesta del pac


Ejemplo php para aceptar cancelacion


require_once('nusoap/nusoap.php');
//CONFIGURACION DEL WEB SERVICE
$url_webservice="http://pac1.facturacionmexico.com.mx/cancelacion2018/?wsdl";
$SOAP_CLIENT=$url_webservice;
$soapclient = new nusoap_client($SOAP_CLIENT,$esWSDL = true);


//PARAMETROS DE ENTRADA AL METODO
$datos['PAC']['usuario'] = "DEMO700101XXX";
$datos['PAC']['pass'] = "DEMO700101XXX";
$datos['accion']="aceptar";//TAMBIEN SE PUEDE ENVIAR 'RECHAZAR'                                                    
$datos["produccion"]="NO";                              
$datos["rfc"] ="LAN7008173R5";
$datos["password"]="12345678a";
$datos["uuid"]="25d57a90-77cc-4fe2-acf6-67a3c2f2508d";
$datos["b64Cer"]=base64_encode(file_get_contents("Certificados/lan7008173r5.cer"));
$datos["b64Key"]=base64_encode(file_get_contents("Certificados/lan7008173r5.key"));
//LLAMANDO AL METODO aceptarCancelarCfdi DEL WEB SERVICE
$parametros_funcion = array('datos' => $datos);
$respuesta_webservice = $soapclient->call('aceptarCancelarCfdi', $parametros_funcion);
//RESPUESTA DEL METODO ACEPTAR CANCELACION
echo "<pre>";
print_r($respuesta_webservice);
echo "</pre>";



Metodo: rechazarCancelarCFDI
Descripción: Rechaza la cancelación de un cfdi por medio de su UUID
Parámetros de entrada : arreglo de datos con la información del cfdi a cancelar
Respuesta: arreglo de datos con la respuesta del pac


Ejemplo php para rechazar cancelacion


require_once('nusoap/nusoap.php');
//CONFIGURACION DEL WEB SERVICE
$url_webservice="http://pac1.facturacionmexico.com.mx/cancelacion2018/?wsdl";
$SOAP_CLIENT=$url_webservice;
$soapclient = new nusoap_client($SOAP_CLIENT,$esWSDL = true);


//PARAMETROS DE ENTRADA AL METODO
$datos['PAC']['usuario'] = "DEMO700101XXX";
$datos['PAC']['pass'] = "DEMO700101XXX";
$datos['accion']="rechazar";//TAMBIEN SE PUEDE ENVIAR 'RECHAZAR'                                                    
$datos["produccion"]="NO";                              
$datos["rfc"] ="LAN7008173R5";
$datos["password"]="12345678a";
$datos["uuid"]="25d57a90-77cc-4fe2-acf6-67a3c2f2508d";
$datos["b64Cer"]=base64_encode(file_get_contents("Certificados/lan7008173r5.cer"));
$datos["b64Key"]=base64_encode(file_get_contents("Certificados/lan7008173r5.key"));
//LLAMANDO AL METODO aceptarCancelarCfdi DEL WEB SERVICE
$parametros_funcion = array('datos' => $datos);
$respuesta_webservice = $soapclient->call('rechazarCancelarCfdi', $parametros_funcion);
//RESPUESTA METODO RECHAZAR CANCELACION
echo "<pre>";
print_r($respuesta_webservice);
echo "</pre>";



Metodo: consultarCancelarCFDI
Descripción:Servicio para consulta de solicitudes de facturas pendientes de aceptacion / rechazo para cancelación
Parámetros de entrada : arreglo de datos con la información del cfdi a cancelar
Respuesta: arreglo de datos con la respuesta del pac


Ejemplo php para consultar cancelacion


require_once('nusoap/nusoap.php');
//CONFIGURACION DEL WEB SERVICE
$url_webservice="http://pac1.facturacionmexico.com.mx/cancelacion2018/?wsdl";
$SOAP_CLIENT=$url_webservice;
$soapclient = new nusoap_client($SOAP_CLIENT,$esWSDL = true);

//PARAMETROS DE ENTRADA AL METODO
$datos['PAC']['usuario'] = "DEMO700101XXX";
$datos['PAC']['pass'] = "DEMO700101XXX";
$datos['accion']="consultar";   
$datos["produccion"]="NO";                              
$datos["rfc"] ="LAN7008173R5";
//LLAMANDO AL METODO cancelar DEL WEB SERVICE
$parametros_funcion = array('datos' => $datos);
$respuesta_webservice = $soapclient->call('consultarCancelarCfdi', $parametros_funcion);
echo "<pre>";
print_r($respuesta_webservice);

echo "</pre>";

Cancelacion cfdi SAT 2018 - Como cancelar Receptor “NUEVO METODO DE CANCELACION”

Como cancelar Receptor “NUEVO METODO DE CANCELACION”

Con la entrada del nuevo esquema de cancelación este 1° de Noviembre, aquí te explicamos el flujo de trabajo para los nuevos servicios de cancelación, visto desde el lado receptor.

IMPORTANTE
Nuestra recomendación para facilitar el flujo en sus procesos es consultar diariamente las facturas que tiene pendientes por Aceptar/Rechazar. Posterior a la consulta hacer las acciones que usted considere y enviar la solicitud para Aceptarlas/Rechazarlas.

Servicios disponibles en Multifacturas para la cancelación Receptor


Servicio de Consulta Solicitudes Pendientes

Para realizar la consulta puedes hacerlo por dos métodos distintos:
  • Por web service, llamando al metodo consultarCancelarCFDI
  • Por medio del nuevo módulo de cancelacion del kit de desarrollo cfdi

La consulta nos regresara una lista de los UUID pendientes de aceptar o rechazar

Servicio de Aceptación / Rechazo de UUID’s

A través de este servicio podremos realizar la Aceptación/Rechazo de los UUID’s. Para realizar la consulta puedes hacerlo por dos métodos distintos:
  • Por web service, llamando al metodo aceptarCancelarCFDI y rechazarCancelarCFDI
  • Por medio del nuevo módulo de cancelacion del kit de desarrollo cfdi
Mas informacion y ejemplos en http://multifacturas.com



jueves, 15 de noviembre de 2018

Cancelacion cfdi SAT 2018 Cancelación Directa



La cancelación directa ocurre cuando se emite un CFDI y esta se encuentra dentro de las primeras 72 horas posterior a la fecha de emisión de la factura en este caso no interviene el receptor y se cancela directamente sin importar el monto de la factura.

  1. Crear un CFDI
  2. Timbrar el CFDI
  3. Consumir el Servicio de consulta por parte del SAT para validar el estatus de la factura
    • Estatus: Vigente
    • Estatus Cancelación: (Vacío)
    • Es Cancelable: Cancelable con Aceptacion
  4. Solicitar cancelación dentro de las 72 horas a partir de la fecha de emisión
  5. Consumir el Servicio de consulta por parte del SAT para validar el estatus de la factura
    • Estatus: Cancelada
    • Estatus Cancelación: Cancelada Sin Aceptación
    • Es Cancelable: Cancelable Sin Aceptación
  1. 6.-Documento cfdi cancelado




IMPORTANTE:

Nuestra recomendación para facilitar el flujo en sus procesos es consultar previo y/o posterior a la cancelación del documento el estatus del CFDI a través del servicio del SAT. De esta manera determinaran que flujo de cancelación seguir y podrán saber si el documento efectivamente ha sido cancelado para marcarlo en sus sistemas como “Cancelado”.



Mas informacion de cancelacion cfdi y ejemplos en http://multifacturas.com

miércoles, 14 de noviembre de 2018

Ejemplo cancelar factura cfdi en php Cancelacion 2018 SAT

Ejemplo cancelar factura cfdi con el nuevo metodo de cancelacion 2018 en php

Puedes ver la teoria introductoria de como cancelar facturas cfdi con el nuevo metodo de cancelacion cfdi sat 2018 en este enlace Como Cancelar una factura cfdi EL Emisor


Para descargar el módulo de cancelación 2018

Descarga el zip desde la página http://multifacturas.com

NUEVO METODO CANCELACION EN PHP APARTIR DEL 1 DE NOVIEMBRE 2018

En el nuevo metodo de cancelacion cambian algunas lineas de código en el archivo php verificar por favor


Nombre del archivo php ejemplo_cancelar.php


$datos['PAC']['usuario'] = USUARIO RFC EN PANEL MULTIFACTURAS;
$datos['PAC']['pass'] =  CONTRASEÑA RFC EN PANEL MULTIFACTURAS;
$datos['modulo']="cancelacion2018";
$datos['accion']="cancelar";                                                  
$datos["produccion"]=MODO DE PRUEBA O PRODUCCION //   [SI|NO]
$datos["xml"]=RUTA XML A CANCELAR;
//$datos["uuid"]=UUDI DEL XML A CANCELAR;
$datos["rfc"] =RFC EMISOR DE LA FACTURA;
$datos["password"]=CONTRASEÑA DEL CSD;
$datos["b64Cer"]=RUTA ARCHIVO .CER DEL CSD EN BASE 64;
$datos["b64Key"]= RUTA ARCHIVO .KEY DEL CSD EN BASE 64;

$res = mf_ejecuta_modulo($datos);    //FUNCION QUE EJECUTA EL NUEVO MODULO DE CANCELACION

RESPUESTA CANCELACION CFDI 2018 SAT CON PHP

EJEMPLO DE RESPUESTA EN PHP

Array
(
   [codigo_mf_numero] => 0
   [codigo_mf_texto] => OK
   [mensaje_original] => {"data":{"acuse":"<?xml version=\"1.0\" encoding=\"utf-8\"?><Acuse xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Fecha=\"2018-11-08T12:52:41.2777841\" RfcEmisor=\"LAN7008173R5\"><Folios xmlns=\"http://cancelacfd.sat.gob.mx\"><UUID>61B06900-F440-4CBD-BBAA-433BD065AB83</UUID><EstatusUUID>201</EstatusUUID></Folios><Signature Id=\"SelloSAT\" xmlns=\"http://www.w3.org/2000/09/xmldsig#\"><SignedInfo><CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\" /><SignatureMethod Algorithm=\"http://www.w3.org/2001/04/xmldsig-more#hmac-sha512\" /><Reference URI=\"\"><Transforms><Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\"><XPath>not(ancestor-or-self::*[local-name()='Signature'])</XPath></Transform></Transforms><DigestMethod Algorithm=\"http://www.w3.org/2001/04/xmlenc#sha512\" /><DigestValue>jJNBIDOwZXdTE1Mj8rpL0PVNAPfMcE8AwF8d7hUdFZn7rQJ4kFGMsopmpQeLj25t9LMNJ8KDHm7/NJlTrdSmoQ==</DigestValue></Reference></SignedInfo><SignatureValue>ewYcey6iGD3Hv5QL7ulkEEGpML6Hk5V+dJncn9b2zCLlIOKkBxURsS6CvoG9tIXa2yefCpBfa6UjXGbCPgVDmA==</SignatureValue><KeyInfo><KeyName>00001088888810000001</KeyName><KeyValue><RSAKeyValue><Modulus>vAr6QLmcvW6auTg7a+Ogm0veNvqJ30rD3j0iSAHxGzGVrg1d0xl0Fj5l+JX9EivD+qhkSY7pfLnJoObLpQ3GGZZOOihJVS2tbJDmnn9TW8fKUOVg+jGhcnpCHaUPq/Poj8I2OVb3g7hiaREORm6tLtzOIjkOv9INXxIpRMx54cw46D5F1+0M7ECEVO8Jg+3yoI6OvDNBH+jABsj7SutmSnL1Tov/omIlSWausdbXqykcl10BLu2XiQAc6KLnl0+Ntzxoxk+dPUSdRyR7f3Vls6yUlK/+C/4FacbR+fszT0XIaJNWkHaTOoqz76Ax9XgTv9UuT67j7rdTVzTvAN363w==</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue></KeyInfo></Signature></Acuse>","uuid":{"61B06900-F440-4CBD-BBAA-433BD065AB83":"201"}},"status":"success"}
   [acuse] => PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48QWN1c2UgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgRmVjaGE9IjIwMTgtMTEtMDhUMTI6NTI6NDEuMjc3Nzg0MSIgUmZjRW1pc29yPSJMQU43MDA4MTczUjUiPjxGb2xpb3MgeG1sbnM9Imh0dHA6Ly9jYW5jZWxhY2ZkLnNhdC5nb2IubXgiPjxVVUlEPjYxQjA2OTAwLUY0NDAtNENCRC1CQkFBLTQzM0JEMDY1QUI4MzwvVVVJRD48RXN0YXR1c1VVSUQ+MjAxPC9Fc3RhdHVzVVVJRD48L0ZvbGlvcz48U2lnbmF0dXJlIElkPSJTZWxsb1NBVCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiPjxTaWduZWRJbmZvPjxDYW5vbmljYWxpemF0aW9uTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMteG1sLWMxNG4tMjAwMTAzMTUiIC8+PFNpZ25hdHVyZU1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZHNpZy1tb3JlI2htYWMtc2hhNTEyIiAvPjxSZWZlcmVuY2UgVVJJPSIiPjxUcmFuc2Zvcm1zPjxUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy9UUi8xOTk5L1JFQy14cGF0aC0xOTk5MTExNiI+PFhQYXRoPm5vdChhbmNlc3Rvci1vci1zZWxmOjoqW2xvY2FsLW5hbWUoKT0nU2lnbmF0dXJlJ10pPC9YUGF0aD48L1RyYW5zZm9ybT48L1RyYW5zZm9ybXM+PERpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jI3NoYTUxMiIgLz48RGlnZXN0VmFsdWU+akpOQklET3daWGRURTFNajhycEwwUFZOQVBmTWNFOEF3RjhkN2hVZEZabjdyUUo0a0ZHTXNvcG1wUWVMajI1dDlMTU5KOEtESG03L05KbFRyZFNtb1E9PTwvRGlnZXN0VmFsdWU+PC9SZWZlcmVuY2U+PC9TaWduZWRJbmZvPjxTaWduYXR1cmVWYWx1ZT5ld1ljZXk2aUdEM0h2NVFMN3Vsa0VFR3BNTDZIazVWK2RKbmNuOWIyekNMbElPS2tCeFVSc1M2Q3ZvRzl0SVhhMnllZkNwQmZhNlVqWEdiQ1BnVkRtQT09PC9TaWduYXR1cmVWYWx1ZT48S2V5SW5mbz48S2V5TmFtZT4wMDAwMTA4ODg4ODgxMDAwMDAwMTwvS2V5TmFtZT48S2V5VmFsdWU+PFJTQUtleVZhbHVlPjxNb2R1bHVzPnZBcjZRTG1jdlc2YXVUZzdhK09nbTB2ZU52cUozMHJEM2owaVNBSHhHekdWcmcxZDB4bDBGajVsK0pYOUVpdkQrcWhrU1k3cGZMbkpvT2JMcFEzR0daWk9PaWhKVlMydGJKRG1ubjlUVzhmS1VPVmcrakdoY25wQ0hhVVBxL1BvajhJMk9WYjNnN2hpYVJFT1JtNnRMdHpPSWprT3Y5SU5YeElwUk14NTRjdzQ2RDVGMSswTTdFQ0VWTzhKZyszeW9JNk92RE5CSCtqQUJzajdTdXRtU25MMVRvdi9vbUlsU1dhdXNkYlhxeWtjbDEwQkx1MlhpUUFjNktMbmwwK050enhveGsrZFBVU2RSeVI3ZjNWbHM2eVVsSy8rQy80RmFjYlIrZnN6VDBYSWFKTldrSGFUT29xejc2QXg5WGdUdjlVdVQ2N2o3cmRUVnpUdkFOMzYzdz09PC9Nb2R1bHVzPjxFeHBvbmVudD5BUUFCPC9FeHBvbmVudD48L1JTQUtleVZhbHVlPjwvS2V5VmFsdWU+PC9LZXlJbmZvPjwvU2lnbmF0dXJlPjwvQWN1c2U+
   [status] => success
   [uuid] => 61b06900-f440-4cbd-bbaa-433bd065ab83
   [codigo_respuesta_sat] => 201
   [codigo_respuesta_sat_texto] => UUID Cancelado exitosamente
   [codigo_respuesta_sat_texto_descripcion] => Se considera cancelado correctamente. Deberá aparecer con estatus Cancelado ante el SAT de 0 a 72 hrs posterior a la cancelación
   [produccion] => NO
   [accion] => cancelar
)




IMPORTANTE:

Nuestra recomendación para facilitar el flujo en sus procesos es consultar previo y/o posterior a la cancelación del documento el estatus del CFDI a través del servicio del SAT. De esta manera determinaran que flujo de cancelación seguir y podrán saber si el documento efectivamente ha sido cancelado para marcarlo en sus sistemas como “Cancelado”.


Mas informacion de cancelacion cfdi y ejemplos en http://multifacturas.com

martes, 13 de noviembre de 2018

Como Cancelar una factura cfdi EL Emisor

Hay 4 formas en que el emisor puede cancelar una factura

Para el emisor hay 4 Formas de Cancelar


Cancelación Directa
  • Dentro de las primeras 72 horas (posterior a la emisión)
Cancelación Con Aceptación
  • Para facturas mayores a 72 horas de emisión y montos superiores a $5,000
  • Es necesario que el RFC receptor te acepte la cancelación
Cancelación Por Plazo Vencido
  • Para facturas mayores a 72 horas de emisión y montos superiores a $5,000
  • Si no se recibe respuesta por parte del RFC receptor en 72 horas la factura se auto-cancela la primera vez
Cancelación Con Documentos Relacionados
  • Para facturas mayores a 72 horas de emisión y montos superiores a $5,000
  • Para facturas que tienen relación con otras por ejemplos facturas de pagos
  • Se debe respetar los mismos pasos para “Con Aceptación” y “Sin Aceptación“


IMPORTANTE:

Nuestra recomendación para facilitar el flujo en sus procesos es consultar previo y/o posterior a la cancelación del documento el estatus del CFDI a través del servicio del SAT. De esta manera determinaran que flujo de cancelación seguir y podrán saber si el documento efectivamente ha sido cancelado para marcarlo en sus sistemas como “Cancelado”.


Ejemplo de cancelacion cfdi en c#
Ejemplo de cancelacion cfdi en java
Ejemplo de cancelacion cfdi en windows
Ejemplo de cancelacion cfdi en archivo de texto

Mas informacion de cancelacion cfdi y ejemplos en http://multifacturas.com






Como bloquera archivos adjuntos que son virus en postfix o plesk

   Como bloquear adjuntos del correo en Plesk/Postfix   1- edita el archivo  /etc/postfix/main.cf   2- busca el parametro mime_header_checks...