mirror of
				https://github.com/invoiceninja/invoiceninja.git
				synced 2025-11-03 23:47:32 -05:00 
			
		
		
		
	Fixes for XInvoice and differniate between Profiles
This commit is contained in:
		
							parent
							
								
									a765153642
								
							
						
					
					
						commit
						dd49768aef
					
				@ -175,6 +175,9 @@ class SendRemindersCron extends Command
 | 
			
		||||
        $invoice->calc()->getInvoice()->save();
 | 
			
		||||
        $invoice->fresh();
 | 
			
		||||
        $invoice->service()->deletePdf()->save();
 | 
			
		||||
        if ($invoice->company->use_xinvoice){
 | 
			
		||||
            $invoice->service()->deleteXInvoice()->save();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /* Refresh the client here to ensure the balance is fresh */
 | 
			
		||||
        $client = $invoice->client;
 | 
			
		||||
 | 
			
		||||
@ -36,7 +36,34 @@ class CreateXInvoice implements ShouldQueue
 | 
			
		||||
        $invoice = $this->invoice;
 | 
			
		||||
        $company = $invoice->company;
 | 
			
		||||
        $client = $invoice->client;
 | 
			
		||||
        $xrechnung =  ZugferdDocumentBuilder::CreateNew(ZugferdProfiles::PROFILE_EN16931);
 | 
			
		||||
        $profile = "";
 | 
			
		||||
        switch ($company->xinvoice_type){
 | 
			
		||||
            case "EN16931":
 | 
			
		||||
                $profile = ZugferdProfiles::PROFILE_EN16931;
 | 
			
		||||
                break;
 | 
			
		||||
            case "XInvoice_2_2":
 | 
			
		||||
                $profile = ZugferdProfiles::PROFILE_XRECHNUNG_2_2;
 | 
			
		||||
                break;
 | 
			
		||||
            case "XInvoice_2_1":
 | 
			
		||||
                $profile = ZugferdProfiles::PROFILE_XRECHNUNG_2_1;
 | 
			
		||||
                break;
 | 
			
		||||
            case "XInvoice_2_0":
 | 
			
		||||
                $profile = ZugferdProfiles::PROFILE_XRECHNUNG_2;
 | 
			
		||||
                break;
 | 
			
		||||
            case "XInvoice_1_0":
 | 
			
		||||
                $profile = ZugferdProfiles::PROFILE_XRECHNUNG;
 | 
			
		||||
                break;
 | 
			
		||||
            case "XInvoice-Extended":
 | 
			
		||||
                $profile = ZugferdProfiles::PROFILE_EXTENDED;
 | 
			
		||||
                break;
 | 
			
		||||
            case "XInvoice-BasicWL":
 | 
			
		||||
                $profile = ZugferdProfiles::PROFILE_BASICWL;
 | 
			
		||||
                break;
 | 
			
		||||
            case "XInvoice-Basic":
 | 
			
		||||
                $profile = ZugferdProfiles::PROFILE_BASIC;
 | 
			
		||||
                break;
 | 
			
		||||
        }
 | 
			
		||||
        $xrechnung =  ZugferdDocumentBuilder::CreateNew($profile);
 | 
			
		||||
 | 
			
		||||
        $xrechnung
 | 
			
		||||
            ->setDocumentInformation($invoice->number, "380", date_create($invoice->date), $invoice->client->getCurrencyCode())
 | 
			
		||||
 | 
			
		||||
@ -78,7 +78,7 @@ class ZipInvoices implements ShouldQueue
 | 
			
		||||
 | 
			
		||||
        $this->invoices->each(function ($invoice) {
 | 
			
		||||
            (new CreateEntityPdf($invoice->invitations()->first()))->handle();
 | 
			
		||||
            if ($this->company->getSetting("create_xinvoice")){
 | 
			
		||||
            if ($this->company->use_xinvoice){
 | 
			
		||||
                (new CreateXInvoice($invoice))->handle();
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
@ -97,6 +97,8 @@ use Laracasts\Presenter\PresentableTrait;
 | 
			
		||||
 * @property int $stock_notification
 | 
			
		||||
 * @property string|null $matomo_url
 | 
			
		||||
 * @property int|null $matomo_id
 | 
			
		||||
 * @property bool $use_xinvoice
 | 
			
		||||
 * @property string $xinvoice_type
 | 
			
		||||
 * @property int $enabled_expense_tax_rates
 | 
			
		||||
 * @property int $invoice_task_project
 | 
			
		||||
 * @property int $report_include_deleted
 | 
			
		||||
@ -354,6 +356,8 @@ class Company extends BaseModel
 | 
			
		||||
        'google_analytics_key',
 | 
			
		||||
        'matomo_url',
 | 
			
		||||
        'matomo_id',
 | 
			
		||||
        'use_xinvoice',
 | 
			
		||||
        'xinvoice_type',
 | 
			
		||||
        'client_can_register',
 | 
			
		||||
        'enable_shop_api',
 | 
			
		||||
        'invoice_task_timelog',
 | 
			
		||||
 | 
			
		||||
@ -17,6 +17,10 @@ return new class extends Migration
 | 
			
		||||
        Schema::table('clients', function (Blueprint $table) {
 | 
			
		||||
            $table->string('leitweg_idf')->default(null);
 | 
			
		||||
        });
 | 
			
		||||
        Schema::table('companies', function (Blueprint $table) {
 | 
			
		||||
            $table->boolean('use_xinvoice')->default(false);
 | 
			
		||||
            $table->string('xinvoice_type')->default("EN16931");
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user