From c7029f9eef8857f49e5ec32f974c94946b1354c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Wed, 4 Feb 2026 22:13:26 +0900 Subject: [PATCH 1/4] =?UTF-8?q?feat:=EA=B1=B0=EB=9E=98=EC=B2=98(trading=5F?= =?UTF-8?q?partners)=20=ED=85=8C=EC=9D=B4=EB=B8=94=20=EB=A7=88=EC=9D=B4?= =?UTF-8?q?=EA=B7=B8=EB=A0=88=EC=9D=B4=EC=85=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.5 --- ...4_221050_create_trading_partners_table.php | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 database/migrations/2026_02_04_221050_create_trading_partners_table.php diff --git a/database/migrations/2026_02_04_221050_create_trading_partners_table.php b/database/migrations/2026_02_04_221050_create_trading_partners_table.php new file mode 100644 index 0000000..4e97a60 --- /dev/null +++ b/database/migrations/2026_02_04_221050_create_trading_partners_table.php @@ -0,0 +1,36 @@ +id(); + $table->unsignedBigInteger('tenant_id'); + $table->string('name', 100); + $table->string('type', 20)->default('vendor'); + $table->string('category', 50)->default('기타'); + $table->string('biz_no', 20)->nullable(); + $table->string('bank_account', 100)->nullable(); + $table->string('contact', 50)->nullable(); + $table->string('email', 100)->nullable(); + $table->string('manager', 50)->nullable(); + $table->string('manager_phone', 20)->nullable(); + $table->string('status', 20)->default('active'); + $table->text('memo')->nullable(); + $table->timestamps(); + $table->softDeletes(); + $table->index(['tenant_id', 'status']); + $table->index(['tenant_id', 'type']); + }); + } + + public function down(): void + { + Schema::dropIfExists('trading_partners'); + } +}; From 0e9f8be423f1a7bb99b7ff1311311fc35c6aa911 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Wed, 4 Feb 2026 22:22:20 +0900 Subject: [PATCH 2/4] =?UTF-8?q?feat:=EB=AF=B8=EC=88=98=EA=B8=88(receivable?= =?UTF-8?q?s)=20=ED=85=8C=EC=9D=B4=EB=B8=94=20=EB=A7=88=EC=9D=B4=EA=B7=B8?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=85=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.5 --- ..._02_04_222005_create_receivables_table.php | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 database/migrations/2026_02_04_222005_create_receivables_table.php diff --git a/database/migrations/2026_02_04_222005_create_receivables_table.php b/database/migrations/2026_02_04_222005_create_receivables_table.php new file mode 100644 index 0000000..d672cd4 --- /dev/null +++ b/database/migrations/2026_02_04_222005_create_receivables_table.php @@ -0,0 +1,35 @@ +id(); + $table->unsignedBigInteger('tenant_id'); + $table->string('customer_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('collected_amount')->default(0); + $table->string('status', 20)->default('outstanding'); // outstanding, partial, collected, 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('receivables'); + } +}; From cee37b3e20c0a5e49cdf88b60c657339b6e16b5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Wed, 4 Feb 2026 22:27:13 +0900 Subject: [PATCH 3/4] =?UTF-8?q?feat:=EB=AF=B8=EC=A7=80=EA=B8=89=EA=B8=88(p?= =?UTF-8?q?ayables)=20=ED=85=8C=EC=9D=B4=EB=B8=94=20=EB=A7=88=EC=9D=B4?= =?UTF-8?q?=EA=B7=B8=EB=A0=88=EC=9D=B4=EC=85=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.5 --- ...026_02_04_222513_create_payables_table.php | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 database/migrations/2026_02_04_222513_create_payables_table.php diff --git a/database/migrations/2026_02_04_222513_create_payables_table.php b/database/migrations/2026_02_04_222513_create_payables_table.php new file mode 100644 index 0000000..726f316 --- /dev/null +++ b/database/migrations/2026_02_04_222513_create_payables_table.php @@ -0,0 +1,35 @@ +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'); + } +}; From 0d1b088463d19374ef1fb5f710c3d9f2024f958f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Wed, 4 Feb 2026 22:37:35 +0900 Subject: [PATCH 4/4] =?UTF-8?q?feat:=ED=99=98=EB=B6=88/=ED=95=B4=EC=A7=80?= =?UTF-8?q?=20=EA=B4=80=EB=A6=AC=20=ED=85=8C=EC=9D=B4=EB=B8=94=20=EB=A7=88?= =?UTF-8?q?=EC=9D=B4=EA=B7=B8=EB=A0=88=EC=9D=B4=EC=85=98=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.5 --- ...2026_02_04_223406_create_refunds_table.php | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 database/migrations/2026_02_04_223406_create_refunds_table.php diff --git a/database/migrations/2026_02_04_223406_create_refunds_table.php b/database/migrations/2026_02_04_223406_create_refunds_table.php new file mode 100644 index 0000000..9c1466c --- /dev/null +++ b/database/migrations/2026_02_04_223406_create_refunds_table.php @@ -0,0 +1,35 @@ +id(); + $table->unsignedBigInteger('tenant_id'); + $table->string('type', 20)->default('refund'); // refund, cancel + $table->string('customer_name', 100); + $table->date('request_date'); + $table->string('product_name', 100); + $table->bigInteger('original_amount')->default(0); + $table->bigInteger('refund_amount')->default(0); + $table->string('reason', 100)->nullable(); + $table->string('status', 20)->default('pending'); // pending, approved, completed, rejected + $table->date('process_date')->nullable(); + $table->text('note')->nullable(); + $table->timestamps(); + $table->softDeletes(); + $table->index(['tenant_id', 'status']); + $table->index(['tenant_id', 'type']); + }); + } + + public function down(): void + { + Schema::dropIfExists('refunds'); + } +};