id(); $table->unsignedBigInteger('tenant_id'); $table->string('vendor_name', 100); $table->string('invoice_no', 50); $table->date('issue_date'); $table->date('due_date')->nullable(); $table->string('category', 50)->default('사무용품'); $table->bigInteger('amount')->default(0); $table->bigInteger('paid_amount')->default(0); $table->string('status', 20)->default('unpaid'); // unpaid, partial, paid, overdue $table->string('description', 255)->nullable(); $table->text('memo')->nullable(); $table->timestamps(); $table->softDeletes(); $table->index(['tenant_id', 'status']); $table->index(['tenant_id', 'due_date']); }); } public function down(): void { Schema::dropIfExists('payables'); } };