IDempiere会计分录
来自iDempiere zh
贡献者:
Quality Systems & Solutions - QSS Ltda.
Carlos Ruiz
分配
单据说明 | DR | CR | 条件 | 释义 |
---|---|---|---|---|
收付款 | 基于表C_AllocationHdr和C_AllocationLine | |||
无发票收付款 | 仅无发票收付款 (C_Invoice_ID = 0) 如果单据基准类型 |
|||
付款选择 C_BankAccount_Acct -> B_PaymentSelect_Acct |
单据基准类型=付款单(APP) | |||
预收账款 - 客户预付款 C_BP_Customer_Acct -> C_Prepayment_Acct |
单据基准类型 <> 付款单(APP) AND 预售/预付 AND 收款事务 | |||
预付账款 - 供应商 C_BP_Vendor_Acct -> V_Prepayment_Acct |
单据基准类型 <> 付款单(APP) AND 预售/预付 | |||
未分配收款 C_BankAccount_Acct -> B_UnallocatedCash_Acct |
||||
接收客户发票 | 存在发票并且是销售事务 | 如果 会计模式.过账清算账户 = N 同时 (清算中账户 未分配收款C_BankAccount_Acct -> B_UnallocatedCash_Acct = 应收账款 - 贸易C_BP_Customer_Acct -> C_Receivable_Acct,系统不会自动清算过账) | ||
存在收付款(C_Payment_ID > 0) | ||||
付款选择 C_BankAccount_Acct -> B_PaymentSelect_Acct |
单据基准类型=付款单(APP) | |||
预收账款 - 客户 C_BP_Customer_Acct -> C_Prepayment_Acct |
单据基准类型 <> 付款单(APP) AND 预售/预付 AND 收款事务 | |||
预付账款 - 供应商 C_BP_Vendor_Acct -> V_Prepayment_Acct |
单据基准类型 <> 付款单(APP) AND 预售/预付 | |||
未分配收款 C_BankAccount_Acct -> B_UnallocatedCash_Acct |
否则 | |||
主营付款折扣费用 C_BP_Group_Acct -> PayDiscount_Exp_Acct |
如果有折扣 | 值为折扣金额 | ||
'坏账冲销 C_BP_Group_Acct -> WriteOff_Acct |
如果是坏账 | 值为坏账金额 | ||
应收账款 - 贸易 C_BP_Customer_Acct -> C_Receivable_Acct |
会计模式.权责发生制 = Y | 值为 原币金额 + 折扣金额 + 坏账金额 | ||
当会计模式不是权责发生制时,系统在createCashBasedAcct中生成不同的过账 (本文档中尚未描述) | ||||
应付发票支付 | 如果 会计模式.过账清算账户 = N 同时 (清算中账户 付款选择C_BankAccount_Acct -> B_PaymentSelect_Acct is equal to 应付账款 - 贸易C_BP_Vendor_Acct -> V_Liability_Acct,系统不会自动清算过账) | |||
应付账款 - 贸易 C_BP_Vendor_Acct -> V_Liability_Acct |
会计模式.权责发生制 = Y | |||
存在收付款(C_Payment_ID > 0) | ||||
付款选择 C_BankAccount_Acct -> B_PaymentSelect_Acct |
单据基准类型=付款单(APP) | |||
预收账款 - 客户 C_BP_Customer_Acct -> C_Prepayment_Acct |
单据基准类型 <> 付款单(APP) AND 预售/预付 AND 收款事务 | |||
C_BP_Vendor_Acct -> V_Prepayment_Acct | 单据基准类型 <> 付款单(APP) AND 预售/预付 | |||
未分配收款 C_BankAccount_Acct -> B_UnallocatedCash_Acct |
否则 | |||
付款折扣费用 C_BP_Group_Acct -> PayDiscount_Rev_Acct |
如果有折扣 | |||
坏账冲销 C_BP_Group_Acct -> WriteOff_Acct |
如果为坏账 | |||
调整税过账 | 是发票 同时 会计模式.调整税 = Y | value to correct taxCorrectionAmt depends on isTaxCorrectionDiscount and isTaxCorrectionWriteOff. To find the value to correct looks in Fact_Acct the posting of that invoice and compares with actual posting | ||
主营付款折扣费用 C_BP_Group_Acct -> PayDiscount_Exp_Acct |
应收发票 | |||
付款折扣费用 C_BP_Group_Acct -> PayDiscount_Rev_Acct |
应付发票 | |||
坏账冲销 C_BP_Group_Acct -> WriteOff_Acct |
||||
acct | Against the account used in Fact_Acct to reverse Movements are DB or CR depending on the sign (negative or positive) or correction | |||
Realized Gain & Loss Posting | if there is invoice and payment is in different currency than accounting schema or invoice currency | Looks the sum of DB and CR in Fact_Acct of corresponding invoice, find the currency conversion in C_Conversion_Rate for the accounting date and conversion type selected in invoice | ||
已实现跌价损失 C_AcctSchema_Default -> RealizedLoss_Acct |
未变现获利 C_AcctSchema_Default -> RealizedGain_Acct |
if sales invoice | ||
acct | acct | against the account that originally was posted in invoice |
银行/现金
单据说明 | DR | CR | 条件 | 释义 |
---|---|---|---|---|
银行/现金对账单 | 基于表C_BankStatement和C_BankStatementLine | |||
银行费用 | 银行存款 C_BankAccount_Acct -> B_Asset_Acct |
Bank (if debit or credit is determined according to the sign of value StmtAmt) iDempiere won't post clearing if C_AcctSchema.isPostIfClearingEqual = N AND (clearing account 在途银行存款C_BankAccount_Acct -> B_InTransit_Acct is equal to 银行存款C_BankAccount_Acct -> B_Asset_Acct) | ||
在途银行存款 C_BankAccount_Acct -> B_InTransit_Acct |
Payment (value TrxAmt, DB or CR depending on the sign) | |||
费用 C_Charge_Acct -> CH_Expense_Acct |
存在费用时(C_Charge_ID <> 0) | value ChargeAmt, DB or CR depending on the sign | ||
利息支出 C_BankAccount_Acct -> B_InterestExp_Acct |
利息支出 C_BankAccount_Acct -> B_InterestExp_Acct |
如果 银行现金对账单明细.利息 < 0 | DB or CR depending on the sign of the quantity (value InterestAmt) | |
利息收入 C_BankAccount_Acct -> B_InterestRev_Acct |
利息收入 C_BankAccount_Acct -> B_InterestRev_Acct |
如果 银行现金对账单明细.利息 > 0 | DB or CR depending on the sign of the quantity |
总分类账
单据说明 | DR | CR | 条件 | 释义 |
---|---|---|---|---|
总分类账 | 基于表GL_Journal和GL_JournalLine | |||
分类账 | 选定的具体的科目 GL_JournalLine -> account_id |
选定的具体的科目 GL_JournalLine -> account_id |
收发货
单据说明 | DR | CR | 条件 | 释义 |
---|---|---|---|---|
发货单和收货单 | 基于表M_InOut和M_InOutLine | |||
销售发货 (单据类型:Material Shipment) |
商品销售成本 M_Product_Acct -> P_Cogs_Acct |
库存商品 M_Product_Acct -> P_Asset_Acct |
销售 - 发货 | 基于M_Cost来计算成本. 如果产品已经在M_CostDetail中创建注册 |
采购入库 (单据类型:Material Receipt) |
采购 - 收货 | 基于M_Cost来计算成本 | ||
产品费用 M_Product_Acct -> P_Expense_Acct |
产品为服务类型时 | |||
库存商品 M_Product_Acct -> P_Asset_Acct |
产品不是服务类型时 | |||
应付账款 - 暂估 C_BP_Group_Acct -> NotInvoicedReceipts_Acct |
库存
单据说明 | DR | CR | 条件 | 释义 |
---|---|---|---|---|
内部领用及库存盘点 | 基于表M_Inventory和M_InventoryLine | |||
库存商品 M_Product_Acct -> P_Asset_Acct |
基于M_CostDetail计算成本 | |||
费用 C_Charge_Acct -> CH_Expense_Acct |
存在费用时(C_Charge_ID <> 0) | |||
库存差异 M_Warehouse_Acct -> W_Differences_Acct |
重新创建M_CostDetail |
发票
单据说明 | DR | CR | 条件 | 释义 |
---|---|---|---|---|
发票 | there is no accounting for not accrual | 基于表C_Invoice, C_InvoiceTax 和 C_InvoiceLine | ||
销售发票 (客户) (单据类型 ARInvoice or ARProForma) | ||||
Header Charge | ||||
费用 C_Charge_Acct -> CH_Expense_Acct |
存在费用时(C_Charge_ID <> 0) | |||
应交税费- 增值税 C_Tax_Acct -> T_Due_Acct |
遍历每个税种 | |||
Revenue | ||||
M_Product_Acct -> P_Revenue_Acct | if c_acctschema.isTradeDiscountPosted use the price list, otherwise use the price | |||
M_Product_Acct -> P_TradeDiscountGrant_Acct | if c_acctschema.isTradeDiscountPosted post the discount here | |||
C_BP_Group_Acct -> UnearnedRevenue_Acct | if involved product in invoice has defined revenue recognition plan, it changes (in FactLine.beforesave) the account P_Revenue by the account defined in the product and creates a record in C_RevenueRecognition_Plan | |||
Receivables | ||||
C_BP_Customer_Acct -> C_Receivable_Acct | post the value of products | |||
Credit Note (Customer) (DOC ARCredit) | ||||
Header Charge | ||||
费用 C_Charge_Acct -> CH_Expense_Acct |
存在费用时(C_Charge_ID <> 0) | |||
应交税费- 增值税C_Tax_Acct -> T_Due_Acct | 遍历每个税种 | |||
Revenue | ||||
M_Product_Acct -> P_Revenue_Acct | if c_acctschema.isTradeDiscountPosted use the price list, otherwise use the price | |||
M_Product_Acct -> P_TradeDiscountGrant_Acct | if c_acctschema.isTradeDiscountPosted post the discount here | |||
Receivables | ||||
C_BP_Customer_Acct -> C_Receivable_Acct | post the value of products | |||
应付发票 (供应商) (单据类型 APInvoice) | ||||
费用 C_Charge_Acct -> CH_Expense_Acct |
存在费用时(C_Charge_ID <> 0) | |||
其他应收款 - 应收税款C_Tax_Acct -> T_Credit_Acct o 税金及附加T_Expense_Acct (是消费税时) | 遍历每个税种 | |||
产品费用 M_Product_Acct -> P_Expense_Acct |
产品费用 M_Product_Acct -> P_Expense_Acct |
费用,会计模式.显式的过账成本调整 | 基于M_CostDetail计算成本 | |
产品库存冲销 M_Product_Acct -> P_InventoryClearing_Acct |
是商品时 | |||
产品费用 M_Product_Acct -> P_Expense_Acct |
不是商品时 | |||
销货折扣收入 M_Product_Acct -> P_TradeDiscountRec_Acct |
如果会计模式.生成折扣分录(c_acctschema.isTradeDiscounted=Y)时,使用价格表来生成折扣对应的费用或清账信息 | |||
债务 | ||||
应付账款 - 贸易 C_BP_Vendor_Acct -> V_Liability_Acct |
||||
Credit Note (Vendor) (DOC APCredit) | ||||
费用 C_Charge_Acct -> CH_Expense_Acct |
存在费用时(C_Charge_ID <> 0) | |||
其他应收款 - 应收税款C_Tax_Acct -> T_Credit_Acct o 税金及附加T_Expense_Acct (是消费税时) | TaxCredit | |||
产品费用 M_Product_Acct -> P_Expense_Acct |
产品费用 M_Product_Acct -> P_Expense_Acct |
Expense, if C_AcctSchema.isExplicitCostAdjustment | calculates the cost based in M_CostDetail | |
产品库存冲销 M_Product_Acct -> P_InventoryClearing_Acct |
if item | |||
产品费用 M_Product_Acct -> P_Expense_Acct |
if non-item | |||
销货折扣收入 M_Product_Acct -> P_TradeDiscountRec_Acct |
如果会计模式.生成折扣分录(c_acctschema.isTradeDiscounted=Y)时,使用价格表来生成折扣对应的费用或清账信息 | |||
债务 | ||||
应付账款 - 贸易C_BP_Vendor_Acct -> V_Liability_Acct | ||||
到岸成本 | 产品成本调整 M_Product_Acct -> P_CostAdjustment_Acct |
|||
产品费用 M_Product_Acct -> P_Expense_Acct |
||||
产品库存冲销 M_Product_Acct -> P_InventoryClearing_Acct |
发票匹配(MatchInv)
单据说明 | DR | CR | 条件 | 释义 |
---|---|---|---|---|
发票匹配 | 基于表M_MatchInv、C_InvoiceLine和M_InOutLine | |||
应付账款 - 暂估 C_BP_Group_Acct -> NotInvoicedReceipts_Acct |
当 会计模式.过账清算账户(C_AcctSchema.isPostIfClearingEqual) = N AND (清算账户应付账款 - 暂估(C_BP_Group_Acct -> NotInvoicedReceipts_Acct) =产品库存冲销(M_Product_Acct -> P_InventoryClearing_Acct)时,iDempiere将不会过账清算 | |||
会计模式.权责发生制 = Y 时 | ||||
产品库存冲销 M_Product_Acct -> P_InventoryClearing_Acct |
是商品时 | |||
产品费用 M_Product_Acct -> P_Expense_Acct |
不是商品时 | |||
会计模式.权责发生制 = N 时,iDempiere会在createCashBasedAcct中生成不同的会计分录(目前本文档中仍未描述) | ||||
发票价差 M_Product_Acct -> P_InvoicePriceVariance_Acct |
发票价格差异(IPV) | 更新M_Product_Costing | ||
承诺确认的发布(Commitment release) | ||||
会计模式.权责发生制 = Y AND 会计模式.承付类型 不为空 | ||||
产品费用 M_Product_Acct -> P_Expense_Acct |
对于每个承付,每个C_OrderLine会匹配对应的C_InvoiceLine或者M_MatchPO | |||
采购承付款 C_AcctSchema_GL -> CommitmentOffset_Acct |
|
采购匹配(MatchPO)
单据说明 | DR | CR | 条件 | 释义 |
---|---|---|---|---|
采购匹配 | 仅用于标准成本计算 当 会计模式.过账清算账户(C_AcctSchema.isPostIfClearingEqual) = N AND (清算账户采购价差(PPV)(M_Product_Acct -> P_PurchasePriceVariance_Acct) =采购价差(PPV)冲抵(C_AcctSchema_GL -> PPVOffset_Acct)时,iDempiere将不会过账清算 | |||
采购价差(PPV) M_Product_Acct -> P_PurchasePriceVariance_Acct |
采购价差(PPV)冲抵 C_AcctSchema_GL -> PPVOffset_Acct |
对订单行的成本与标准成本之间的差额进行过账
|
调拨、移仓
单据说明 | DR | CR | 条件 | 释义 |
---|---|---|---|---|
调拨单 | 基于表 M_Movement和M_MovementLine | |||
库存商品 M_Product_Acct -> P_Asset_Acct |
库存商品 M_Product_Acct -> P_Asset_Acct |
库存 | DB or CR depending on thevalue, moving from a locator to another in accounting dimension | |
如果在组织间进行调拨,同时会计模式.成本级别配置成组织时,会在M_CostDetail中创建调拨信息
|
订单
译者注:销售承诺没有在该文档中描述,缺省账户COMMITMENTOFFSETSALES_ACCT也没有定义,后续在测试后按需回来修改
代码中也没有isCreateCommitment,目前分成了MAcctSchema.isCreatePOCommitment和MAcctSchema.isCreateSOCommitment两个方法
单据说明 | DR | CR | 条件 | 释义 |
---|---|---|---|---|
订单 | 基于表C_Order, C_OrderTax 和 C_OrderLine (转到M_RequisionLine) | |||
采购订单 (DOC Porder) | 更新 M_Product_PO.PriceLastPO, M_Product_Costing.PriceLastPO | |||
如果会计模式.承诺类型的配置值中包含承诺(即:采购/销售的承诺 or 采购/销售的承诺与预约 or 采购承诺 or 采购承诺与预约 or 销售承诺),那么在过账时创建对应分录 (之后在发票匹配时释放) | ||||
产品费用 M_Product_Acct -> P_Expense_Acct |
||||
采购承诺款 C_AcctSchema_GL -> CommitmentOffset_Acct |
||||
如果会计模式.承诺类型的配置值中包含预约(即:采购/销售的承诺与预约 or 采购承诺与预约),那么在过账时创建对应分录 (释放预约款) | ||||
产品费用 M_Product_Acct -> P_Expense_Acct |
||||
采购承诺款 C_AcctSchema_GL -> CommitmentOffset_Acct |
收付款(Payment)
单据说明 | DR | CR | 条件 | 释义 |
---|---|---|---|---|
收付款 | 基于表C_Payment | |||
收款单 (单据类型 ARR - ARReceipt) | 在途银行转胀 C_BankAccount_Acct -> B_InTransit_Acct |
|||
费用 C_Charge_Acct -> CH_Expense_Acct |
存在费用时(C_Charge_ID <> 0) | |||
预收账款 - 客户预付款 C_BP_Customer_Acct -> C_Prepayment_Acct |
如果收款单为预收款 | |||
未分配收款 C_BankAccount_Acct -> B_UnallocatedCash_Acct |
如果收款单不是预收款 | |||
付款单 (单据类型 APP - APPayment) | ||||
费用 C_Charge_Acct -> CH_Expense_Acct |
存在费用时(C_Charge_ID <> 0) | |||
预付账款 - 供应商 C_BP_Vendor_Acct -> V_Prepayment_Acct |
如果付款单为预付款 | |||
付款选择 C_BankAccount_Acct -> B_PaymentSelect_Acct |
如果付款单不是预付款 | |||
在途银行转胀 C_BankAccount_Acct -> B_InTransit_Acct |
简易生产
单据说明 | DR | CR | 条件 | 释义
|
---|---|---|---|---|
简易生产 | 基于表M_Production, M_ProductionPlan 和 M_ProductionLine | |||
库存商品 M_Product_Acct -> P_Asset_Acct |
库存商品 M_Product_Acct -> P_Asset_Acct |
库存 | BOM或产品的成本 | |
工单费率差异 M_Product_Acct -> P_RATEVARIANCE_ACCT |
库存 |
|
项目投放
单据说明 | DR | CR | 条件 | 释义
|
---|---|---|---|---|
项目投放 | 基于表C_ProjectIssue | |||
如果项目有M_InOutLine,则通过M_InOutLine, C_Order和C_OrderLine计算产品成本 否则,如果项目有S_TimeExpenseLine,则计算服务成本(注意/**TODO人工成本*/) | ||||
项目过程资产 C_Project_Acct -> PJ_WIP_Acct |
||||
项目资产 C_Project_Acct -> PJ_Asset_Acct |
项目类别为资产项目 (A) | |||
产品费用 M_Product_Acct -> P_Expense_Acct |
产品为服务类型时 | |||
库存商品 M_Product_Acct -> P_Asset_Acct |
产品为非服务类型时 |
|
请购单
单据说明 | DR | CR | 条件 | 释义 |
---|---|---|---|---|
请购单 | 基于表M_Requisition和M_RequisitionLine | |||
如果会计模式.承诺类型的配置值中包含预约(即:采购/销售的承诺与预约 or 采购承诺与预约),那么在过账时创建对应分录 | ||||
产品费用 M_Product_Acct -> P_Expense_Acct |
||||
采购承诺款 C_AcctSchema_GL -> CommitmentOffset_Acct |
涉及整体的会计分录
单据说明 | DR | CR | 条件 | 释义 |
---|---|---|---|---|
所有跨组织交易的单据 | 应收账款 -公司内部往来 C_AcctSchema_GL -> InterCompanyDueFrom_Acct |
应付账款 - 公司内部往来 C_AcctSchema_GL -> InterCompanyDueTo_Acct |
当成本类型为组织时,必须确保跨组织的会计平衡 | |
所有存在货币不平衡的单据 | 货币差异调整 C_AcctSchema_GL -> CurrencyBalancing_Acct |
如果会计模式.总账.使用货币差异调整账户 = Y 例如发票过账出现不平衡时会使用该科目 | ||
所有存在不平衡的单据 | 暂记余额 C_AcctSchema_GL -> SuspenseBalancing_Acct |
如果会计模式.总账.使用差异待定账户 = Y , 则在单据不平衡时进行过账 |
另请参阅
另请参阅: