@extends('layouts.app') @section('title', 'Platform settings') @section('content')

Administration

Platform settings

Configure business rules before enabling live billing, email delivery or file deletion. Existing invoices and quoted revision entitlements retain their snapshots.

@csrf @method('PUT')

Billing entity

@foreach(['seller_name' => 'Business name', 'seller_tax_id' => 'Business tax identifier', 'invoice_prefix' => 'Invoice prefix', 'invoice_label' => 'Document label', 'tax_label' => 'Tax label'] as $key => $label)
@endforeach

100 basis points = 1%. This setting applies to future rule-based quotes; manual quotes keep their entered tax amount.

Paper review and closure

Starts when the first QC-approved document is sent to the customer. Later versions do not restart it. Staff may close after this period when no revision is pending. Changes apply to papers first sent for review after saving.

Revision entitlement for existing structured-review projects

Example: {"INR":"500.00","USD":"10.00"}. Policy is captured on new initial quotations. Previously accepted quotations are not retroactively charged.

Retention

@foreach(['retention_notice_days' => 'Advance notice days', 'retention_grace_days' => 'Minimum days after notice before deletion'] as $key => $label)
@endforeach
@foreach(['workflow_mail_enabled' => 'Send queued workflow emails', 'auto_archive' => 'Automatically archive expired terminal projects', 'auto_purge' => 'Allow scheduled deletion of eligible archived project file contents'] as $key => $label)@endforeach

Metadata, invoices, payment records and audit history remain. Purged file contents cannot be restored by changing project status.

Published policies

@foreach(['cancellation_policy' => 'Cancellation policy', 'refund_policy' => 'Refund policy', 'privacy_terms' => 'Privacy and service terms'] as $key => $label)@endforeach
@include('settings.payment-providers') @include('settings.upload-storage') @include('settings.database-protection')

Workflow email templates

Plain-text placeholders: {app_name}, {message}, {action_url}. Template text is never executed as code.

@foreach($templates as $template)

{{ App\Services\WorkflowMailer::CATEGORIES[$template->category] }}

@csrf @method('PUT')
@endforeach

Email delivery history

A queue worker is required. SMTP errors can be retried after configuration is corrected.

@forelse($emails as $email)@empty@endforelse
RecipientCategoryStatusAttemptsAction
{{ $email->user->email }}{{ $email->category }}{{ $email->status }} @if($email->last_error)

{{ $email->last_error }}

@endif
{{ $email->attempts }}@if($email->status === 'failed')
@csrf
@endif
No queued workflow emails yet.
{{ $emails->links() }}
@endsection