按照以下步骤,使用 ERPNext 生成 JSON 文件。
设置 GST 参数:前往“会计” > “商品及服务税(GST 印度)” > “GST 设置”,并更新 GST 参数。
报告 GSTR-1:前往“会计” > “商品及服务税(GST 印度)” > “GSTR-1”。此外,您也可以在超级搜索栏中搜索。
选择申报期间和业务类型:根据申报期间和业务类型(发票类型)更新筛选条件,以获取所需数据。
下载 GSTR-1 数据:前往“菜单”,导出并下载 GSTR-1 数据。
GST 申报离线工具:打开 GST 离线工具。(从 GST 门户网站下载离线工具)按下新建按钮,并在离线工具中更新 GST 申报类型、GSTIN、财政年度和税务期间。
选择章节并在离线工具中导入 GSTR-1 CSV 文件。
生成并下载 JSON 文件。
将 JSON 文件上传至 GST 门户网站。
作者: Next
多分支机构的GST
如果您的公司有多个分支机构且各自拥有独立的GSTIN,这将帮助您自动进行GST计算。
这是博客《5步在ERPNext中自动化印度GST》的扩展内容。
- 更新公司各分支机构的地址
- 配置按邦划分的GST账户 (可选)
- 按物料设置GST
- 区分邦际和邦内税收
- 配置发票模板
步骤1 – 更新公司各分支机构的账单地址
第一步是更新公司各分支机构的地址,并填写相应的GSTIN,因为不同分支机构(如果位于不同邦)的GSTIN会有所不同。
现在,请确保您的客户和供应商地址中已正确配置了GST邦和参与方GSTIN。
步骤2 – 配置按邦划分的GST账户 (可选)
要进行配置,请转到会计科目表,创建一组按邦划分的GST账户(CGST、SGST和IGST),如下方截图所示。
在GST设置中的GST账户表格中添加这些新创建的账户,以便将其包含在所有GST报告中。
步骤3 – 按物料设置GST
a. 为不同税率创建物料税率模板,并添加上一步中创建的所有GST账户。
b. 定义税率。
这有助于系统知道在发票中应用哪些GST账户和税率。
您的物料税率模板应如下所示:
同样,您可以为不同的GST税率创建不同的物料税率模板。
创建物料税率模板后,您可以从物料主数据开始将这些模板分配给相应的物料。
步骤4 – 区分邦际和邦内税收
我们快完成了。
为我们在不同邦的每个分支机构创建两个税收类别。每个税收类别上的来源邦将对应我们公司的每个分支机构。
每个邦将有两个税收类别,一个用于邦内交易,另一个用于邦外交易。
对于‘邦外’税收类别,请勾选‘是否为邦际’复选框。
德里的邦内税收类别:
德里的邦外税收类别:
按照上述相同方式为其他邦创建。
步骤5 – 配置我们的发票模板
最后,为每个创建的税收类别配置一组两个销售税费模板和两个采购税费模板。
转到销售税费模板,为每个邦定义一组两个模板(如下方马哈拉施特拉邦的截图所示)。
对于邦内模板,在 科目头中选择邦内税收类别以及相应的CGST和SGST账户。
对于邦外模板,在 科目头中选择邦外税收类别以及相应的IGST账户。
注意:在科目头中输入我们的税收账户,并将其余项保留为‘0’ – 因为税率将从物料主数据中获取。
重复相同的过程来配置采购税费模板以及其他邦的模板。
我们享受劳动的成果:
现在刷新您的账户,因为我们已经完成了设置。
要验证一切是否按预期工作,请创建一张发票或一个订单:
- 选择一个客户/供应商。
- 检查公司地址,并重新选择您要创建发票/订单的分支机构。
- 选择客户/供应商将获取正确的模板,检查税费是否已正确获取。
示例1:
这里我选择了一个来自马哈拉施特拉邦的客户,公司地址也设为马哈拉施特拉邦,它应该获取我们上面创建的邦内模板。
它自动获取了以下税费模板:
示例2:
这里我选择了一个来自马哈拉施特拉邦的客户,公司地址设为德里,它应该获取我们上面创建的邦外模板。
它自动获取了以下税费模板:
含GST的库存调拨
在某些情况下,法定要求对每次物料转移征收税款。在销售发票等交易中管理税款比在库存录入中更容易。请按照以下步骤,使用销售和采购发票将物料从一个分支机构转移到另一个分支机构。
步骤 1 – 在公司主数据中添加默认的未实现损益账户和默认的在途仓库
步骤 2 – 创建内部客户和供应商,并允许他们与同一公司进行交易。同时,将相应的地址和GST详细信息与相关方关联
步骤 3 – 创建销售发票(从源头发送物料)
3.1 选择您在之前步骤中创建的内部客户
3.2 勾选“更新库存”
3.3 添加要转移的物料,并将源仓库和目标仓库设置为在途仓库
3.4 保存并提交
库存台账
会计台账
步骤 4 – 创建采购发票(在目的地接收物料)
使用销售发票中的“创建内部采购发票”按钮来创建采购发票
选择接收仓库(已接收物料的仓库),然后保存并提交
库存台账
会计台账
注意:发票上自动应用GST取决于您的GST配置。请确保您已配置正确的税模板,并将适当的地址和GST详细信息与内部相关方关联
预收客户账户预付款
从版本 15 开始,ERPNext 支持将客户预付款记入负债科目,将供应商预付款记入资产科目。 这些操作仅能通过付款分录进行。
注意:预付款科目仅限于公司本位币
- 前提条件
要使用此功能,需要先创建以下内容:
- 针对客户的负债类“应收”科目,以及针对供应商的资产类“应付”科目
- 在 公司 -> 科目 -> 预付款 部分维护上述科目
- 如何在负债/资产科目下创建预付款
一旦销售订单或采购订单提交后,您会找到针对该订单创建付款的选项。您也可以创建新的付款分录并手动选择值(如往来单位和付款科目)。以下是根据销售订单创建预付款的步骤。
前往销售订单并点击 创建 > 付款分录。
设置所需详细信息并保存
- 保存后,系统会将“付款至”/“付款自”科目更新为公司主数据中维护的预付款科目。
提交
- 将预付款分配给发票
分配方式与普通预付款类似。请参阅预付款分配
限制
目前,此类型的预付款记账仅支持客户和供应商这两种往来单位类型。
相关
- 普通预付款
普通往来核算
ERPNext 中的通用参与方会计涉及对异常交易进行核算,例如针对主要供应商创建销售发票。
假设一位 ERPNext 用户一直针对某供应商创建采购发票,现在想针对同一供应商创建销售发票,并将此销售发票与之前的一笔采购进行对账。
上述操作可以通过启用通用参与方会计来实现。
步骤:
前往会计设置,并启用通用参与方会计。
在两个参与方之间创建链接
- 如果该参与方的主要角色是供应商,则前往供应商主数据,点击操作 -> 与客户关联
- 如果该参与方的主要角色是客户,则前往客户主数据,点击操作 -> 与供应商关联
针对在第 2 步中设置为次要参与方的客户创建销售发票。
提交销售发票后,系统将自动过账一张日记账分录,该分录会为关联的供应商创建预付款余额。
5. 现在,此日记账分录的预付款可用于与采购发票进行对账。
重建树
重建树功能是 ERPNext 中的一个工具,用于修正和刷新层级数据的结构完整性,特别是会计科目表(CoA)。它确保系统中准确反映父子关系和科目的显示顺序。
问题:
有时在总账报告中,用户选择了某个科目,但报告中的数据却显示为另一个科目,如下方截图所示。
在这种情况下,您可以使用重建树功能,以便用户轻松解决此问题。
重建会计科目表树的分步指南
重建树是一个快速的过程。
步骤 1:访问会计科目表 导航到会计科目表树视图:
会计 > 会计科目表
步骤 2:打开操作菜单 在会计科目表树界面中,找到并点击窗口右上角的菜单按钮(通常由三个点或三条线表示)。
步骤 3:选择“重建树” 从出现的下拉菜单中,选择“重建树”选项
重建树过程完成后,您可以检查总账报告,确保报告中显示正确的数据。
不可变账本
从版本 13 开始引入
从版本 13 开始,ERPNext 引入了一项重大变更。这一变更改变了 ERPNext 中会计分类账(总分类账)和库存分类账的工作方式。分类账应当不可变的原因有很多,列举如下:
- 重新过账未来分录的计算成本很高。要过账一笔回溯交易,所有未来分录都需要重新过账。
- 在库存分类账中,当估值基于先进先出(FIFO)方法时,整个序列可能会被重新生成,这可能会影响后续交易的估值和利润。
- 某一期间已缴税款也可能会发生变化。
以下是对日常交易的影响
1. 取消交易时的冲销分录
在取消任何交易时,不会删除该交易的总账分录,而是会过账冲销分录,以在取消日期抵消该交易的影响。
由于与交易关联的总账分录永远不会被删除,这也意味着已取消的交易及其关联单据将无法再被删除。
2. 限制过账回溯库存分录
由于分类账现在不可变,这意味着未来交易无法更新或重新过账。 因此,用户将无法再过账回溯的库存交易。
例如:假设已为物料 A 创建了一笔库存交易,过账时间为 19-06-2020 23:00:10,那么在此交易之后,您无法为物料 A 过账过账时间早于该时间戳的交易。
ERPNext 快速迁移 QuickBooks 数据
如何设置 QuickBooks 迁移器?
创建 QuickBooks Online 应用
- 在 Awesome-bar 中,转到“QuickBooks 迁移器”文档类型。
- 进入 Inuit 开发者门户。
- 使用现有账户登录或注册新账户。
- 转到“我的应用”页面。
- 点击“选择 API”。
- 在“QuickBooks API”下勾选“会计”。
- 点击“创建应用”。
- 您将被带到应用的仪表板。
- 转到“密钥”选项卡。
- 转到“生产密钥”部分。
- 完成要求。
- 在“QuickBooks 迁移器”文档类型中,系统会为您生成一个“重定向 URL”,并将其添加到您的 Inuit 应用的“重定向 URI”列表中(位于“生产密钥”部分下)。点击保存。
- 确保重定向 URL 以
https开头。
- 从“生产密钥”部分复制“客户端 ID”和“客户端密钥”到“QuickBooks 迁移器”文档类型。
- 保存“QuickBooks 迁移器”。
连接到 QuickBooks Online API
- 点击“连接到 QuickBooks”。
- 浏览器中会打开一个新标签页,系统会要求您登录。
- 如果您有多个公司,请选择要迁移数据的公司。
- 点击“连接”。
- 授权成功后,标签页将关闭。
- 指示器将设置为“已连接到 QuickBooks”。
- 在“QuickBooks 迁移器”中,选择要迁移数据的目标“公司”。
- 保存“QuickBooks 迁移器”。
迁移数据
- 点击“获取数据”按钮。
- 指示器将从“已连接到 QuickBooks”变为“进行中”。
- 进度条将显示迁移状态。
- 根据数据量大小,这可能需要几分钟时间。
- 迁移完成后,指示器将变为“完成”或“失败”。
当我点击获取数据时会发生什么?
账户
现有会计科目表
创建公司时,ERPNext 会为该公司生成一个会计科目表,这些账户将被保留。
账户命名
为避免与现有账户名称冲突,所有来自 QuickBooks 的账户名称将添加“- QB”后缀。
例如:Job Expense 将变为 Job Expense - QB。
注意:ERPNext 还会使用公司缩写对账户名称进行编码。考虑到这一点,Job Expense 将变为 Job Expense - QB - AZ(假设 AZ 是公司缩写)。
根账户
将创建五个根账户,即 Asset、Equity、Expense、Liability、Income,所有账户(根据账户类型)将成为这些账户的子账户。
分组账户
QuickBooks 允许在分组账户上进行交易,但 ERPNext 不允许。为处理此问题,每个分组账户将有一个带连字符名称的子账户。
例如:
Job Expenses
Job Materials
将变为
Job Expenses
Job Expenses - 1
Job Materials
名称冲突
QuickBooks 允许多个账户同名,但 ERPNext 不允许。为处理此问题,每个重复账户将有一个带连字符的名称。
例如:
Insurance
Job Materials
Job Expenses
Job Materials
将变为
Insurance
Job Materials
Job Expenses
Job Materials - 1
物料
命名
所有物料将使用公司编码的名称。
例如:Pen 将变为 Pen - AZ(假设 AZ 是公司缩写)。
计量单位
所有物料将分配 Unit 作为默认计量单位。
小数计量单位
Unit 将允许使用小数值。
库存
无论物料在 QuickBooks 中是库存物料还是非库存物料,都不会保留任何与库存相关的信息。
客户和供应商
命名
所有客户和供应商将使用公司编码的名称。
例如:Pen 将变为 Pen - AZ(假设 AZ 是公司缩写)。
发票
变体
QuickBooks 有四种交易类型的发票变体,所有这些都将保存为销售发票。
- 发票 等同于销售发票。
- 销售收据 等同于 POS 销售发票。
- 贷项通知单 等同于退货销售发票(红字发票)。
- 退款收据 等同于退货 POS 销售发票。
折扣和加价
QuickBooks 使用特殊账户处理加价和折扣,ERPNext 不这样处理折扣费用和加价,而是所有物料将在其收入账户中体现变化。
运费
对于包含运费的发票,将在物料表中添加一个名为“运费”的物料。
四舍五入
ERPNext 使用与 QuickBooks 不同的四舍五入方法,因此,在包含税费且货币不同于公司货币的发票中,销售发票的总额可能与 QuickBooks 发票不同。
特殊情况
如果 QuickBooks 发票关联到 Delayed Charge 或 Statement Charge,则会为此发票创建一张等效的 Journal Entry。
账单
变体
QuickBooks 有两种交易变体的账单,所有这些都将保存为采购发票。
- 账单 等同于采购发票。
- 供应商贷项 等同于退货采购发票。
其他
以下交易将保存为日记账分录
- 预付款
- 账单付款
- 支票
- 信用卡贷项
- 费用
- 库存数量调整
- 日记账分录
- 付款
- 税款支付
税务
对于每个 QuickBooks 税率,将创建一个 ERPNext 科目。
自定义字段
QuickBooks 迁移工具将添加以下自定义字段
公司字段
客户
物料
供应商
QuickBooks ID 字段
客户
物料
日记账分录
采购发票
销售发票
供应商
处理客户多付款
本文档概述了客户超额付款(未分配金额)的标准行为,并提供了配置 ERPNext 以自动将这些超额金额过账到单独的客户预收款(负债)科目的步骤。
1. 标准行为:未分配金额
默认情况下,当为客户创建付款分录且付款金额超过其关联发票的总金额(已分配金额)时,超额金额会存储在客户的债务人(应收)科目下。
运作方式:
超额金额被存储: 该差额在付款分录中被标记为“未分配金额”。
客户贷项: 此未分配金额作为客户账户上的贷方余额。
未来分配: 此贷项可以自动或手动分配给同一客户未来的未结销售发票。
不自动过账负债: 此超额金额不会自动转移到单独的负债科目。
2. 预付款配置(负债科目)
如果您的业务流程要求将超额金额立即过账到特定的客户预收款负债科目(而不是保留在债务人/应收科目中),则必须配置“在单独往来方科目中处理预收款”功能。
所需配置步骤:
步骤 1:创建客户预收款科目 您必须首先在负债科目组下创建一个类型为“应收”的特定科目。
- 列表项前往会计 > 科目表。
- 在主要负债科目(例如,流动负债)下创建一个新科目(例如,客户预收款 – 负债)。
- 将科目类型设置为“应收”。 (注意:在负债下使用“应收”类型是 ERPNext 的一项特定要求,以便此功能正确链接到客户分类账。)
步骤 2:在公司主数据中设置预收款科目 接下来,您必须在公司设置中指定这个新创建的科目。
- 列表项前往会计 > 公司。
- 选择您的公司。
- 滚动到“科目”部分。
- 在“预付款”字段中,选择您在步骤 1 中创建的“客户预收款 – 负债”科目。
- 保存公司记录。
3. 创建用于预收款分配的付款分录
配置完成后,需要指示系统将付款视为预收款,而不是将其关联到会产生超额金额的发票。
推荐方法:单独的预付款付款分录 最直接且可靠的方法是专门为预付款金额创建付款分录。
- 列表项前往会计 > 付款分录。
- 将付款类型设置为“收款”。
- 选择客户。
- 在“付款金额”字段中输入预付款金额(例如,2,500 美元)。
- 关键点:不要在“分配”表中关联任何发票。保持该表为空。
保存后的系统行为:
当付款分录在没有任何分配的情况下保存时,全部付款金额将自动导向到公司主数据中配置的“客户预收款 – 负债”科目。
替代方法:拆分付款
如果客户支付一笔涵盖发票金额和超额金额的款项,您可以将付款拆分为两笔分录:
- 列表项付款分录 1(发票):为现有销售发票的精确金额创建一笔付款分录。
- 付款分录 2(预收款):为超额金额(例如,2,500 美元)创建第二笔付款分录,遵循上述推荐方法(无发票分配)。
此过程可确保超额资金被干净地转移到指定的负债科目中,以实现正确的会计核算。
付款中的附加费用
当客户通过银行或支付网关电汇付款金额时,交易会产生一笔转账手续费。这会导致客户支付的金额(等于发票金额)与我们银行账户实际收到的金额之间存在差异。在 ERPNext 中,您可以将这笔差异金额分配到“付款扣除”或“损失”部分。
在付款条目中扣除银行手续费的使用场景
- 发票金额 / 客户支付 = 4810 美元
- 银行实际收到 = 4800 美元
- 银行扣除的手续费 = 10 美元
在以下步骤中,我们将学习如何创建一个付款条目,将发票标记为已付,同时将银行手续费记为扣除项。
分配已付金额
在此字段中,输入银行账户实际收到的金额。根据我们的使用场景,即使发票金额是 4810 美元,这里也应填写 4800 美元。
针对销售发票分配发票金额
当已付金额更新为小于发票金额时,针对销售发票的分配金额会自动更新。在这种情况下,它会减少。为确保此付款条目后销售发票已完全付清,请确保分配金额与发票金额相同。
在付款参考表中,确保将 4810 美元更新到分配金额,以便将发票标记为已付。
在扣除项中分配差异金额
由于已付金额(4800 美元)与分配金额(4810 美元)不同,因此有 10 美元的差异金额未分配到任何会计分类账。为确保此条目中的借方和贷方过账匹配,需要分配一个账户来处理这 10 美元的差异。由于此差异源于银行手续费,因此该金额将分配到在扣除表中选择的相关账户。
最终过账
根据此分配:
- 发票将被标记为完全付清
- 银行账户将仅反映银行实际收到的金额,从而简化对账
- 通过付款扣除和损失过账,准确记录银行手续费或货币兑换损益