设置增值税表格

在此文中

接下来,我们将解释在特定国家/地区创建适用于增值税报表的Banana应用程序时需要考虑的因素。

  • 为特定国家/地区创建增值税代码。
  • 使用 Banana API 提供的功能创建国家特定的报告或导出文件。

文档

增值税表格

 

我们有两个主要的组:

  • 应交增值税
  • 应退增值税

为特定国家/地区创建增值税代码表

在新的国家/地区使用Banana财务会计软件时,您需要根据所在的国家/地区调整增值税代码表。基本上您可以按照这里描述的进行:

  • 以该国的增值税报告格式为起点。
  • 您需要在增值税代码表中创建增值税代码。
  • 对于与增值税相关的每笔发生业务,用户将指定增值税代码,以便可以根据表格要求对类似发生业务进行分组和汇总。
  • 对于每一种情况,都应该有一个特定的增值税代码。参数将根据以下因素而变化:
    • 应交增值税和应退增值税
    • 增值税的百分比
    • 税务报告规定
      出口货物和免税货物应有不同的增值税代码。
      税务机关规定,即使适用的百分比始终为零,也必须单独申报。  

例如,对于增值税率为0% 和 5%的国家/地区。

  • 对于 0%,您需要报告出口销售免税:
    • 创建增值税代码 S0 为免税 (即使增值税百分比为0,应付增值税为确定)
    • 创建增值税代码 SE 为出口增值税 ( 即使增值税百分比为0,应付增值税为确定 )
  • 对于 5%
    • 创建增值税代码 S5 为销售收入的5% (应付增值税为确定)
    • 创建增值税代码 P5 为购买 (应付增值税为空,意思是可以退税)
    • 如果您需要在税单上单独显示折扣,创建增值税代码 SD5 为销售折扣  5%
      如果没有必要单独显示折扣,在输入一个折扣发生业务时,我们在增值税代码前加上 "-S5" ,因此金额是相反的。

有些国家的增值税比率很高,纳税申报表也很复杂。在这种情况下,您需要有一个包含多个代码的增值税表格。

使用所属组1对增值税代码进行分组

如果需要将不同增值税代码的增值税金额组合在一起,可以使用所属组1输入增值税代码所属的字段。

  • 当创建一个BananaApps将金额分组时,可以使用此组来报告金额。 
  • 如果用户需要添加一个新的增值税代码时,可以执行此操作,并将其正确汇总在税务表单中。

在所属组1中指定增值税表格的字段编号,如果相同的字段在多个组中,则用 “,”分隔该字段号。例如:

  • 税务表格100指的是要求申报所有的销售金额。
  • 不同的销售也需要在特定的字段中指明,因此我们也指定了其他税收字段。 
  • 折扣需要单独指明,因此我们为折扣指定了特定字段。购买亦如此。 

提供完整的增值税代码表

您可能最终会得到一个复杂的增值税表格。
有些用户可能只需要使用他们业务活动所必需的很少的增值税代码。
最好不要给客户提供一个简化的增值税代码表,因为它可能需要一个特定的增值税代码。 

在这种情况下,在禁用列中输入 1 。用户能够使用这些代码,但是在发生业务表中输入时,这些代码不会出现在增值税代码列表中。 

将增值税代码分配到账户表中

对于每一个账户,您都可以分配默认的增值税代码(增值税代码列)。
当您输入或导入发生业务时,增值税代码会被检索,但是您也可以更改它。

增值税发生业务

以上我们看到了增值税发生业务的不同示例。

  • 记账凭证号 10-11.
    我们使用不同的金额类型记录现金销售。
    我们看到发生业务金额不同,但应交增值税金额和增值税金额始终相同。
    增值税登记在贷方,其税额为负数,因此必须向税务机关缴纳。 
  • 记账凭证号 20.
    客户退货。
    我们使用相同的增值税代码,但在前面添加减号。应交增值税金额和增值税金额的符号被反转。
    增值税金额是正数(借方),意味着我们从税务机关那儿退回增值税。
  • 记账凭证号 100-102.
    购买增值税金额为正数(借方),意味着我们从税务机关那儿退回增值税。
  • 记账凭证号 130.
    退货给供应商的增值税代码是相反的,我们欠税务机关的税收。

增值税文件

对于每个国家/地区,都会有一份解释增值税的文件:

  • 增值税代码页面
    解释单一增值税代码和分组。
  • 带有示例和解释的页面
    在一个或多个页面中,应解释所有可能的发生业务。该页面是一个参考,让用户了解如何记录特定的案例。
    • 创建一个包含发生业务的示例。
    • 为不同的示例创建标题和子标题,用户可以通过浏览页面和索引来查找示例。
      典型元素:
      • 应交增值税
        • 普通
        • 红字发票
        • 增值税反向支付
      • 应退增值税
        • 普通
        • 红字发票
        • 增值税不完全抵扣
      • 增值税免税
      • 增值税 0 %
      • 调整
      • 更正
      • 期末业务
    • 创建发生业务表图像。
    • 使用记账凭证号列为每组发生业务编号。
      • 当您写摘要时,会在摘要之前加上发生业务的记账凭证编号。
      • 在解释单笔业务时使用项目符号段落。
  • 期末 
    解释在期末做什么。
    • 检查账务
    • 报表1 -> 增值税报表
    • 国家特定报告
    • 自动核算的增值税金额移至应交增值税或应退增值税的发生业务中。
    • 支付增值税的发生业务。

创建Banana应用程序来创建特定国家/地区的增值税报告

在创建一个特定国家/地区的增值税报告之前,应该创建一个包含:

  • 该国的账户计划。
  • 增值税代码表包含该国所有必要的增值税代码,用所属组1来设置该组。 
  • 测试发生业务 所有的示例和增值税代码。包括反向发生业务(如折扣或红字发票)。
    此发生业务允许程序员立即测试结果。

示例文件

Javascipt API 用于计算增值税 

检索上述值的 API 是:

//get the description of the vat code
Banana.document.vatDescription("S10"); 
// use the vatCurrent Balance to retrieve the different values
Banana.document.vatCurrentBalance("S10").vatTaxable;
Banana.document.vatCurrentBalance("S10").vatAmount;
Banana.document.vatCurrentBalance("S102").vatNotDeductible;
Banana.document.vatCurrentBalance("S10").vatPosted;
Banana.document.vatCurrentBalance("S10").rowCount;
  • vatTaxable 是净值,在增值税报告中通常显示地是净值,即要申报的收入金额。
  • vatAmount 是增值税金额。
  • vatTaxable + vatAmount 是包含增值税的金额。
  • vatNotDeductible 在财政上无法被抵扣的增值税金额。如果您有增值税不能被完全抵扣的费用。
  • vatPosted (vatAmount - vatNotDeductible) 是已经在增值税账户上申报的金额。
  • count 是已找到的使用增值税代码的行数。

增值税代码分组

增值税调用只能用于一个或多个增值税代码。
如果需要将更多的增值税代码组合在一起,应该使用Javascript函数作为所属组1的参数。
该函数应迭代增值税代码表并返回具有相应所属组1的增值税代码。

增值税金额的标志

增值税金额的符号遵循会计惯例。

  • 如果增值税金额为负数(借方),则表示应交增值税。
  • 如果增值税金额为正数,则表示应退增值税。

应税增值税(vatTaxable)的符号遵循增值税金额(vatAmount)的标志。如果增值税金额(vatAmount)为零,则如果增值税代码为应付(Due)或确定(True),则应税增值税(vatTaxable)的符号为负。

如果您使用增值税金额(vatAmount)来创建纳税表,则应注意转换金额。

增值税金额(vatAmount)符号和应付(Due)标志:

  • 应付(Due)为确定1(True1)时,增值税代码通常使用负数的增值税金额(vatAmount),但如果用户使用带有减号“-S10”的增值税代码,则增值税金额(vatAmount)也可以为正数。
    在冲销发生业务(纠正错误的发生业务)时,增值税代码前添加“减号”。在这种情况下,增值税金额(vatAmount)为正数。
  • 应付(Due)为否(void)时,增值税代码通常使用正数的增值税金额(vatAmount),但如果用户使用带有减号“-P10”的增值税代码,则增值税金额(vatAmount)也可以为负数。
    在这种情况下,增值税金额(vatAmount)将以负数记录。

 

税务机关的增值税报告中使用的金额

应付增值税

这些金额通常为负数,因此必须反转。

Banana.document.vatCurrentBalance("S10").vatTaxable * (-1);
Banana.document.vatCurrentBalance("S10").vatAmount * (-1);

如果客户退回了超过销售额的商品,它们也可能是正数。

应退增值税

这些金额通常为正数,因此必须反转。

Banana.document.vatCurrentBalance("P10").vatTaxable;
Banana.document.vatCurrentBalance("P10").vatAmount;

如果退还给供应商超过销售额的商品,它们可能是负数。

期间

增值税报告通常在一段时期内(月,季度或半年)
应当把增值税当前余额(vatCurrentBalance)和起始日期(startDate),结束日期(endDate)一起使用。

//vat report for January 2018
var startDate = "2018-01-01";
var endDate = "2018-01-31
Banana.document.vatCurrentBalance("S10", startDate, endDate).vatTaxable;
Banana.document.vatCurrentBalance("P10", startDate, endDate).vatTaxable;

多个增值税代码汇总

您可以通过将增值税代码用符号 "|"分隔,来获得不同代码的总数。

//vat report for January 2018
var startDate = "2018-01-01";
var endDate = "2018-01-31
// The taxable amount
Banana.document.vatCurrentBalance("S0|S5|S10|SD5|SD10", startDate, endDate).vatTaxable * (-1);
// The vat due 
Banana.document.vatCurrentBalance("S0|S5|S10|SD5|SD10", startDate, endDate).vatAmount * (-1);
// The vat taxable vat recoverable 
Banana.document.vatCurrentBalance("P0|P5|P10|PD5|PD10", startDate, endDate).vatTaxable;
// The vat vat recoverable 
Banana.document.vatCurrentBalance("P0|P5|P10|PD5|PD10", startDate, endDate).vatAmount;

 

打印增值税发生业务列表

如需打印增值税发生业务或进行增值税核算,请使用 Banana.document.journal(). 函数

// use the data from the transactions and only normal accounts (exclude cost centers)
var journal = Banana.document.journal(Banana.document.ORIGINTYPE_CURRENT, Banana.document.ACCOUNTTYPE_NORMAL);
for (i = 0; i < journal.rowCount; i++) {
  var tRow = journal.row(i);
  // we get the vat values 
  var vatTaxable = tRow.value('JVatTaxable');
  var vatAmount = tRow.value('VatAmount');
  var vatPosted = tRow.value('VatPosted');
}

示例应用程序库 中,您可以找到两个发生业务示例列表:

 

 

 

 

Share this article: Twitter | Facebook | LinkedIn | Email