belongsTo(BankAccount::class, 'bank_account_id'); } public function currency(): BelongsTo { return $this->belongsTo(Currency::class, 'currency_code', 'code'); } public function salesTax(): BelongsTo { return $this->belongsTo(Tax::class, 'sales_tax_id', 'id') ->where('type', TaxType::Sales); } public function purchaseTax(): BelongsTo { return $this->belongsTo(Tax::class, 'purchase_tax_id', 'id') ->where('type', TaxType::Purchase); } public function salesDiscount(): BelongsTo { return $this->belongsTo(Discount::class, 'sales_discount_id', 'id') ->where('type', DiscountType::Sales); } public function purchaseDiscount(): BelongsTo { return $this->belongsTo(Discount::class, 'purchase_discount_id', 'id') ->where('type', DiscountType::Purchase); } protected static function newFactory(): Factory { return CompanyDefaultFactory::new(); } }