{{-- New-Unity ERP | Modules/Billing/Resources/Views/Mexico/invoices/form.blade.php | v3.10 | 05/08/2026 --}} {{-- v3.10 — FIX 2: botón "Editar domicilio" junto al selector de dirección del cliente. Modal #modal-editar-domicilio con AJAX GET/PUT a /sales/customers/{id}/addresses/{id}. Refresca el select de domicilios automáticamente al guardar. --}} {{-- v3.1 — Elimina el modal de clientes INLINE duplicado (id customers-modal repetido); ahora solo vive en el partial modal_customers (v1.1). v3.0 — Botón de edición de datos fiscales del cliente (modal AJAX sin salir de la factura) + variable CsrfToken para los guardados por AJAX. v2.9 — Markup del modal de clientes (#customers-modal) agregado. v2.8 — Campo Company por MODAL propio de clientes (sin select2): input readonly + botón de búsqueda + hidden customer_id (#selCustomerInvoice). Se eliminan los includes de select2 (css/js). v2.7 — JS del módulo servido desde public/modules/billing/ (patrón publishes() del BillingServiceProvider v1.1). Fuente en Resources/Assets/Js del módulo. v2.5 — Scripts: variables (AppUrl, taxObjects, etc.) declaradas ANTES de los includes; select2 css+js agregados; app.billing.js removido (es del índice). v2.4 — Botonera de productos en tercios (Manual Concept centrado exacto). v2.3 — Distribución de Israel: Pay Conditions, Account Number y Observations (ahora textarea) se mueven debajo de la tabla de productos, a la izquierda del bloque de totales. Título Add Products centrado. v2.2 — Totales compactos alineados a la derecha. IDs/names intactos. --}} {{-- v2.1 — Layout compacto: campos cortos reducidos (Number/Date/Stamps/Serie/ Credit Days/Expiration en una sola fila), inputs y selects en tamaño sm, gutters g-2 y márgenes reducidos para un formulario unificado. v2.0 — Refactory completo al diseño New-Unity (BS5, sin App\classes\Form, emisor desde BillingContributor, IDs/names intactos para app.invoice.js) --}} @extends('layouts.vertical') @section('content') @php // Helper local: valor del campo → old() > $row > default $val = fn($field, $default = '') => old($field, $row->{$field} ?? $default); $isEdit = isset($row) && $row && empty($documentId); $isInvoice = Request::segment(1) == 'invoices'; $hasOld = session()->hasOldInput(); $formTitle = $isEdit ? ($isInvoice ? __('invoices.editinvoice') : __('invoices.newcreditnote')) : ($isInvoice ? __('invoices.newinvoice') : __('invoices.newcreditnote')); $formRoute = $isInvoice ? ($isEdit ? route('invoices.update', $row->id) : route('invoices.store')) : ($isEdit ? route('egresos.update', $row->id) : route('egresos.store')); $defaultSerie = $isInvoice ? ($contributor->serie_i ?? '') : ($contributor->serie_e ?? ''); @endphp {{-- Estilos tabla de partidas --}}
CFDI 4.0 — {{ $contributor->test_mode ? 'TEST MODE' : 'Production' }}
{{ (!$availableRfc) ? __('management.attention-pacMsg') : $availableRfc }}
@if(!$availableRfc){{ __('management.attention-stamps') }}
@endif