# Dynamics 365  Calculating Tax with Tax Values

Merhabalar,

Raporda vergi hesaplaması yaparken, standart vergi hesaplama kodunun inanılmaz bir yavaşlığa sebep olduğunu fark ettim. Bu nedenle, kendime bir vergi hesaplama kodu yazdım. Yeni kodumla verginin değerlerini hesaplamak, raporumun en az 20 kat daha hızlı çalışmasını sağladı.

Aşağıda standart hesaplama ve benim vergi değerlerini bulduğum kodu paylaşıyorum. Umarım yararlı olur. Bir sonraki yazımda görüşmek üzere!

> **GÜNCELLEME (01.02.2024)**
> 
> Sizinle vergi hesaplayan yeni bir method paylaşmak istiyorum. Bu method size ilgili parametreleri verdiğinizde vergi tutarını dönmektedir.
> 
> Tax::calcTaxAmount(salesLine.TaxGroup, salesLine.TaxItemGroup, DateTimeUtil::getToday(DateTimeUtil::getUserPreferredTimeZone()), salesLine.CurrencyCode, salesLine.LineAmount, TaxModuleType::Sales);

```csharp
public TaxAmountCur calculateTaxSales(SalesTable _salesTable)
{
	TaxAmountCur taxAmountCur;
	
	SalesTotals salesTotals = SalesTotals::construct(_salesTable, SalesUpdate::All);
	salesTotals.calc();

	taxAmountCur = salesTotals.totalTaxAmount();

	return taxAmountCur;
}
```

```csharp
public TaxValue getTaxValue(TaxGroup _taxGroup, TaxItemGroup _taxItemGroup)
{
	TaxGroupData taxGroupData;
	TaxOnItem taxOnItem;
	TaxValue taxValue;

	while select taxGroupData
	 where taxGroupData.TaxGroup == _taxGroup
	join taxOnItem
	 where taxOnItem.TaxCode == taxGroupData.TaxCode
		&& taxOnItem.TaxItemGroup == _taxItemGroup
	{
		taxValue += taxOnItem.showTaxValue();
	}

	return taxValue;
}
```
