mirror of
https://github.com/odoo/documentation.git
synced 2025-12-12 07:29:27 +07:00
The names of the accrual entry operations were updated. New screenshots
were added.
Task ID: 5107300
X-original-commit: f1d3ff015a
Part-of: odoo/documentation#15300
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Signed-off-by: Lulu Grimalkin (lugr) <lugr@odoo.com>
1344 lines
71 KiB
JavaScript
1344 lines
71 KiB
JavaScript
/* global Immutable */
|
|
// NOTE: used by valuation-journal.js & valuation-accounting.js
|
|
|
|
// Deep conversion with OrderedMap as default
|
|
Immutable.fromJSButOrdered = code => Immutable.fromJS(code, (key, value) =>
|
|
Immutable.Iterable.isKeyed(value) ? value.toOrderedMap() : value.toList());
|
|
|
|
const VALUATION_STANDARDS = Immutable.fromJS([
|
|
{ name: 'continental', text: "Continental (Expenses = Purchase Expenses)" },
|
|
{ name: 'anglo_saxon', text: "Anglo-Saxon (Expenses = Cost of Goods Sold)" },
|
|
]);
|
|
|
|
const VALUATION_METHODS = Immutable.fromJS([
|
|
{ name: 'periodic', text: "Periodic: focuses on expenses by nature" },
|
|
{ name: 'perpetual', text: "Perpetual: focuses on inventory value" },
|
|
]);
|
|
|
|
const VALUATION_JOURNALS = Immutable.fromJSButOrdered({
|
|
continental: {
|
|
EQUITY: { code: 1, title: "Equity and Liabilities" },
|
|
ASSETS: { code: 2, title: "Fixed Assets" },
|
|
STOCK: {
|
|
code: 3, title: "Stock (Current Assets)",
|
|
RAW: { code: 300000, title: "Inventory Raw Materials" },
|
|
WIP: { code: 320000, title: "Work in Progress" },
|
|
FINISHED_GOODS: { code: 330000, title: "Inventory Finished Goods" },
|
|
GOODS_FOR_RESALE: { code: 340000, title: "Inventory Goods Purchase for Resale" },
|
|
},
|
|
LIABILITIES: {
|
|
code: 4, title: "Receivables and Payables",
|
|
CUSTOMERS: { code: 400000, title: "Customers" },
|
|
VAT_RECOVERABLE: { code: 411000, title: "VAT Recoverable" },
|
|
RECEIVABLE: { code: 414000, title: "Income Receivable" },
|
|
SUPPLIERS: { code: 440000, title: "Suppliers" },
|
|
INVOICES_UNRECEIVED: { code: 444000, title: "Invoices to Be Received" },
|
|
VAT_PAYABLE: { code: 451000, title: "VAT Payable" },
|
|
DEFERRED_CHARGES: { code: 490000, title: "Deferred Charges" },
|
|
DEFERRED_INCOME: { code: 493000, title: "Deferred Income" },
|
|
},
|
|
CASH: { code: 5, title: "Financial Accounts and Cash" },
|
|
EXPENSES: {
|
|
code: 6, title: "Expenses",
|
|
RAW: { code: 600000, title: "Raw Materials" },
|
|
FINISHED: { code: 600200, title: "Cost of Finished Goods" },
|
|
GOODS_FOR_RESALE: { code: 604000, title: "Goods for Resale" },
|
|
CHANGE_IN_RAW: { code: 609000, title: "Decrease (Increase) in Stocks of Raw Materials" },
|
|
CHANGE_IN_GOODS_FOR_RESALE: { code: 609400, title: "Decrease (Increase) in Stocks of Goods Purchased for Resale" },
|
|
},
|
|
REVENUES: {
|
|
code: 7, title: "Revenues",
|
|
SALES: { code: 700000, title: "Sales" },
|
|
CHANGE_IN_WIP: { code: 712000, title: "Increase (Decrease) in Stocks of Work in Progress" },
|
|
CHANGE_IN_FINISHED_GOODS: { code: 713000, title: "Increase (Decrease) in Stocks of Finished Goods" },
|
|
},
|
|
INITIAL_BALANCE: { code: 0, title: "General Balance for Inventory Initial Value" },
|
|
},
|
|
anglo_saxon: {
|
|
ASSETS: {
|
|
code: 1, title: "Assets",
|
|
BANK: { code: 101401, title: "Bank" },
|
|
INVENTORY: { code: 110100, title: "Inventory" },
|
|
RAW: { code: 110101, title: "Raw Materials Inventory" },
|
|
MANUFACTURED: { code: 110102, title: "Manufactured Products Inventory" },
|
|
COST: { code: 110400, title: "Cost of Production" },
|
|
VARIATIONS: { code: 110600, title: "Inventory Variations" },
|
|
RECEIVABLE: { code: 121000, title: "Accounts Receivable" },
|
|
UNINVOICED: { code: 121200, title: "Uninvoiced Receivable" },
|
|
PREPAID: { code: 128000, title: "Prepaid Expenses" },
|
|
TAX_PAID: { code: 131000, title: "Tax Paid" },
|
|
},
|
|
LIABILITIES: {
|
|
code: 2, title: "Liabilities",
|
|
PAYABLE: { code: 211000, title: "Accounts Payable" },
|
|
UNINVOICED: {
|
|
code: 211100,
|
|
title: "Bills to Receive/Goods Received Not Invoiced",
|
|
},
|
|
DEFERRED: { code: 212000, title: "Deferred Revenue" },
|
|
TAX_RECEIVED: { code: 251000, title: "Tax Received" },
|
|
},
|
|
EQUITY: {
|
|
code: 3, title: "Equity",
|
|
COMMON: { code: 303000, title: "Common Stock" },
|
|
},
|
|
REVENUES: {
|
|
code: 4, title: "Revenue",
|
|
SALES: { code: 400000, title: "Product Sales" },
|
|
},
|
|
EXPENSES: {
|
|
code: 5, title: "Expenses",
|
|
COST: { code: 500000, title: "Cost of Goods Sold" },
|
|
PRICE_DIFFERENCE: { code: 530000, title: "Price Difference" },
|
|
INVENTORY_LOSS: { code: 609100, title: "Inventory Loss Expense" },
|
|
MISC: { code: 609000, title: "Miscellaneous Expenses" },
|
|
},
|
|
INITIAL_BALANCE: { code: 0, title: "General Balance for Inventory Initial Value" },
|
|
},
|
|
});
|
|
|
|
/* Entry and review operations follow the following schema:
|
|
{ name: {
|
|
title: "...",
|
|
continental: {
|
|
periodic: {
|
|
operations: [{ account: [...], // corresponds to the above table
|
|
debit OR credit: n, // mutually exclusive
|
|
entries: [...], // reviews only, optional [accounting only]
|
|
except: [...], // reviews only, optional [accounting only]
|
|
}, ...],
|
|
journal_operations: [...], // `closing' reviews only [journaling only]
|
|
explanation: [...], // [journaling only]
|
|
configuration: [...], // [journaling only]
|
|
},
|
|
perpetual: { ditto },
|
|
},
|
|
anglo_saxon: {
|
|
periodic: { ditto },
|
|
perpetual: { ditto },
|
|
},
|
|
},
|
|
}, ...
|
|
See below for more on review operations.
|
|
*/
|
|
const VALUATION_ENTRIES = Immutable.fromJSButOrdered({
|
|
initial_inventory: {
|
|
title: "Initial Inventory (Goods for Resale $50)",
|
|
continental: {
|
|
periodic: {
|
|
operations: [
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], debit: 50 },
|
|
{ account: ['INITIAL_BALANCE'], credit: 50 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Stock Account: defined on the product category",
|
|
],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], debit: 50 },
|
|
{ account: ['INITIAL_BALANCE'], credit: 50 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Stock Account: defined on the product category",
|
|
],
|
|
},
|
|
},
|
|
anglo_saxon: {
|
|
periodic: {
|
|
operations: [
|
|
{ account: ['ASSETS', 'INVENTORY'], debit: 50 },
|
|
{ account: ['INITIAL_BALANCE'], credit: 50 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Stock Account: defined on the product category",
|
|
],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['ASSETS', 'INVENTORY'], debit: 50 },
|
|
{ account: ['INITIAL_BALANCE'], credit: 50 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Stock Account: defined on the product category",
|
|
],
|
|
},
|
|
},
|
|
},
|
|
supplier_reception: {
|
|
title: "Supplier Goods Reception (PO $50, Bill $50)",
|
|
continental: {
|
|
periodic: {
|
|
operations: [],
|
|
explanation: [
|
|
"In a periodic inventory valuation, goods' receipts are not directly posted in the accounting.",
|
|
"The inventory value is updated when entries are generated from Inventory Valuation report at closing.",
|
|
],
|
|
configuration: [],
|
|
},
|
|
perpetual: {
|
|
operations: [],
|
|
explanation: [
|
|
"In a perpetual inventory valuation, goods receipts are not directly posted in the accounting.",
|
|
"The inventory value is updated:",
|
|
"- when the invoice/bill is posted",
|
|
"- when entries are generated from Inventory Valuation report at closing",
|
|
],
|
|
configuration: [],
|
|
},
|
|
},
|
|
anglo_saxon: {
|
|
periodic: {
|
|
operations: [],
|
|
explanation: [
|
|
"In a periodic inventory valuation, goods' receipts are not directly posted in the accounting.",
|
|
"The inventory value is updated when entries are generated from Inventory Valuation report at closing.",
|
|
],
|
|
configuration: [],
|
|
},
|
|
perpetual: {
|
|
operations: [],
|
|
explanation: [
|
|
"In a perpetual inventory valuation, goods receipts are not directly posted in the accounting.",
|
|
"The inventory value is updated:",
|
|
"- when the invoice/bill is posted",
|
|
"- when entries are generated from Inventory Valuation report at closing",
|
|
],
|
|
configuration: [],
|
|
},
|
|
},
|
|
},
|
|
supplier_bill: {
|
|
title: "Supplier Bill (PO $50, Bill $50)",
|
|
continental: {
|
|
periodic: {
|
|
operations: [
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], debit: 50 },
|
|
{ account: ['LIABILITIES', 'SUPPLIERS'], credit: 54.5 },
|
|
{ account: ['LIABILITIES', 'VAT_RECOVERABLE'], debit: 4.5 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Account Payable: defined on the supplier contact",
|
|
"Tax Account: defined on the account from the Purchase Taxes set on the product",
|
|
"Expense Account: defined on the product/product category",
|
|
],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], debit: 50 },
|
|
{ account: ['LIABILITIES', 'SUPPLIERS'], credit: 54.5 },
|
|
{ account: ['LIABILITIES', 'VAT_RECOVERABLE'], debit: 4.5 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Stock Account: defined on the product category",
|
|
"Account Payable Account: defined on the supplier contact",
|
|
"Tax Account: defined on the account from the Purchase Taxes set on the product",
|
|
],
|
|
},
|
|
},
|
|
anglo_saxon: {
|
|
periodic: {
|
|
operations: [
|
|
{ account: ['EXPENSES', 'COST'], debit: 50 },
|
|
{ account: ['LIABILITIES', 'PAYABLE'], credit: 54.5 },
|
|
{ account: ['ASSETS', 'TAX_PAID'], debit: 4.5 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Account Payable: defined on the supplier contact",
|
|
"Tax Account: defined on the account from the Purchase Taxes set on the product",
|
|
"Expense Account: defined on the product/product category",
|
|
],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['ASSETS', 'INVENTORY'], debit: 50 },
|
|
{ account: ['LIABILITIES', 'PAYABLE'], credit: 54.5 },
|
|
{ account: ['ASSETS', 'TAX_PAID'], debit: 4.5 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Account Payable: defined on the supplier contact",
|
|
"Tax Account: defined on the account from the Purchase Taxes set on the product",
|
|
"Expense Account: defined on the product/product category",
|
|
],
|
|
},
|
|
},
|
|
},
|
|
supplier_reception_extra: {
|
|
title: "Supplier Goods Reception (PO $48, Bill $50)",
|
|
continental: {
|
|
periodic: {
|
|
operations: [],
|
|
explanation: [
|
|
"In a periodic inventory valuation, goods' receipts are not directly posted in the accounting.",
|
|
"The inventory value is updated when entries are generated from Inventory Valuation report at closing.",
|
|
],
|
|
configuration: [],
|
|
},
|
|
perpetual: {
|
|
operations: [],
|
|
explanation: [
|
|
"In a perpetual inventory valuation, goods receipts are not directly posted in the accounting.",
|
|
"The inventory value is updated:",
|
|
"- when the invoice/bill is posted",
|
|
"- when entries are generated from Inventory Valuation report at closing",
|
|
],
|
|
configuration: [],
|
|
},
|
|
},
|
|
anglo_saxon: {
|
|
periodic: {
|
|
operations: [],
|
|
explanation: [
|
|
"In a periodic inventory valuation, goods' receipts are not directly posted in the accounting.",
|
|
"The inventory value is updated when entries are generated from Inventory Valuation report at closing.",
|
|
],
|
|
configuration: [],
|
|
},
|
|
perpetual: {
|
|
operations: [],
|
|
explanation: [
|
|
"In a perpetual inventory valuation, goods receipts are not directly posted in the accounting.",
|
|
"The inventory value is updated:",
|
|
"- when the invoice/bill is posted",
|
|
"- when entries are generated from Inventory Valuation report at closing",
|
|
],
|
|
configuration: [],
|
|
},
|
|
},
|
|
},
|
|
supplier_bill_extra: {
|
|
title: "Supplier Bill (PO $48, Bill $50)",
|
|
continental: {
|
|
periodic: {
|
|
operations: [
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], debit: 50 },
|
|
{ account: ['LIABILITIES', 'SUPPLIERS'], credit: 54.5 },
|
|
{ account: ['LIABILITIES', 'VAT_RECOVERABLE'], debit: 4.5 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Account Payable: defined on the supplier contact",
|
|
"Tax Account: defined on the account from the Purchase Taxes set on the product",
|
|
"Expense Account: defined on the product/product category",
|
|
],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], debit: 50 },
|
|
{ account: ['LIABILITIES', 'SUPPLIERS'], credit: 54.5 },
|
|
{ account: ['LIABILITIES', 'VAT_RECOVERABLE'], debit: 4.5 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Stock Account: defined on the product category",
|
|
"Account Payable Account: defined on the supplier contact",
|
|
"Tax Account: defined on the account from the Purchase Taxes set on the product",
|
|
],
|
|
},
|
|
},
|
|
anglo_saxon: {
|
|
periodic: {
|
|
operations: [
|
|
{ account: ['EXPENSES', 'COST'], debit: 50 },
|
|
{ account: ['LIABILITIES', 'PAYABLE'], credit: 54.5 },
|
|
{ account: ['ASSETS', 'TAX_PAID'], debit: 4.5 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Account Payable: defined on the supplier contact",
|
|
"Tax Account: defined on the account from the Purchase Taxes set on the product",
|
|
"Expense Account: defined on the product/product category",
|
|
],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['ASSETS', 'INVENTORY'], debit: 50 },
|
|
{ account: ['LIABILITIES', 'PAYABLE'], credit: 54.5 },
|
|
{ account: ['ASSETS', 'TAX_PAID'], debit: 4.5 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Account Payable: defined on the supplier contact",
|
|
"Tax Account: defined on the account from the Purchase Taxes set on the product",
|
|
"Expense Account: defined on the product/product category",
|
|
],
|
|
},
|
|
},
|
|
},
|
|
customer_shipping: {
|
|
title: "Customer Shipping (SO $100, Invoice $100, Good Value $50)",
|
|
continental: {
|
|
periodic: {
|
|
operations: [],
|
|
explanation: [
|
|
"In a periodic inventory valuation, goods shipments are not directly posted in the accounting.",
|
|
"The inventory value is updated when entries are generated from Inventory Valuation report at closing.",
|
|
],
|
|
configuration: [],
|
|
},
|
|
perpetual: {
|
|
operations: [],
|
|
explanation: [
|
|
"In a perpetual inventory valuation, goods shipments are not directly posted in the accounting.",
|
|
"The inventory value is updated:",
|
|
"- when the invoice/bill is posted",
|
|
"- when entries are generated from Inventory Valuation report at closing",
|
|
],
|
|
configuration: [],
|
|
},
|
|
},
|
|
anglo_saxon: {
|
|
periodic: {
|
|
operations: [],
|
|
explanation: [
|
|
"In a periodic inventory valuation, goods shipments are not directly posted in the accounting.",
|
|
"The inventory value is updated when entries are generated from Inventory Valuation report at closing.",
|
|
],
|
|
configuration: [],
|
|
},
|
|
perpetual: {
|
|
operations: [],
|
|
explanation: [
|
|
"In a perpetual inventory valuation, goods shipments are not directly posted in the accounting.",
|
|
"The inventory value is updated:",
|
|
"- when the invoice/bill is posted",
|
|
"- when entries are generated from Inventory Valuation report at closing",
|
|
],
|
|
configuration: [],
|
|
},
|
|
},
|
|
},
|
|
customer_invoice: {
|
|
title: "Customer Invoice (SO $100, Invoice $100, Good Value $50)",
|
|
continental: {
|
|
periodic: {
|
|
operations: [
|
|
{ account: ['LIABILITIES', 'CUSTOMERS'], debit: 109 },
|
|
{ account: ['LIABILITIES', 'VAT_PAYABLE'], credit: 9 },
|
|
{ account: ['REVENUES', 'SALES'], credit: 100 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Account Receivable Account: defined on the customer contact",
|
|
"Tax Account: defined on the account from the Sales Taxes set on the product",
|
|
"Income Account: defined on the product/product category",
|
|
],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], credit: 50 },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], debit: 50 },
|
|
{ account: ['LIABILITIES', 'CUSTOMERS'], debit: 109 },
|
|
{ account: ['LIABILITIES', 'VAT_PAYABLE'], credit: 9 },
|
|
{ account: ['REVENUES', 'SALES'], credit: 100 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Stock Account: defined on the product category",
|
|
"Expense/COGS Account: defined on the product/product category",
|
|
"Account Receivable Account: defined on the customer contact",
|
|
"Tax Account: defined on the account from the Sales Taxes set on the product",
|
|
"Income Account: defined on the product/product category",
|
|
],
|
|
},
|
|
},
|
|
anglo_saxon: {
|
|
periodic: {
|
|
operations: [
|
|
{ account: ['ASSETS', 'RECEIVABLE'], debit: 109 },
|
|
{ account: ['LIABILITIES', 'TAX_RECEIVED'], credit: 9 },
|
|
{ account: ['REVENUES', 'SALES'], credit: 100 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Account Receivable Account: defined on the customer contact",
|
|
"Tax Account: defined on the account from the Sales Taxes set on the product",
|
|
"Income Account: defined on the product/product category",
|
|
],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['ASSETS', 'INVENTORY'], credit: 50 },
|
|
{ account: ['EXPENSES', 'COST'], debit: 50 },
|
|
{ account: ['ASSETS', 'RECEIVABLE'], debit: 109 },
|
|
{ account: ['LIABILITIES', 'TAX_RECEIVED'], credit: 9 },
|
|
{ account: ['REVENUES', 'SALES'], credit: 100 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Stock Account: defined on the product category",
|
|
"Expense/COGS Account: defined on the product/product category",
|
|
"Account Receivable Account: defined on the customer contact",
|
|
"Tax Account: defined on the account from the Sales Taxes set on the product",
|
|
"Income Account: defined on the product/product category",
|
|
],
|
|
},
|
|
},
|
|
},
|
|
manufacturing_order: {
|
|
title: "Manufacturing Order (Finished Product at $52, Component at $50)",
|
|
continental: {
|
|
periodic: {
|
|
operations: [],
|
|
explanation: [
|
|
"In a periodic inventory valuation manufacturing orders are not directly posted in the accounting.",
|
|
"The inventory value is updated when entries are generated from Inventory Valuation report at closing.",
|
|
],
|
|
configuration: [],
|
|
},
|
|
perpetual: {
|
|
operations: [],
|
|
explanation: [
|
|
"No 'Cost of Production' account is set on the production location, therefore variations in" +
|
|
" inventories of manufactured goods and components will be recorded at closing.",
|
|
],
|
|
configuration: [],
|
|
},
|
|
},
|
|
anglo_saxon: {
|
|
periodic: {
|
|
operations: [],
|
|
explanation: [
|
|
"In a periodic inventory valuation manufacturing orders are not directly posted in the accounting.",
|
|
"The inventory value is updated when entries are generated from Inventory Valuation report at closing.",
|
|
],
|
|
configuration: [],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['ASSETS', 'MANUFACTURED'], debit: 52 },
|
|
{ account: ['ASSETS', 'COST'], credit: 52 },
|
|
{ account: ['ASSETS', 'RAW'], credit: 50 },
|
|
{ account: ['ASSETS', 'COST'], debit: 50 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Stock Account for manufactured product: defined on the product category",
|
|
"Stock Account for component: defined on the product category",
|
|
"Cost of Production Account: defined on the production location",
|
|
],
|
|
},
|
|
},
|
|
},
|
|
inventory_loss: {
|
|
title: "Inventory Loss (Scrap $30)",
|
|
continental: {
|
|
periodic: {
|
|
operations: [],
|
|
explanation: [
|
|
"In a periodic inventory valuation, inventory adjustments are not directly posted in the accounting.",
|
|
"The inventory value is updated when entries are generated from Inventory Valuation report at closing.",
|
|
],
|
|
configuration: [],
|
|
},
|
|
perpetual: {
|
|
operations: [],
|
|
explanation: [
|
|
"No 'Inventory Loss' account is set on the inventory loss location, therefore variations in" +
|
|
" inventories coming from inventory adjustments will be recorded at closing.",
|
|
],
|
|
configuration: [],
|
|
},
|
|
},
|
|
anglo_saxon: {
|
|
periodic: {
|
|
operations: [],
|
|
explanation: [
|
|
"In a periodic inventory valuation, inventory adjustments are not directly posted in the accounting.",
|
|
"The inventory value is updated when entries are generated from Inventory Valuation report at closing.",
|
|
],
|
|
configuration: [],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['ASSETS', 'INVENTORY'], credit: 30 },
|
|
{ account: ['EXPENSES', 'INVENTORY_LOSS'], debit: 30 },
|
|
],
|
|
explanation: [],
|
|
configuration: [
|
|
"Stock Account: defined on the product category",
|
|
"Inventory Adjustment Account: defined on the inventory loss location",
|
|
],
|
|
},
|
|
},
|
|
},
|
|
});
|
|
|
|
/* >Hic sunt dracones<
|
|
*
|
|
* Reviews are treated almost identically to entry operations in both scripts,
|
|
* except for the following difference in behaviour.
|
|
*
|
|
* [valuation-journal.js]
|
|
* The journal chart will use `journal_operations' (unique to `closing') if it
|
|
* exists, falling back to `operations' as normal otherwise. It will ignore the
|
|
* `entries' and `except' fields.
|
|
*
|
|
* [valuation-accounting.js]
|
|
* The accounting chart will ignore `journal_operations'. If an `entries' or
|
|
* `except' field is defined, it will only use that operation if said fields
|
|
* match the currently active operations (see above for keys). It must match
|
|
* ALL in `entries' and NONE in `except' in order to be used. The commented out
|
|
* parts in the `explanation' field (otherwise unused here) are relevant only
|
|
* for this chart.
|
|
*/
|
|
const VALUATION_REVIEWS = Immutable.fromJSButOrdered({
|
|
unreceived: {
|
|
title: "Bill To Receive",
|
|
continental: {
|
|
periodic: {
|
|
operations: [
|
|
{ account: ['LIABILITIES', 'INVOICES_UNRECEIVED'], credit: 50,
|
|
entries: ['supplier_reception'],
|
|
except: ['supplier_bill'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], debit: 50,
|
|
entries: ['supplier_reception'],
|
|
except: ['supplier_bill'] },
|
|
{ account: ['LIABILITIES', 'INVOICES_UNRECEIVED'], credit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], debit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
],
|
|
explanation: [
|
|
"These accrual entries are adjusting journal entries made at the end of an accounting period to ensure" +
|
|
" that expenses are recognized in the period in which they are incurred, regardless of when cash is paid.",
|
|
"Related operations:",
|
|
"1) Supplier Goods Reception (PO $50, Bill $50) is done but no bill is received yet",
|
|
"2) Supplier Goods Reception (PO $48, Bill $50) is done but no bill is received yet",
|
|
],
|
|
configuration: [
|
|
"Expense Account: defined on the product/product category",
|
|
"GRNI Account: defined when generating accrual entries from 'Bill To Receive'",
|
|
],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['LIABILITIES', 'INVOICES_UNRECEIVED'], credit: 50,
|
|
entries: ['supplier_reception'],
|
|
except: ['supplier_bill'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], debit: 50,
|
|
entries: ['supplier_reception'],
|
|
except: ['supplier_bill'] },
|
|
{ account: ['LIABILITIES', 'INVOICES_UNRECEIVED'], credit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], debit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
],
|
|
explanation: [
|
|
"These accrual entries are adjusting journal entries made at the end of an accounting period to ensure" +
|
|
" that expenses are recognized in the period in which they are incurred, regardless of when cash is paid.",
|
|
"They are reverted after the period we are closing.",
|
|
"Related operations:",
|
|
"1) Supplier Goods Reception (PO $50, Bill $50) is done but no bill is received yet",
|
|
"2) Supplier Goods Reception (PO $48, Bill $50) is done but no bill is received yet",
|
|
],
|
|
configuration: [
|
|
"Expense Account: defined on the product/product category",
|
|
"GRNI Account: defined when generating accrual entries from 'Bill To Receive'",
|
|
],
|
|
},
|
|
},
|
|
anglo_saxon: {
|
|
periodic: {
|
|
operations: [
|
|
{ account: ['LIABILITIES', 'UNINVOICED'], credit: 50,
|
|
entries: ['supplier_reception'],
|
|
except: ['supplier_bill'] },
|
|
{ account: ['EXPENSES', 'COST'], debit: 50,
|
|
entries: ['supplier_reception'],
|
|
except: ['supplier_bill'] },
|
|
{ account: ['LIABILITIES', 'UNINVOICED'], credit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
{ account: ['EXPENSES', 'COST'], debit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
],
|
|
explanation: [
|
|
"These accrual entries are adjusting journal entries made at the end of an accounting period to ensure" +
|
|
" that expenses are recognized in the period in which they are incurred, regardless of when cash is paid.",
|
|
"Related operations:",
|
|
"1) Supplier Goods Reception (PO $50, Bill $50) is done but no bill is received yet",
|
|
"2) Supplier Goods Reception (PO $48, Bill $50) is done but no bill is received yet",
|
|
],
|
|
configuration: [
|
|
"Expense Account: defined on the product/product category",
|
|
"GRNI Account: defined when generating accrual entries from 'Bill To Receive'",
|
|
],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['LIABILITIES', 'UNINVOICED'], credit: 50,
|
|
entries: ['supplier_reception'],
|
|
except: ['supplier_bill'] },
|
|
{ account: ['ASSETS', 'VARIATIONS'], debit: 50,
|
|
entries: ['supplier_reception'],
|
|
except: ['supplier_bill'] },
|
|
{ account: ['LIABILITIES', 'UNINVOICED'], credit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
{ account: ['ASSETS', 'VARIATIONS'], debit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
],
|
|
explanation: [
|
|
"Accrual entries are adjusting journal entries made at the end of an accounting period to ensure" +
|
|
" that revenues/expenses are recognized in the period in which they are earned/incurred, regardless of" +
|
|
" when cash is received / paid.",
|
|
"They are reverted after the period we are closing.",
|
|
"From a stock point of view, it also enables us to specify a part of the origin of stock variations (between" +
|
|
" Accounting Stock and Inventory Stock) recorded from the Inventory Valuation report.",
|
|
"Related operations:",
|
|
"1) Supplier Goods Reception (PO $50, Bill $50) is done but no bill is received yet",
|
|
"2) Supplier Goods Reception (PO $48, Bill $50) is done but no bill is received yet",
|
|
],
|
|
configuration: [
|
|
"Inventory Variation Account: defined on the used Stock Account for the product category",
|
|
"GRNI Account: defined when generating accrual entries from 'Bill To Receive'",
|
|
],
|
|
},
|
|
},
|
|
},
|
|
uninvoiced: {
|
|
title: "Invoices To Be Issued",
|
|
continental: {
|
|
periodic: {
|
|
operations: [
|
|
{ account: ['LIABILITIES', 'RECEIVABLE'], debit: 100,
|
|
entries: ['customer_shipping'],
|
|
except: ['customer_invoice'] },
|
|
{ account: ['REVENUES', 'SALES'], credit: 100,
|
|
entries: ['customer_shipping'],
|
|
except: ['customer_invoice'] },
|
|
],
|
|
explanation: [
|
|
"These accrual entries are adjusting journal entries made at the end of an accounting period to ensure" +
|
|
" that revenues are recognized in the period in which they are earned, regardless of when cash is received.",
|
|
"Related operation:",
|
|
"Customer Shipping (SO $100, Invoice $100, Good Value $50) is done but no invoice is sent yet",
|
|
],
|
|
configuration: [
|
|
"Revenue Account: defined on the product/product category",
|
|
"Uninvoiced Receivable Account: defined when generating accrual entries from 'Invoices To Be Issued'",
|
|
],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['LIABILITIES', 'RECEIVABLE'], debit: 100,
|
|
entries: ['customer_shipping'],
|
|
except: ['customer_invoice'] },
|
|
{ account: ['REVENUES', 'SALES'], credit: 100,
|
|
entries: ['customer_shipping'],
|
|
except: ['customer_invoice'] },
|
|
],
|
|
explanation: [
|
|
"These accrual entries are adjusting journal entries made at the end of an accounting period to ensure" +
|
|
" that revenues are recognized in the period in which they are earned, regardless of when cash is received.",
|
|
"They are reverted after the period we are closing.",
|
|
"Related operation:",
|
|
"Customer Shipping (SO $100, Invoice $100, Good Value $50) is done but no invoice is sent yet",
|
|
],
|
|
configuration: [
|
|
"Revenue Account: defined on the product/product category",
|
|
"Uninvoiced Receivable Account: defined when generating accrual entries from 'Invoices To Be Issued'",
|
|
],
|
|
},
|
|
},
|
|
anglo_saxon: {
|
|
periodic: {
|
|
operations: [
|
|
{ account: ['ASSETS', 'UNINVOICED'], debit: 100,
|
|
entries: ['customer_shipping'],
|
|
except: ['customer_invoice'] },
|
|
{ account: ['REVENUES', 'SALES' ], credit: 100,
|
|
entries: ['customer_shipping'],
|
|
except: ['customer_invoice'] },
|
|
],
|
|
explanation: [
|
|
"These accrual entries are adjusting journal entries made at the end of an accounting period to ensure" +
|
|
" that revenues are recognized in the period in which they are earned, regardless of" +
|
|
" when cash is received.",
|
|
"Related operation:",
|
|
"Customer Shipping (SO $100, Invoice $100, Good Value $50) is done but no invoice is sent yet",
|
|
],
|
|
configuration: [
|
|
"Revenue Account: defined on the product/product category",
|
|
"Uninvoiced Receivable Account: defined when generating accrual entries from 'Invoices To Be Issued'",
|
|
],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['ASSETS', 'UNINVOICED'], debit: 100,
|
|
entries: ['customer_shipping'],
|
|
except: ['customer_invoice'] },
|
|
{ account: ['REVENUES', 'SALES'], credit: 100,
|
|
entries: ['customer_shipping'],
|
|
except: ['customer_invoice'] },
|
|
{ account: ['ASSETS', 'VARIATIONS'], credit: 50,
|
|
entries: ['customer_shipping'],
|
|
except: ['customer_invoice'] },
|
|
{ account: ['EXPENSES', 'COST'], debit: 50,
|
|
entries: ['customer_shipping'],
|
|
except: ['customer_invoice'] },
|
|
],
|
|
explanation: [
|
|
"These accrual entries are adjusting journal entries made at the end of an accounting period to ensure" +
|
|
" that revenues/expenses are recognized in the period in which they are earned/incurred, regardless of" +
|
|
" when cash is received/paid.",
|
|
"From a stock point of view, it also enables us to specify a part of the origin of stock variations (between" +
|
|
" Accounting Stock and Inventory Stock) recorded from the Inventory Valuation report.",
|
|
"They are reverted after the period we are closing.",
|
|
"Related operation:",
|
|
"Customer Shipping (SO $100, Invoice $100, Good Value $50) is done but no invoice is sent yet",
|
|
],
|
|
configuration: [
|
|
"Inventory Variation Account: defined on the used Stock Account for the product category",
|
|
"Uninvoiced Receivable Account: defined when generating accrual entries from 'Invoices To Be Issued'",
|
|
"Revenue Account: defined on the product/product category",
|
|
"Expense/COGS Account: defined on the product/product category",
|
|
],
|
|
},
|
|
},
|
|
},
|
|
prepaid: {
|
|
title: "Billed Not Received",
|
|
continental: {
|
|
periodic: {
|
|
operations: [
|
|
{ account: ['LIABILITIES', 'DEFERRED_CHARGES'], debit: 50,
|
|
entries: ['supplier_bill'],
|
|
except: ['supplier_reception'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], credit: 50,
|
|
entries: ['supplier_bill'],
|
|
except: ['supplier_reception'] },
|
|
{ account: ['LIABILITIES', 'DEFERRED_CHARGES'], debit: 50,
|
|
entries: ['supplier_bill_extra'],
|
|
except: ['supplier_reception_extra'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], credit: 50,
|
|
entries: ['supplier_bill_extra'],
|
|
except: ['supplier_reception_extra'] },
|
|
],
|
|
explanation: [
|
|
"Billed Not Received are journal entries made during closing when a supplier bill is received before goods" +
|
|
" or services are received, so the amount is recorded as an asset until the expense is recognized.",
|
|
"Related operations:",
|
|
"1) Supplier Goods Reception (PO $50, Bill $50) is not done but the bill is received",
|
|
"2) Supplier Goods Reception (PO $48, Bill $50) is not done but the bill is received",
|
|
],
|
|
configuration: [
|
|
"Expense Account: defined on the product/product category",
|
|
"Prepaid Expense Account: defined when generating entries from 'Billed Not Received'",
|
|
],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['LIABILITIES', 'DEFERRED_CHARGES'], debit: 50,
|
|
entries: ['supplier_bill'],
|
|
except: ['supplier_reception'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], credit: 50,
|
|
entries: ['supplier_bill'],
|
|
except: ['supplier_reception'] },
|
|
{ account: ['LIABILITIES', 'DEFERRED_CHARGES'], debit: 50,
|
|
entries: ['supplier_bill_extra'],
|
|
except: ['supplier_reception_extra'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], credit: 50,
|
|
entries: ['supplier_bill_extra'],
|
|
except: ['supplier_reception_extra'] },
|
|
],
|
|
explanation: [
|
|
"Billed Not Received are journal entries made during closing when a supplier bill is received before goods" +
|
|
" or services are received, so the amount is recorded as an asset until the expense is recognized.",
|
|
"Related operations:",
|
|
"1) Supplier Goods Reception (PO $50, Bill $50) is not done but the bill is received",
|
|
"2) Supplier Goods Reception (PO $48, Bill $50) is not done but the bill is received",
|
|
],
|
|
configuration: [
|
|
"Expense Account: defined on the product/product category",
|
|
"Prepaid Expense Account: defined when generating entries from 'Billed Not Received'",
|
|
],
|
|
},
|
|
},
|
|
anglo_saxon: {
|
|
periodic: {
|
|
operations: [
|
|
{ account: ['ASSETS', 'PREPAID'], debit: 50,
|
|
entries: ['supplier_bill'],
|
|
except: ['supplier_reception'] },
|
|
{ account: ['EXPENSES', 'COST'], credit: 50,
|
|
entries: ['supplier_bill'],
|
|
except: ['supplier_reception'] },
|
|
{ account: ['ASSETS', 'PREPAID'], debit: 50,
|
|
entries: ['supplier_bill_extra'],
|
|
except: ['supplier_reception_extra'] },
|
|
{ account: ['EXPENSES', 'COST'], credit: 50,
|
|
entries: ['supplier_bill_extra'],
|
|
except: ['supplier_reception_extra'] },
|
|
],
|
|
explanation: [
|
|
"Billed Not Received are journal entries made during closing when a supplier bill is received before goods" +
|
|
" or services are received, so the amount is recorded as an asset until the expense is recognized.",
|
|
"Related operations:",
|
|
"1) Supplier Goods Reception (PO $50, Bill $50) is not done but the bill is received",
|
|
"2) Supplier Goods Reception (PO $48, Bill $50) is not done but the bill is received",
|
|
],
|
|
configuration: [
|
|
"Expense Account: defined on the product/product category",
|
|
"Prepaid Expense Account: defined when generating entries from 'Billed Not Received'",
|
|
],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['ASSETS', 'PREPAID'], debit: 50,
|
|
entries: ['supplier_bill'],
|
|
except: ['supplier_reception'] },
|
|
{ account: ['ASSETS', 'VARIATIONS'], credit: 50,
|
|
entries: ['supplier_bill'],
|
|
except: ['supplier_reception'] },
|
|
{ account: ['ASSETS', 'PREPAID'], debit: 50,
|
|
entries: ['supplier_bill_extra'],
|
|
except: ['supplier_reception_extra'] },
|
|
{ account: ['ASSETS', 'VARIATIONS'], credit: 50,
|
|
entries: ['supplier_bill_extra'],
|
|
except: ['supplier_reception_extra'] },
|
|
],
|
|
explanation: [
|
|
"Billed Not Received are journal entries made during closing when a supplier bill is received before goods" +
|
|
" or services are received, so the amount is recorded as an asset until the expense is recognized.",
|
|
"From a stock point of view, it also enables us to specify a part of the origin of stock variations (between" +
|
|
" Accounting Stock and Inventory Stock) recorded from the Inventory Valuation report.",
|
|
"Related operations:",
|
|
"1) Supplier Goods Reception (PO $50, Bill $50) is not done but the bill is received",
|
|
"2) Supplier Goods Reception (PO $48, Bill $50) is not done but the bill is received",
|
|
],
|
|
configuration: [
|
|
"Inventory Variation Account: defined on the used Stock Account for the product category",
|
|
"Prepaid Expense Account: defined when generating entries from 'Billed Not Received'",
|
|
],
|
|
},
|
|
},
|
|
},
|
|
deferred: {
|
|
title: "Invoiced Not Delivered",
|
|
continental: {
|
|
periodic: {
|
|
operations: [
|
|
{ account: ['LIABILITIES', 'DEFERRED_INCOME'], credit: 100,
|
|
entries: ['customer_invoice'],
|
|
except: ['customer_shipping'] },
|
|
{ account: ['REVENUES', 'SALES'], debit: 100,
|
|
entries: ['customer_invoice'],
|
|
except: ['customer_shipping'] },
|
|
],
|
|
explanation: [
|
|
"Invoiced Not Delivered are journal entries made during closing when an invoice has been issued but goods or" +
|
|
" services are not delivered yet, so the amount has to be recorded as a liability until the revenue is earned.",
|
|
"They are reverted after the period we are closing.",
|
|
"Related operation:",
|
|
"Customer Shipping (SO $100, Invoice $100, Good Value $50) is not done but the invoice is sent",
|
|
],
|
|
configuration: [
|
|
"Revenue Account: defined on the product/product category",
|
|
"Deferred Revenue Account: defined when generating accrual entries from 'Invoiced Not Delivered'",
|
|
],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['LIABILITIES', 'DEFERRED_INCOME'], credit: 100,
|
|
entries: ['customer_invoice'],
|
|
except: ['customer_shipping'] },
|
|
{ account: ['REVENUES', 'SALES'], debit: 100,
|
|
entries: ['customer_invoice'],
|
|
except: ['customer_shipping'] },
|
|
],
|
|
explanation: [
|
|
"Invoiced Not Delivered are journal entries made during closing when an invoice has been issued but goods or" +
|
|
" services are not delivered yet, so the amount has to be recorded as a liability until the revenue is earned.",
|
|
"They are reverted after the period we are closing.",
|
|
"Related operation:",
|
|
"Customer Shipping (SO $100, Invoice $100, Good Value $50) is not done but the invoice is sent",
|
|
],
|
|
configuration: [
|
|
"Revenue Account: defined on the product/product category",
|
|
"Deferred Revenue Account: defined when generating accrual entries from 'Invoiced Not Delivered'",
|
|
],
|
|
},
|
|
},
|
|
anglo_saxon: {
|
|
periodic: {
|
|
operations: [
|
|
{ account: ['LIABILITIES', 'DEFERRED'], credit: 100,
|
|
entries: ['customer_invoice'],
|
|
except: ['customer_shipping'] },
|
|
{ account: ['REVENUES', 'SALES'], debit: 100,
|
|
entries: ['customer_invoice'],
|
|
except: ['customer_shipping'] },
|
|
],
|
|
explanation: [
|
|
"Invoiced Not Delivered are journal entries made during closing when an invoice has been issued but goods or" +
|
|
" services are not delivered yet, so the amount has to be recorded as a liability until the revenue is earned.",
|
|
"They are reverted after the period we are closing.",
|
|
"Related operation:",
|
|
"Customer Shipping (SO $100, Invoice $100, Good Value $50) is not done but the invoice is sent",
|
|
],
|
|
configuration: [
|
|
"Revenue Account: defined on the product/product category",
|
|
"Deferred Revenue Account: defined when generating accrual entries from 'Invoiced Not Delivered'",
|
|
],
|
|
},
|
|
perpetual: {
|
|
operations: [
|
|
{ account: ['LIABILITIES', 'DEFERRED'], credit: 100,
|
|
entries: ['customer_invoice'],
|
|
except: ['customer_shipping'] },
|
|
{ account: ['REVENUES', 'SALES'], debit: 100,
|
|
entries: ['customer_invoice'],
|
|
except: ['customer_shipping'] },
|
|
{ account: ['ASSETS', 'VARIATIONS'], debit: 50,
|
|
entries: ['customer_invoice'],
|
|
except: ['customer_shipping'] },
|
|
{ account: ['EXPENSES', 'COST'], credit: 50,
|
|
entries: ['customer_invoice'],
|
|
except: ['customer_shipping'] },
|
|
],
|
|
explanation: [
|
|
"Invoiced Not Delivered are journal entries made during closing when an invoice has been issued but goods or" +
|
|
" services are not delivered yet, so the amount has to be recorded as a liability until the revenue is earned.",
|
|
"From a stock point of view, it also enables us to specify a part of the origin of stock variations (between" +
|
|
" Accounting Stock and Inventory Stock) recorded from the Inventory Valuation report.",
|
|
"They are reverted after the period we are closing.",
|
|
"Related operation:",
|
|
"Customer Shipping (SO $100, Invoice $100, Good Value $50) is not done but the invoice is sent",
|
|
],
|
|
configuration: [
|
|
"Inventory Variation Account: defined on the used Stock Account for the product category",
|
|
"Deferred Revenue Account: defined when generating accrual entries from 'Invoiced Not Delivered'",
|
|
"Revenue Account: defined on the product/product category",
|
|
"Expense/COGS Account : defined on the product/product category",
|
|
],
|
|
},
|
|
},
|
|
},
|
|
closing: {
|
|
title: "Inventory Valuation",
|
|
continental: {
|
|
periodic: {
|
|
journal_operations: [
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], debit: 20 },
|
|
{ account: ['EXPENSES', 'CHANGE_IN_GOODS_FOR_RESALE'], credit: 20 },
|
|
{ account: ['STOCK', 'FINISHED_GOODS'], debit: 52 },
|
|
{ account: ['STOCK', 'RAW'], credit: 50 },
|
|
{ account: ['REVENUES', 'CHANGE_IN_FINISHED_GOODS'], credit: 52 },
|
|
{ account: ['EXPENSES', 'CHANGE_IN_RAW'], debit: 50 },
|
|
],
|
|
operations: [
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], debit: 50,
|
|
entries: ['supplier_reception'] },
|
|
{ account: ['EXPENSES', 'CHANGE_IN_GOODS_FOR_RESALE'], credit: 50,
|
|
entries: ['supplier_reception'] },
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], debit: 50,
|
|
entries: ['supplier_reception_extra', 'supplier_bill_extra'] },
|
|
{ account: ['EXPENSES', 'CHANGE_IN_GOODS_FOR_RESALE'], credit: 50,
|
|
entries: ['supplier_reception_extra', 'supplier_bill_extra'] },
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], debit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
{ account: ['EXPENSES', 'CHANGE_IN_GOODS_FOR_RESALE'], credit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], credit: 50,
|
|
entries: ['customer_shipping'] },
|
|
{ account: ['EXPENSES', 'CHANGE_IN_GOODS_FOR_RESALE'], debit: 50,
|
|
entries: ['customer_shipping'] },
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], credit: 30,
|
|
entries: ['inventory_loss'] },
|
|
{ account: ['EXPENSES', 'CHANGE_IN_GOODS_FOR_RESALE'], debit: 30,
|
|
entries: ['inventory_loss'] },
|
|
{ account: ['STOCK', 'FINISHED_GOODS'], debit: 52,
|
|
entries: ['manufacturing_order'] },
|
|
{ account: ['STOCK', 'RAW'], credit: 50,
|
|
entries: ['manufacturing_order'] },
|
|
{ account: ['REVENUES', 'CHANGE_IN_FINISHED_GOODS'], credit: 52,
|
|
entries: ['manufacturing_order'] },
|
|
{ account: ['EXPENSES', 'CHANGE_IN_RAW'], debit: 50,
|
|
entries: ['manufacturing_order'] },
|
|
],
|
|
explanation: [
|
|
"At closing, Inventory Valuation must be updated to reflect reality. This will be done by generating entries from" +
|
|
" the Inventory Valuation report. This will recognize value coming from operations such as the following ones:",
|
|
"1) Supplier Goods Reception (PO $50, Bill $50)",
|
|
"2) Supplier Goods Reception (PO $48, Bill $50)",
|
|
"3) Customer Shipping (SO $100, Invoice $100, Good Value $50)",
|
|
"4) Inventory Loss (Scrap $30)",
|
|
"5) Manufacturing Order (Finished Product at $52, Component at $50)",
|
|
],
|
|
configuration: [
|
|
"Stock Account: defined on the product category",
|
|
"Inventory Variation Account: defined on the used Stock Account",
|
|
],
|
|
},
|
|
perpetual: {
|
|
journal_operations: [
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], debit: 18 },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], credit: 18 },
|
|
{ account: ['STOCK', 'FINISHED_GOODS'], debit: 52 },
|
|
{ account: ['EXPENSES', 'FINISHED'], credit: 52 },
|
|
{ account: ['STOCK', 'RAW'], credit: 50 },
|
|
{ account: ['EXPENSES', 'RAW'], debit: 50 },
|
|
{ account: ['EXPENSES', 'CHANGE_IN_GOODS_FOR_RESALE'], credit: 18 },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], debit: 18 },
|
|
{ account: ['EXPENSES', 'RAW'], credit: 50 },
|
|
{ account: ['EXPENSES', 'CHANGE_IN_RAW'], debit: 50 },
|
|
{ account: ['EXPENSES', 'FINISHED'], debit: 52 },
|
|
{ account: ['REVENUES', 'CHANGE_IN_FINISHED_GOODS'], credit: 52 },
|
|
],
|
|
operations: [
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], debit: 50,
|
|
entries: ['supplier_reception'],
|
|
except: ['supplier_bill'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], credit: 50,
|
|
entries: ['supplier_reception'],
|
|
except: ['supplier_bill'] },
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], debit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], credit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], credit: 50,
|
|
entries: ['customer_shipping'],
|
|
except: ['customer_invoice'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], debit: 50,
|
|
entries: ['customer_shipping'],
|
|
except: ['customer_invoice'] },
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], credit: 30,
|
|
entries: ['inventory_loss'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], debit: 30,
|
|
entries: ['inventory_loss'] },
|
|
{ account: ['STOCK', 'FINISHED_GOODS'], debit: 52,
|
|
entries: ['manufacturing_order'] },
|
|
{ account: ['EXPENSES', 'FINISHED'], credit: 52,
|
|
entries: ['manufacturing_order'] },
|
|
{ account: ['STOCK', 'RAW'], credit: 50,
|
|
entries: ['manufacturing_order'] },
|
|
{ account: ['EXPENSES', 'RAW'], debit: 50,
|
|
entries: ['manufacturing_order'] },
|
|
// Adjustment
|
|
// a) Purchased good for resale
|
|
{ account: ['EXPENSES', 'CHANGE_IN_GOODS_FOR_RESALE'], credit: 50,
|
|
entries: ['supplier_reception'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], debit: 50,
|
|
entries: ['supplier_reception'] },
|
|
{ account: ['EXPENSES', 'CHANGE_IN_GOODS_FOR_RESALE'], credit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], debit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
{ account: ['EXPENSES', 'CHANGE_IN_GOODS_FOR_RESALE'], credit: 50,
|
|
entries: ['supplier_reception_extra', 'supplier_bill_extra'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], debit: 50,
|
|
entries: ['supplier_reception_extra', 'supplier_bill_extra'] },
|
|
{ account: ['EXPENSES', 'CHANGE_IN_GOODS_FOR_RESALE'], debit: 50,
|
|
entries: ['customer_shipping'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], credit: 50,
|
|
entries: ['customer_shipping'] },
|
|
{ account: ['EXPENSES', 'CHANGE_IN_GOODS_FOR_RESALE'], debit: 30,
|
|
entries: ['inventory_loss'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], credit: 30,
|
|
entries: ['inventory_loss'] },
|
|
// b) Component
|
|
{ account: ['EXPENSES', 'RAW'], credit: 50,
|
|
entries: ['manufacturing_order'] },
|
|
{ account: ['EXPENSES', 'CHANGE_IN_RAW'], debit: 50,
|
|
entries: ['manufacturing_order'] },
|
|
// c) Finished product
|
|
{ account: ['EXPENSES', 'FINISHED'], debit: 52,
|
|
entries: ['manufacturing_order'] },
|
|
{ account: ['REVENUES', 'CHANGE_IN_FINISHED_GOODS'], credit: 52,
|
|
entries: ['manufacturing_order'] },
|
|
// Second half, excluded from journal chart
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], credit: 50,
|
|
entries: ['supplier_bill'],
|
|
except: ['supplier_reception'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], debit: 50,
|
|
entries: ['supplier_bill'],
|
|
except: ['supplier_reception'] },
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], credit: 50,
|
|
entries: ['supplier_bill_extra'],
|
|
except: ['supplier_reception_extra'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], debit: 50,
|
|
entries: ['supplier_bill_extra'],
|
|
except: ['supplier_reception_extra'] },
|
|
{ account: ['STOCK', 'GOODS_FOR_RESALE'], debit: 50,
|
|
entries: ['customer_invoice'],
|
|
except: ['customer_shipping'] },
|
|
{ account: ['EXPENSES', 'GOODS_FOR_RESALE'], credit: 50,
|
|
entries: ['customer_invoice'],
|
|
except: ['customer_shipping'] },
|
|
],
|
|
explanation: [
|
|
"At closing Accounting Stock and Inventory Stock must have the same value.",
|
|
"A difference could come from cases such as the ones listed below and this will be corrected thanks to" +
|
|
" the Inventory Valuation report closing entry.",
|
|
"1) Supplier Goods Reception (PO $50, Bill $50) is done but no bill is received yet",
|
|
"2) Supplier Goods Reception (PO $48, Bill $50) is done but no bill is received yet",
|
|
"3) Customer Shipping (SO $100, Invoice $100, Good Value $50) is done but no invoice is sent yet",
|
|
"4) Inventory Loss (Scrap $30)",
|
|
"5) Manufacturing Order (Finished Product at $52, Component at $50)",
|
|
"At closing, an adjusting entry is created to ensure that the values are correctly recorded in the" +
|
|
" variation and expenses accounts according to continental accounting logic. Indeed, even though" +
|
|
" expenses are recorded according to the COGS logic of Anglo-Saxon accounting during the period," +
|
|
" at closing the expenses recorded should represent what was actually purchased during this period.",
|
|
"The variation is known thanks to the calculation (Stock Account y - Stock Account y-1) for each of" +
|
|
" the following categories:",
|
|
"a. Purchased good for resale",
|
|
"b. Component",
|
|
"c. Finished product",
|
|
// "6) Supplier Goods Reception (PO $50, Bill $50) is not done but the bill is received",
|
|
// "7) Supplier Goods Reception (PO $48, Bill $50) is not done but the bill is received",
|
|
// "8) Customer Shipping (SO $100, Invoice $100, Good Value $50) is not done but the invoice is sent",
|
|
],
|
|
configuration: [
|
|
"Expense Account: defined on the product/product category",
|
|
"Stock Account: defined on the product category",
|
|
"Inventory Variation Account: defined on the used Stock Account",
|
|
"Expense Account for adjusting entry: defined on the used Stock Account",
|
|
],
|
|
},
|
|
},
|
|
anglo_saxon: {
|
|
periodic: {
|
|
journal_operations: [
|
|
{ account: ['ASSETS', 'INVENTORY'], debit: 50 },
|
|
{ account: ['EXPENSES', 'COST'], credit: 50 },
|
|
{ account: ['ASSETS', 'INVENTORY'], credit: 30 },
|
|
{ account: ['EXPENSES', 'INVENTORY_LOSS'], debit: 30 },
|
|
{ account: ['ASSETS', 'MANUFACTURED'], debit: 52 },
|
|
{ account: ['ASSETS', 'COST'], credit: 52 },
|
|
{ account: ['ASSETS', 'RAW'], credit: 50 },
|
|
{ account: ['ASSETS', 'COST'], debit: 50 },
|
|
],
|
|
operations: [
|
|
{ account: ['ASSETS', 'INVENTORY'], debit: 50,
|
|
entries: ['supplier_reception'] },
|
|
{ account: ['EXPENSES', 'COST'], credit: 50,
|
|
entries: ['supplier_reception'] },
|
|
{ account: ['ASSETS', 'INVENTORY'], debit: 50,
|
|
entries: ['supplier_reception_extra', 'supplier_bill_extra'] },
|
|
{ account: ['EXPENSES', 'COST'], credit: 50,
|
|
entries: ['supplier_reception_extra', 'supplier_bill_extra'] },
|
|
{ account: ['ASSETS', 'INVENTORY'], debit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
{ account: ['EXPENSES', 'COST'], credit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
{ account: ['ASSETS', 'INVENTORY'], credit: 50,
|
|
entries: ['customer_shipping'] },
|
|
{ account: ['EXPENSES', 'COST'], debit: 50,
|
|
entries: ['customer_shipping'] },
|
|
{ account: ['ASSETS', 'INVENTORY'], credit: 30,
|
|
entries: ['inventory_loss'] },
|
|
{ account: ['EXPENSES', 'INVENTORY_LOSS'], debit: 30,
|
|
entries: ['inventory_loss'] },
|
|
{ account: ['ASSETS', 'MANUFACTURED'], debit: 52,
|
|
entries: ['manufacturing_order'] },
|
|
{ account: ['ASSETS', 'COST'], credit: 52,
|
|
entries: ['manufacturing_order'] },
|
|
{ account: ['ASSETS', 'RAW'], credit: 50,
|
|
entries: ['manufacturing_order'] },
|
|
{ account: ['ASSETS', 'COST'], debit: 50,
|
|
entries: ['manufacturing_order'] },
|
|
],
|
|
explanation: [
|
|
"At closing, Inventory Valuation must be updated to reflect reality. This will be done by generating entries from" +
|
|
" the Inventory Valuation report. This will recognize value coming from operations such as the following ones:",
|
|
"1) Supplier Goods Reception (PO $50, Bill $50)",
|
|
"2) Supplier Goods Reception (PO $48, Bill $50)",
|
|
"3) Customer Shipping (SO $100, Invoice $100, Good Value $50)",
|
|
"4) Inventory Loss (Scrap $30)",
|
|
"5) Manufacturing Order (Finished Product at $52, Component at $50)",
|
|
],
|
|
configuration: [
|
|
"Stock Account: defined on the product category",
|
|
"Inventory Variation Account: defined on the used Stock Account",
|
|
"Inventory Adjustment Account: defined on the Inventory Loss location",
|
|
"Cost of Production Account: defined on the Production location",
|
|
],
|
|
},
|
|
perpetual: {
|
|
journal_operations: [
|
|
{ account: ['ASSETS', 'INVENTORY'], debit: 48 },
|
|
{ account: ['ASSETS', 'VARIATIONS'], credit: 48 },
|
|
],
|
|
operations: [
|
|
{ account: ['ASSETS', 'INVENTORY'], debit: 50,
|
|
entries: ['supplier_reception'],
|
|
except: ['supplier_bill'] },
|
|
{ account: ['ASSETS', 'VARIATIONS'], credit: 50,
|
|
entries: ['supplier_reception'],
|
|
except: ['supplier_bill'] },
|
|
{ account: ['ASSETS', 'INVENTORY'], debit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
{ account: ['ASSETS', 'VARIATIONS'], credit: 48,
|
|
entries: ['supplier_reception_extra'],
|
|
except: ['supplier_bill_extra'] },
|
|
{ account: ['ASSETS', 'INVENTORY'], credit: 50,
|
|
entries: ['customer_shipping'],
|
|
except: ['customer_invoice'] },
|
|
{ account: ['ASSETS', 'VARIATIONS'], debit: 50,
|
|
entries: ['customer_shipping'],
|
|
except: ['customer_invoice'] },
|
|
{ account: ['ASSETS', 'INVENTORY'], credit: 50,
|
|
entries: ['supplier_bill'],
|
|
except: ['supplier_reception'] },
|
|
{ account: ['ASSETS', 'VARIATIONS'], debit: 50,
|
|
entries: ['supplier_bill'],
|
|
except: ['supplier_reception'] },
|
|
{ account: ['ASSETS', 'INVENTORY'], credit: 50,
|
|
entries: ['supplier_bill_extra'],
|
|
except: ['supplier_reception_extra'] },
|
|
{ account: ['ASSETS', 'VARIATIONS'], debit: 50,
|
|
entries: ['supplier_bill_extra'],
|
|
except: ['supplier_reception_extra'] },
|
|
{ account: ['ASSETS', 'INVENTORY'], debit: 50,
|
|
entries: ['customer_invoice'],
|
|
except: ['customer_shipping'] },
|
|
{ account: ['ASSETS', 'VARIATIONS'], credit: 50,
|
|
entries: ['customer_invoice'],
|
|
except: ['customer_shipping'] },
|
|
],
|
|
explanation: [
|
|
"At closing, Accounting Stock and Inventory Stock must have the same value.",
|
|
"A difference could come from cases such as the ones listed below and this will be corrected thanks to" +
|
|
" the Inventory Valuation report closing entry.",
|
|
"Related operations:",
|
|
"1) Supplier Goods Reception (PO $50, Bill $50) is done but no bill is received yet",
|
|
"2) Supplier Goods Reception (PO $48, Bill $50) is done but no bill is received yet",
|
|
"3) Customer Shipping (SO $100, Invoice $100, Good Value $50) is done but no invoice is sent yet",
|
|
// "4) Supplier Goods Reception (PO $50, Bill $50) is not done but the bill is received",
|
|
// "5) Supplier Goods Reception (PO $48, Bill $50) is not done but the bill is received",
|
|
// "6) Customer Shipping (SO $100, Invoice $100, Good Value $50) is not done but the invoice is sent",
|
|
],
|
|
configuration: [
|
|
"Stock Account: defined on the product category",
|
|
"Inventory Variation Account: defined on the used Stock Account",
|
|
],
|
|
},
|
|
},
|
|
},
|
|
});
|