Commit f0adc493 by Angel MAS

catalogos del sat

parent 01858f47
......@@ -94,6 +94,23 @@ SCOUT_QUEUE=true
php artisan scout:import 'Onestartup\Shop\Model\ProductShop'
```
# Facturacion
Agregar al archivo database/seeds/DatabaseSeeder.php
```
$this->call(CreateUsoCfdiCatalog::class);
$this->call(CreateUnidadesSeed::class);
$this->call(CreateClavesProductosSeed::class);
```
Correr migraciones y seeders
```
php artisan migrate --seed
```
......
......@@ -15,6 +15,7 @@ use Onestartup\Shop\Model\SaleShop as Sale;
use Onestartup\Shop\Model\DetailShop as Item;
use Onestartup\Shop\Model\DiscountCoupon as Coupon;
use Onestartup\Shop\Model\Billing;
use Onestartup\Shop\Model\UsoCfdi;
use Onestartup\Shop\Payment\MP;
use Onestartup\Shop\Notifications\PaymentClient;
......@@ -988,6 +989,11 @@ public function facturacion($order_id)
$addres = $client->shipping;
$billing = new Billing();
$uso_cfdi = UsoCfdi::select(
\DB::raw("CONCAT(descripcion,' - Persona Física ',fisica, ', Persona Moral ', moral) AS resumen"),'clave_uso')
->pluck('resumen', 'clave_uso');
if ($order->billing()->count() > 0 ) {
$billing = $order->billing;;
}
......@@ -1002,6 +1008,7 @@ public function facturacion($order_id)
->with('data', $data)
->with('products', $products)
->with('total', 0)
->with('uso_cfdi', $uso_cfdi)
->with('addres', $addres);
......
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsoCfdisTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('uso_cfdis', function (Blueprint $table) {
$table->increments('id');
$table->string('clave_uso');
$table->string('descripcion');
$table->string('fisica')->default('SI');
$table->string('moral');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('uso_cfdis');
}
}
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddUuidToBillingsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('billings', function (Blueprint $table) {
$table->string('uso_cfdi')->nullable();
$table->string('folio')->nullable();
$table->string('uuid', 355)->nullable();
$table->string('pdf', 355)->nullable();
$table->string('xml', 355)->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('billings', function (Blueprint $table) {
$table->dropColumn('uso_cfdi');
$table->dropColumn('folio');
$table->dropColumn('uuid');
$table->dropColumn('pdf');
$table->dropColumn('xml');
});
}
}
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUnidadsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('unidades', function (Blueprint $table) {
$table->increments('id');
$table->string('clave');
$table->string('nombre');
$table->string('tipo');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('unidades');
}
}
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateClavesProductosTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('claves_productos', function (Blueprint $table) {
$table->increments('id');
$table->string('clave');
$table->string('descripcion', 355);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('claves_productos');
}
}
......@@ -17,7 +17,12 @@ class Billing extends Model
'colonia',
'ciudad',
'estado',
'sale_id'
'sale_id',
'uso_cfdi',
'folio',
'uuid',
'pdf',
'xml'
];
public function sale()
......
<?php
namespace Onestartup\Shop\Model;
use Illuminate\Database\Eloquent\Model;
class ClavesProducto extends Model
{
protected $table = 'claves_productos';
protected $fillable = [
'clave',
'descripcion',
];
}
<?php
namespace Onestartup\Shop\Model;
use Illuminate\Database\Eloquent\Model;
class Unidad extends Model
{
protected $table = 'unidades';
protected $fillable = [
'clave',
'nombre',
'tipo'
];
}
<?php
namespace Onestartup\Shop\Model;
use Illuminate\Database\Eloquent\Model;
class UsoCfdi extends Model
{
protected $table = 'uso_cfdis';
protected $fillable = ['clave_uso', 'descripcion', 'fisica', 'moral'];
}
This source diff could not be displayed because it is too large. You can view the blob instead.
<?php
namespace Onestartup\Shop\Seed;
use Illuminate\Database\Seeder;
use Onestartup\Shop\Model\Unidad;
class CreateUnidadesSeed extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
if (Unidad::count() == 0) {
Unidad::create([
'clave' => 'H87',
'nombre' => 'Pieza',
'tipo' => 'Múltiplos / Fracciones / Decimales'
]);
Unidad::create([
'clave' => 'EA',
'nombre' => 'Elemento',
'tipo' => 'Unidades de venta'
]);
Unidad::create([
'clave' => 'E48',
'nombre' => 'Unidad de Servicio',
'tipo' => 'Unidades específicas de la industria (varias)'
]);
Unidad::create([
'clave' => 'ACT',
'nombre' => 'Actividad',
'tipo' => 'Unidades de venta'
]);
Unidad::create([
'clave' => 'KGM',
'nombre' => 'Kilogramo',
'tipo' => 'Mecánica'
]);
Unidad::create([
'clave' => 'E51',
'nombre' => 'Trabajo',
'tipo' => 'Unidades específicas de la industria (varias)'
]);
Unidad::create([
'clave' => 'A9',
'nombre' => 'Tarifa',
'tipo' => 'Diversos'
]);
Unidad::create(['clave'=> 'MTR', 'nombre'=>'Metro', 'tipo'=>'Tiempo y Espacio']);
Unidad::create(['clave'=> 'AB', 'nombre'=>'Paquete a granel', 'tipo'=>'Diversos']);
Unidad::create(['clave'=> 'BB', 'nombre'=>'Caja base', 'tipo'=>'Unidades específicas de la industria (varias)']);
Unidad::create(['clave'=> 'KT', 'nombre'=>'Kit', 'tipo'=>'Unidades de venta']);
Unidad::create(['clave'=> 'SET', 'nombre'=>'Conjunto', 'tipo'=>'Unidades de venta']);
Unidad::create(['clave'=> 'LTR', 'nombre'=>'Litro', 'tipo'=>'Tiempo y Espacio']);
Unidad::create(['clave'=> 'XBX', 'nombre'=>'Caja', 'tipo'=>'Unidades de empaque']);
Unidad::create(['clave'=> 'MON', 'nombre'=>'Mes', 'tipo'=>'Tiempo y Espacio']);
Unidad::create(['clave'=> 'HUR', 'nombre'=>'Hora', 'tipo'=>'Tiempo y Espacio']);
Unidad::create(['clave'=> 'MTK', 'nombre'=>'Metro cuadrado', 'tipo'=>'Tiempo y Espacio']);
Unidad::create(['clave'=> '11', 'nombre'=>'Equipos', 'tipo'=>'Diversos']);
Unidad::create(['clave'=> 'MGM', 'nombre'=>'Miligramo', 'tipo'=>'Mecánica']);
Unidad::create(['clave'=> 'XPK', 'nombre'=>'Paquete', 'tipo'=>'Unidades de empaque']);
Unidad::create(['clave'=> 'XKI', 'nombre'=>'Kit (Conjunto de piezas)', 'tipo'=>'Unidades de empaque']);
Unidad::create(['clave'=> 'AS', 'nombre'=>'Variedad', 'tipo'=>'Diversos']);
Unidad::create(['clave'=> 'GRM', 'nombre'=>'Gramo', 'tipo'=>'Mecánica']);
Unidad::create(['clave'=> 'PR', 'nombre'=>'Par', 'tipo'=>'Números enteros / Números / Ratios']);
Unidad::create(['clave'=> 'DPC', 'nombre'=>'Docenas de piezas', 'tipo'=>'Unidades de venta']);
Unidad::create(['clave'=> 'xun', 'nombre'=>'Unidad', 'tipo'=>'Unidades de empaque']);
Unidad::create(['clave'=> 'DAY', 'nombre'=>'Día', 'tipo'=>'Tiempo y Espacio']);
Unidad::create(['clave'=> 'XLT', 'nombre'=>'Lote', 'tipo'=>'Unidades de empaque']);
Unidad::create(['clave'=> '10', 'nombre'=>'Grupos', 'tipo'=>'Diversos']);
Unidad::create(['clave'=> 'MLT', 'nombre'=>'Mililitro', 'tipo'=>'Tiempo y Espacio']);
Unidad::create(['clave'=> 'E54', 'nombre'=>'Viaje', 'tipo'=>'Unidades específicas de la industria (varias)']);
}
}
}
<?php
namespace Onestartup\Shop\Seed;
use Illuminate\Database\Seeder;
use Onestartup\Shop\Model\UsoCfdi;
class CreateUsoCfdiCatalog extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
if (UsoCfdi::count() == 0) {
UsoCfdi::create([
'clave_uso' => 'G01',
'descripcion' => 'Adquisición de mercancias',
'fisica' => 'SI',
'moral' => 'SI',
]);
UsoCfdi::create([
'clave_uso' => 'G02',
'descripcion' => 'Devoluciones, descuentos o bonificaciones',
'fisica' => 'SI',
'moral' => 'SI',
]);
UsoCfdi::create([
'clave_uso' => 'G03',
'descripcion' => 'Gastos en general',
'fisica' => 'SI',
'moral' => 'SI',
]);
UsoCfdi::create([
'clave_uso' => 'I01',
'descripcion' => 'Construcciones',
'fisica' => 'SI',
'moral' => 'SI',
]);
UsoCfdi::create([
'clave_uso' => 'I02',
'descripcion' => 'Mobilario y equipo de oficina por inversiones',
'fisica' => 'SI',
'moral' => 'SI',
]);
UsoCfdi::create([
'clave_uso' => 'I03',
'descripcion' => 'Equipo de transporte',
'fisica' => 'SI',
'moral' => 'SI',
]);
UsoCfdi::create([
'clave_uso' => 'I04',
'descripcion' => 'Equipo de computo y accesorios',
'fisica' => 'SI',
'moral' => 'SI',
]);
UsoCfdi::create([
'clave_uso' => 'I05',
'descripcion' => 'Dados, troqueles, moldes, matrices y herramental',
'fisica' => 'SI',
'moral' => 'SI',
]);
UsoCfdi::create([
'clave_uso' => 'I06',
'descripcion' => 'Comunicaciones telefónicas',
'fisica' => 'SI',
'moral' => 'SI',
]);
UsoCfdi::create([
'clave_uso' => 'I07',
'descripcion' => 'Comunicaciones satelitales',
'fisica' => 'SI',
'moral' => 'SI',
]);
UsoCfdi::create([
'clave_uso' => 'I08',
'descripcion' => 'Otra maquinaria y equipo',
'fisica' => 'SI',
'moral' => 'SI',
]);
UsoCfdi::create([
'clave_uso' => 'D01',
'descripcion' => 'Honorarios médicos, dentales y gastos hospitalarios.',
'fisica' => 'SI',
'moral' => 'NO',
]);
UsoCfdi::create([
'clave_uso' => 'D02',
'descripcion' => 'Gastos médicos por incapacidad o discapacidad.',
'fisica' => 'SI',
'moral' => 'NO',
]);
UsoCfdi::create([
'clave_uso' => 'D03',
'descripcion' => 'Gastos funerales.',
'fisica' => 'SI',
'moral' => 'NO',
]);
UsoCfdi::create([
'clave_uso' => 'D04',
'descripcion' => 'Donativos.',
'fisica' => 'SI',
'moral' => 'NO',
]);
UsoCfdi::create([
'clave_uso' => 'D05',
'descripcion' => 'Intereses reales efectivamente pagados por créditos hipotecarios (casa habitación).',
'fisica' => 'SI',
'moral' => 'NO',
]);
UsoCfdi::create([
'clave_uso' => 'D06',
'descripcion' => 'Aportaciones voluntarias al SAR.',
'fisica' => 'SI',
'moral' => 'NO',
]);
UsoCfdi::create([
'clave_uso' => 'D07',
'descripcion' => 'Primas por seguros de gastos médicos.',
'fisica' => 'SI',
'moral' => 'NO',
]);
UsoCfdi::create([
'clave_uso' => 'D08',
'descripcion' => 'Gastos de transportación escolar obligatoria.',
'fisica' => 'SI',
'moral' => 'NO',
]);
UsoCfdi::create([
'clave_uso' => 'D09',
'descripcion' => 'Depósitos en cuentas para el ahorro, primas que tengan como base planes de pensiones.',
'fisica' => 'SI',
'moral' => 'NO',
]);
UsoCfdi::create([
'clave_uso' => 'D010',
'descripcion' => 'Pagos por servicios educativos (colegiaturas).',
'fisica' => 'SI',
'moral' => 'NO',
]);
UsoCfdi::create([
'clave_uso' => 'P01',
'descripcion' => 'Por definir',
'fisica' => 'SI',
'moral' => 'SI',
]);
}
}
}
......@@ -40,3 +40,8 @@
{!! Form::label('cp', 'Codigo postal', ['class'=>'form-control']) !!}
{!! Form::text('cp', null, ['class'=>'form-control','required'=>'required']) !!}
</div>
<div class="form-group">
{!! Form::label('uso_cfdi', 'Uso del CFDI', ['class'=>'form-control']) !!}
{!! Form::select('uso_cfdi', $uso_cfdi, null, ['class'=>'form-control','required'=>'required']) !!}
</div>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment