{"id":974,"date":"2021-09-16T14:58:37","date_gmt":"2021-09-16T12:58:37","guid":{"rendered":"https:\/\/juanfernandez.net\/?post_type=tutoriales&#038;p=974"},"modified":"2022-02-18T11:32:07","modified_gmt":"2022-02-18T10:32:07","slug":"hacer-legales-las-facturas-de-abono-o-rectificativas-de-prestashop","status":"publish","type":"tutoriales","link":"https:\/\/fdev.es\/en\/tutoriales\/hacer-legales-las-facturas-de-abono-o-rectificativas-de-prestashop\/","title":{"rendered":"C\u00f3mo hacer una factura rectificativa en Prestashop"},"content":{"rendered":"<p>En Prestashop no se pueden eliminar las facturas ya emitidas. Cuando cancelamos un pedido o un cliente solicita una devoluci\u00f3n, ya sea parcial (solo algunos productos de un pedido) o total, se debe crear una factura rectificativa.<\/p>\n\n\n\n<p>Es obligatorio hacerlo si vamos a presentar estas facturas, de lo contrario, al presentar la factura, estaremos declarando una venta que no hemos hecho y estaremos pagando impuestos que no hemos recaudado o que no nos corresponde pagar. <strong>La factura rectificativa se hace por un importe negativo correspondiente a los productos devueltos en un pedido.<\/strong><\/p>\n\n\n\n<p><strong>El formato de las facturas rectificativas que genera Prestashop no es correcto<\/strong>. Hay que solventar los siguientes problemas:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Prestashop le llama <strong>factura de abono<\/strong> y en dicha factura debe aparecer el t\u00edtulo \u00abFactura rectificativa\u00bb.<\/li><li><strong>Debe hacer referencia a la factura que rectifica<\/strong> mediante su n\u00famero y fecha, sin embargo, solo hace referencia al n\u00famero de pedido y esto puede ocasionar problemas en una inspecci\u00f3n.<\/li><\/ol>\n\n\n\n<p>Para resolver estos problemas en la <strong>versi\u00f3n 1.7 de Prestashop <\/strong>vamos a introducir una l\u00ednea en la factura debajo del n\u00famero de factura que haga referencia a la factura que rectifica. Para ello introduciremos una nueva variable smarty en el .tpl de la factura rectificativa y le daremos un valor desde su controlador.<\/p>\n\n\n\n<p>El .tpl se encuentra en <\/p>\n\n\n\n<p>\/pdf\/header.tpl<\/p>\n\n\n\n<p>Bajo el cierre de la fila de la tabla que contiene la variable $title:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;tr&gt;\n\t&lt;td style=&quot;font-size: 14pt; color: #9E9F9E&quot;&gt;\n\n              {$title|escape:&#039;html&#039;:&#039;UTF-8&#039;}\n\n         &lt;\/td&gt;\n\n&lt;\/tr&gt;<\/code><\/pre>\n\n\n\n<p>Creamos dos nuevas filas, una vac\u00eda para introducir un espacio vertical y otra con nuestra nueva variable llamada $subtitle<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;tr&gt;\n\t&lt;td&gt;&amp;nbsp;&lt;\/td&gt;\n&lt;\/tr&gt; \n\n&lt;tr&gt;\n\t&lt;td style=&quot;font-size: 11pt; color: #666&quot;&gt;\n\n                {$subtitle|escape:&#039;html&#039;:&#039;UTF-8&#039;}\n\n        &lt;\/td&gt;\n&lt;\/tr&gt;   <\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"459\" src=\"https:\/\/juanfernandez.net\/wp-content\/uploads\/2021\/09\/Captura-de-pantalla-2021-09-21-a-las-7.20.27-1024x459.jpg\" alt=\"\" class=\"wp-image-978\" srcset=\"https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Captura-de-pantalla-2021-09-21-a-las-7.20.27-1024x459.jpg 1024w, https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Captura-de-pantalla-2021-09-21-a-las-7.20.27-300x135.jpg 300w, https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Captura-de-pantalla-2021-09-21-a-las-7.20.27-768x344.jpg 768w, https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Captura-de-pantalla-2021-09-21-a-las-7.20.27-600x269.jpg 600w, https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Captura-de-pantalla-2021-09-21-a-las-7.20.27.jpg 1365w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Para que los cambios no se pierdan en futuras actualizaciones de Prestashop deberemos copiar este fichero y su ruta en el directorio de nuestro tema. Y para que no se pierdan al actualizar nuestro tema <strong>deberemos hacerlo preferentemente en nuestro tema child<\/strong>. Se har\u00eda copiando el fichero header.tpl con los cambios en:<\/p>\n\n\n\n<p>\/themes\/tema_child\/<\/p>\n\n\n\n<p>Y ahora debemos introducir el contenido que queremos en la variable $subtitle desde el controlador, que se encuentra ubicado en:<\/p>\n\n\n\n<p>&#8230;\/classes\/pdf\/HTMLTemplateOrderSlip.php<\/p>\n\n\n\n<p><strong>Para que no se pierdan los cambios de este fichero en futuras actualizaciones<\/strong> lo duplicaremos y lo editaremos en \/override\/classes\/pdf. Creando esa ruta de directorios previamente.<\/p>\n\n\n\n<p>Dentro de la funci\u00f3n __construct debajo de la l\u00ednea:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$this-&gt;title = sprintf(HTMLTemplateOrderSlip::l('%1$s%2$06d'), $prefix, (int) $this-&gt;order_slip-&gt;id);<\/code><\/pre>\n\n\n\n<p>Introduciremos las siguientes l\u00edneas de c\u00f3digo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$invoice_prefix = Configuration::get('PS_INVOICE_PREFIX', Context::getContext()-&gt;language-&gt;id);\n$subtitlestring = \"(Correspondiente a la factura \".sprintf(HTMLTemplateOrderSlip::l('%1$s%2$06d'), $invoice_prefix, (int) $this-&gt;order-&gt;invoice_number).\" del \".Tools::displayDate($this-&gt;order-&gt;date_add).')';\n$this-&gt;smarty-&gt;assign(&#91;'subtitle' =&gt; $subtitlestring]);<\/code><\/pre>\n\n\n\n<p>Y m\u00e1s abajo, dentro de la funci\u00f3n getHeader() comentamos la l\u00ednea<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$this-&gt;smarty-&gt;assign(&#91;'header' =&gt; Context::getContext()-&gt;getTranslator()-&gt;trans('Credit slip', &#91;], 'Shop.Pdf')]);<\/code><\/pre>\n\n\n\n<p>y justo debajo pegamos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$this-&gt;smarty-&gt;assign(&#91;'header' =&gt; 'Factura rectificativa']);<\/code><\/pre>\n\n\n\n<p>Aqu\u00ed estamos cambiando el texto \u00abFactura de abono\u00bb por la forma correcta que ser\u00eda \u00abFactura rectificativa\u00bb<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"438\" src=\"https:\/\/juanfernandez.net\/wp-content\/uploads\/2021\/09\/Captura-de-pantalla-2021-09-21-a-las-7.31.39-1024x438.jpg\" alt=\"\" class=\"wp-image-979\" srcset=\"https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Captura-de-pantalla-2021-09-21-a-las-7.31.39-1024x438.jpg 1024w, https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Captura-de-pantalla-2021-09-21-a-las-7.31.39-300x128.jpg 300w, https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Captura-de-pantalla-2021-09-21-a-las-7.31.39-768x329.jpg 768w, https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Captura-de-pantalla-2021-09-21-a-las-7.31.39-600x257.jpg 600w, https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Captura-de-pantalla-2021-09-21-a-las-7.31.39.jpg 1381w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"454\" height=\"184\" src=\"https:\/\/juanfernandez.net\/wp-content\/uploads\/2021\/09\/Captura-de-pantalla-2021-09-21-a-las-7.08.11.jpg\" alt=\"\" class=\"wp-image-980\" srcset=\"https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Captura-de-pantalla-2021-09-21-a-las-7.08.11.jpg 454w, https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Captura-de-pantalla-2021-09-21-a-las-7.08.11-300x122.jpg 300w\" sizes=\"(max-width: 454px) 100vw, 454px\" \/><\/figure><\/div>\n\n\n\n<p>Con estos cambios la cabecera de la factura rectificativa estar\u00eda correcta y se ver\u00eda as\u00ed:<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><em>Testeado en la versi\u00f3n 1.7.7.1<\/em><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>","protected":false},"featured_media":1216,"template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"default","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"default","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"categorias_tutoriales":[54,69,57],"etiquetas_tutoriales":[71,70],"class_list":["post-974","tutoriales","type-tutoriales","status-publish","has-post-thumbnail","hentry","categorias_tutoriales-comercio-electronico","categorias_tutoriales-minitutoriales","categorias_tutoriales-prestashop","etiquetas_tutoriales-facturas","etiquetas_tutoriales-facturas-rectificativas"],"acf":[],"uagb_featured_image_src":{"full":["https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Co\u0301mo-hacer-una-factura-rectificativa-con-Prestashop.png",2100,1181,false],"thumbnail":["https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Co\u0301mo-hacer-una-factura-rectificativa-con-Prestashop-150x150.png",150,150,true],"medium":["https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Co\u0301mo-hacer-una-factura-rectificativa-con-Prestashop-300x169.png",300,169,true],"medium_large":["https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Co\u0301mo-hacer-una-factura-rectificativa-con-Prestashop-768x432.png",768,432,true],"large":["https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Co\u0301mo-hacer-una-factura-rectificativa-con-Prestashop-1024x576.png",1024,576,true],"1536x1536":["https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Co\u0301mo-hacer-una-factura-rectificativa-con-Prestashop-1536x864.png",1536,864,true],"2048x2048":["https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Co\u0301mo-hacer-una-factura-rectificativa-con-Prestashop-2048x1152.png",2048,1152,true],"trp-custom-language-flag":["https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Co\u0301mo-hacer-una-factura-rectificativa-con-Prestashop.png",18,10,false],"woocommerce_thumbnail":["https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Co\u0301mo-hacer-una-factura-rectificativa-con-Prestashop-300x300.png",300,300,true],"woocommerce_single":["https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Co\u0301mo-hacer-una-factura-rectificativa-con-Prestashop-600x337.png",600,337,true],"woocommerce_gallery_thumbnail":["https:\/\/fdev.es\/wp-content\/uploads\/2021\/09\/Co\u0301mo-hacer-una-factura-rectificativa-con-Prestashop-100x100.png",100,100,true]},"uagb_author_info":{"display_name":"Juan Fern\u00e1ndez M.","author_link":"https:\/\/fdev.es\/en\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"En Prestashop no se pueden eliminar las facturas ya emitidas. Cuando cancelamos un pedido o un cliente solicita una devoluci\u00f3n, ya sea parcial (solo algunos productos de un pedido) o total, se debe crear una factura rectificativa. Es obligatorio hacerlo si vamos a presentar estas facturas, de lo contrario, al presentar la factura, estaremos declarando&hellip;","_links":{"self":[{"href":"https:\/\/fdev.es\/en\/wp-json\/wp\/v2\/tutoriales\/974","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fdev.es\/en\/wp-json\/wp\/v2\/tutoriales"}],"about":[{"href":"https:\/\/fdev.es\/en\/wp-json\/wp\/v2\/types\/tutoriales"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fdev.es\/en\/wp-json\/wp\/v2\/media\/1216"}],"wp:attachment":[{"href":"https:\/\/fdev.es\/en\/wp-json\/wp\/v2\/media?parent=974"}],"wp:term":[{"taxonomy":"categorias_tutoriales","embeddable":true,"href":"https:\/\/fdev.es\/en\/wp-json\/wp\/v2\/categorias_tutoriales?post=974"},{"taxonomy":"etiquetas_tutoriales","embeddable":true,"href":"https:\/\/fdev.es\/en\/wp-json\/wp\/v2\/etiquetas_tutoriales?post=974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}