Compare commits

...

27 Commits

Author SHA1 Message Date
Raffael Meyer
927cd173cf fix: typo
(cherry picked from commit 0f2f11cb33)

# Conflicts:
#	erpnext/accounts/doctype/sales_invoice/sales_invoice.json
2025-03-03 00:12:51 +00:00
barredterra
216563d1e3 feat: sort timesheets by start time
(cherry picked from commit c82611aa62)

# Conflicts:
#	erpnext/projects/doctype/timesheet/timesheet.py
2025-03-03 00:12:51 +00:00
barredterra
b2bb4d9020 feat: refactor and enhance sales invoice timesheet
(cherry picked from commit 1110f88e5a)

# Conflicts:
#	erpnext/accounts/doctype/sales_invoice/sales_invoice.js
#	erpnext/accounts/doctype/sales_invoice/sales_invoice.py
#	erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.json
#	erpnext/projects/doctype/timesheet/timesheet.py
2025-03-03 00:12:51 +00:00
barredterra
fcdf1b4241 feat: add total_billing_hours to Sales Invoice
(cherry picked from commit b57521a337)

# Conflicts:
#	erpnext/accounts/doctype/sales_invoice/sales_invoice.js
#	erpnext/accounts/doctype/sales_invoice/sales_invoice.json
2025-03-03 00:12:50 +00:00
Diptanil Saha
62c3915ecb refactor: using function to unset grand total to default mode of payment in pos (#46228) 2025-03-03 01:56:23 +05:30
Frappe PR Bot
9078e3798d fix: sync translations from crowdin (#46222)
fix: Bosnian translations
2025-03-02 19:04:06 +01:00
Frappe PR Bot
e803ed72e6 chore: update POT file (#46225) 2025-03-02 13:50:04 +01:00
rohitwaghchaure
5bee30ff2f Merge pull request #46219 from rohitwaghchaure/fixed-support-32834
fix: stock qty not recalculate on changing of the qty
2025-03-02 12:15:32 +05:30
Rohit Waghchaure
464e3339fe fix: stock qty not recalculate on changing of the qty 2025-03-01 21:34:06 +05:30
Frappe PR Bot
912f9bfd8e fix: sync translations from crowdin (#46216)
* fix: French translations

* fix: Chinese Simplified translations
2025-03-01 09:05:40 +01:00
rohitwaghchaure
1c124b3c90 Merge pull request #46202 from rohitwaghchaure/fixed-fields-stock-settings
fix: rearrange stock settings fields
2025-03-01 12:26:32 +05:30
Diptanil Saha
d2fad44e89 fix: pos item detail serial no field (#46211) 2025-02-28 22:36:24 +05:30
Ankush Menat
999f1cf96d fix: don't allow renaming account while system is actively in use (#46176) 2025-02-28 19:39:50 +05:30
Diptanil Saha
8fb09decd2 fix: pos item selection using serial no (#46200) 2025-02-28 15:38:21 +05:30
Rohit Waghchaure
93f461c6f3 fix: rearrange stock settings fields 2025-02-28 15:30:42 +05:30
Frappe PR Bot
48f9769c05 fix: sync translations from crowdin (#46170)
* fix: Persian translations

* fix: Bosnian translations

* fix: Swedish translations

* fix: Chinese Simplified translations

* fix: Persian translations

* fix: Bosnian translations
2025-02-28 10:25:48 +01:00
ruthra kumar
e965c44908 Merge pull request #46169 from frappe/mergify/ruthra-kumar/config-update
ci(Mergify): configuration update
2025-02-28 13:34:29 +05:30
ruthra kumar
0c1e8bbfbb Merge pull request #46186 from rohitwaghchaure/fixed-support-32566
fix: removed mandatory property for the cost center field
2025-02-28 13:33:00 +05:30
Sagar Vora
453bcd7513 Merge pull request #46177 from vishakhdesai/payment-entry-fix 2025-02-28 10:42:26 +05:30
Ankush Menat
ded0aab680 perf: don't track seen for POS Invoice (#46187)
This is a moving doctype. Do people even browse the list view? 

It doesn't make much sense, either. POS INvoices are rarely "reviewed" by multiple users.
2025-02-28 04:57:57 +00:00
Rohit Waghchaure
079cf772aa fix: removed mandatory property for the cost center field 2025-02-28 09:48:19 +05:30
vishakhdesai
2dbef23244 fix: payment entry exchange gain loss issue 2025-02-27 18:18:49 +05:30
ruthra kumar
967f5ac7f3 ci(Mergify): configuration update
Signed-off-by: ruthra kumar <null>
2025-02-27 06:54:24 +05:30
ruthra kumar
fcf374928f Merge pull request #46155 from frappe/l10n_develop
fix: sync translations from crowdin
2025-02-26 13:52:06 +05:30
ruthra kumar
ac640a22b7 Merge pull request #46156 from aerele/autofetch-timesheet
fix: no permission to get project settings in sales invoice
2025-02-26 13:51:01 +05:30
venkat102
221f1468cb fix: no permission to get project settings in sales invoice 2025-02-26 11:01:40 +05:30
Frappe PR Bot
da4b28bf2f fix: Bosnian translations 2025-02-26 08:32:13 +05:30
22 changed files with 1279 additions and 922 deletions

View File

@@ -2,29 +2,27 @@ pull_request_rules:
- name: Auto-close PRs on stable branch
conditions:
- and:
- and:
- author!=surajshetty3416
- author!=gavindsouza
- author!=rohitwaghchaure
- author!=nabinhait
- author!=ankush
- author!=deepeshgarg007
- author!=frappe-pr-bot
- author!=mergify[bot]
- or:
- base=version-13
- base=version-12
- base=version-14
- base=version-15
- base=version-16
- and:
- author!=surajshetty3416
- author!=gavindsouza
- author!=rohitwaghchaure
- author!=nabinhait
- author!=ankush
- author!=deepeshgarg007
- author!=frappe-pr-bot
- author!=mergify[bot]
- or:
- base=version-13
- base=version-12
- base=version-14
- base=version-15
- base=version-16
actions:
close:
comment:
message: |
@{{author}}, thanks for the contribution, but we do not accept pull requests on a stable branch. Please raise PR on an appropriate hotfix branch.
https://github.com/frappe/erpnext/wiki/Pull-Request-Checklist#which-branch
message: |
@{{author}}, thanks for the contribution, but we do not accept pull requests on a stable branch. Please raise PR on an appropriate hotfix branch.
https://github.com/frappe/erpnext/wiki/Pull-Request-Checklist#which-branch
- name: backport to develop
conditions:
- label="backport develop"
@@ -34,7 +32,6 @@ pull_request_rules:
- develop
assignees:
- "{{ author }}"
- name: backport to version-14-hotfix
conditions:
- label="backport version-14-hotfix"
@@ -44,7 +41,6 @@ pull_request_rules:
- version-14-hotfix
assignees:
- "{{ author }}"
- name: backport to version-15-hotfix
conditions:
- label="backport version-15-hotfix"
@@ -54,18 +50,6 @@ pull_request_rules:
- version-15-hotfix
assignees:
- "{{ author }}"
- name: backport to version-13-hotfix
conditions:
- label="backport version-13-hotfix"
actions:
backport:
branches:
- version-13-hotfix
assignees:
- "{{ author }}"
- name: Automatic merge on CI success and review
conditions:
- status-success=linters
@@ -96,6 +80,6 @@ pull_request_rules:
merge:
method: squash
commit_message_template: |
{{ title }} (#{{ number }})
{{ title }} (#{{ number }})
{{ body }}
{{ body }}

View File

@@ -4,7 +4,7 @@
import frappe
from frappe import _, throw
from frappe.utils import cint, cstr
from frappe.utils import add_to_date, cint, cstr, pretty_date
from frappe.utils.nestedset import NestedSet, get_ancestors_of, get_descendants_of
import erpnext
@@ -479,6 +479,7 @@ def get_account_autoname(account_number, account_name, company):
@frappe.whitelist()
def update_account_number(name, account_name, account_number=None, from_descendant=False):
_ensure_idle_system()
account = frappe.get_cached_doc("Account", name)
if not account:
return
@@ -540,6 +541,7 @@ def update_account_number(name, account_name, account_number=None, from_descenda
@frappe.whitelist()
def merge_account(old, new):
_ensure_idle_system()
# Validate properties before merging
new_account = frappe.get_cached_doc("Account", new)
old_account = frappe.get_cached_doc("Account", old)
@@ -593,3 +595,27 @@ def sync_update_account_number_in_child(
for d in frappe.db.get_values("Account", filters=filters, fieldname=["company", "name"], as_dict=True):
update_account_number(d["name"], account_name, account_number, from_descendant=True)
def _ensure_idle_system():
# Don't allow renaming if accounting entries are actively being updated, there are two main reasons:
# 1. Correctness: It's next to impossible to ensure that renamed account is not being used *right now*.
# 2. Performance: Renaming requires locking out many tables entirely and severely degrades performance.
if frappe.flags.in_test:
return
try:
# We also lock inserts to GL entry table with for_update here.
last_gl_update = frappe.db.get_value("GL Entry", {}, "modified", for_update=True, wait=False)
except frappe.QueryTimeoutError:
# wait=False fails immediately if there's an active transaction.
last_gl_update = add_to_date(None, seconds=-1)
if last_gl_update > add_to_date(None, minutes=-5):
frappe.throw(
_(
"Last GL Entry update was done {}. This operation is not allowed while system is actively being used. Please wait for 5 minutes before retrying."
).format(pretty_date(last_gl_update)),
title=_("System In Use"),
)

View File

@@ -258,6 +258,10 @@ frappe.ui.form.on("Payment Entry", {
frappe.flags.allocate_payment_amount = true;
},
validate: async function (frm) {
await frm.events.set_exchange_gain_loss_deduction(frm);
},
validate_company: (frm) => {
if (!frm.doc.company) {
frappe.throw({ message: __("Please select a Company first."), title: __("Mandatory") });
@@ -1837,8 +1841,6 @@ function prompt_for_missing_account(frm, account) {
(values) => resolve(values?.[account]),
__("Please Specify Account")
);
dialog.on_hide = () => resolve("");
});
}

View File

@@ -1625,6 +1625,5 @@
"states": [],
"timeline_field": "customer",
"title_field": "customer_name",
"track_changes": 1,
"track_seen": 1
}
"track_changes": 1
}

View File

@@ -796,7 +796,11 @@ frappe.ui.form.on("Sales Invoice", {
}
},
<<<<<<< HEAD
onload: function (frm) {
=======
onload: function(frm) {
>>>>>>> 1110f88e5a (feat: refactor and enhance sales invoice timesheet)
frm.redemption_conversion_factor = null;
},
@@ -895,30 +899,115 @@ frappe.ui.form.on("Sales Invoice", {
project: function (frm) {
if (frm.doc.project) {
frappe.db.get_value("Projects Settings", {}, "fetch_timesheet_in_sales_invoice", (r) => {
if (cint(r.fetch_timesheet_in_sales_invoice)) {
frm.events.add_timesheet_data(frm, {
project: frm.doc.project,
});
}
frappe.call({
method: "is_auto_fetch_timesheet_enabled",
doc: frm.doc,
callback: function (r) {
if (cint(r.message)) {
frm.events.add_timesheet_data(frm, {
project: frm.doc.project,
});
}
},
});
}
},
<<<<<<< HEAD
<<<<<<< HEAD
=======
project: function(frm) {
if (frm.doc.project) {
frm.events.add_timesheet_data(frm, {
project: frm.doc.project
});
}
},
>>>>>>> 1110f88e5a (feat: refactor and enhance sales invoice timesheet)
async add_timesheet_data(frm, kwargs) {
if (kwargs === "Sales Invoice") {
// called via frm.trigger()
kwargs = Object();
}
<<<<<<< HEAD
if (!Object.prototype.hasOwnProperty.call(kwargs, "project") && frm.doc.project) {
=======
if (!kwargs.hasOwnProperty("project") && frm.doc.project) {
>>>>>>> 1110f88e5a (feat: refactor and enhance sales invoice timesheet)
kwargs.project = frm.doc.project;
}
const timesheets = await frm.events.get_timesheet_data(frm, kwargs);
return frm.events.set_timesheet_data(frm, timesheets);
<<<<<<< HEAD
=======
add_timesheet_row: function(frm, row, exchange_rate) {
frm.add_child('timesheets', {
'activity_type': row.activity_type,
'description': row.description,
'time_sheet': row.parent,
'billing_hours': row.billing_hours,
'billing_amount': flt(row.billing_amount) * flt(exchange_rate),
'timesheet_detail': row.name
=======
},
async get_timesheet_data(frm, kwargs) {
return frappe.call({
method: "erpnext.projects.doctype.timesheet.timesheet.get_projectwise_timesheet_data",
args: kwargs
}).then(r => {
if (!r.exc && r.message.length > 0) {
return r.message
} else {
return []
}
>>>>>>> 1110f88e5a (feat: refactor and enhance sales invoice timesheet)
});
},
set_timesheet_data: function(frm, timesheets) {
frm.clear_table("timesheets")
timesheets.forEach(timesheet => {
if (frm.doc.currency != timesheet.currency) {
frappe.call({
method: "erpnext.setup.utils.get_exchange_rate",
args: {
from_currency: timesheet.currency,
to_currency: frm.doc.currency
},
callback: function(r) {
if (r.message) {
exchange_rate = r.message;
frm.events.append_time_log(frm, timesheet, exchange_rate);
}
}
});
} else {
frm.events.append_time_log(frm, timesheet, 1.0);
}
});
},
append_time_log: function(frm, time_log, exchange_rate) {
const row = frm.add_child("timesheets");
row.activity_type = time_log.activity_type;
row.description = time_log.description;
row.time_sheet = time_log.time_sheet;
row.from_time = time_log.from_time;
row.to_time = time_log.to_time;
row.billing_hours = time_log.billing_hours;
row.billing_amount = flt(time_log.billing_amount) * flt(exchange_rate);
row.timesheet_detail = time_log.name;
frm.refresh_field("timesheets");
frm.trigger("calculate_timesheet_totals");
>>>>>>> b57521a337 (feat: add `total_billing_hours` to Sales Invoice)
},
<<<<<<< HEAD
async get_timesheet_data(frm, kwargs) {
return frappe
.call({
@@ -1049,6 +1138,58 @@ frappe.ui.form.on("Sales Invoice", {
},
__("Get Items From")
);
=======
calculate_timesheet_totals: function(frm) {
frm.set_value("total_billing_amount",
frm.doc.timesheets.reduce((a, b) => a + (b["billing_amount"] || 0.0), 0.0));
frm.set_value("total_billing_hours",
frm.doc.timesheets.reduce((a, b) => a + (b["billing_hours"] || 0.0), 0.0));
},
refresh: function(frm) {
if (frm.doc.docstatus===0 && !frm.doc.is_return) {
frm.add_custom_button(__("Fetch Timesheet"), function() {
let d = new frappe.ui.Dialog({
title: __("Fetch Timesheet"),
fields: [
{
"label" : __("From"),
"fieldname": "from_time",
"fieldtype": "Date",
"reqd": 1,
},
{
fieldtype: "Column Break",
fieldname: "col_break_1",
},
{
"label" : __("To"),
"fieldname": "to_time",
"fieldtype": "Date",
"reqd": 1,
},
{
"label" : __("Project"),
"fieldname": "project",
"fieldtype": "Link",
"options": "Project",
"default": frm.doc.project
},
],
primary_action: function() {
const data = d.get_values();
frm.events.add_timesheet_data(frm, {
from_time: data.from_time,
to_time: data.to_time,
project: data.project
});
d.hide();
},
primary_action_label: __("Get Timesheets")
});
d.show();
});
>>>>>>> 1110f88e5a (feat: refactor and enhance sales invoice timesheet)
}
if (frm.doc.is_debit_note) {
@@ -1078,7 +1219,34 @@ var set_timesheet_detail_rate = function (cdt, cdn, currency, timelog) {
});
};
<<<<<<< HEAD
var select_loyalty_program = function (frm, loyalty_programs) {
=======
create_invoice_discounting: function(frm) {
frappe.model.open_mapped_doc({
method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.create_invoice_discounting",
frm: frm
});
},
create_dunning: function(frm) {
frappe.model.open_mapped_doc({
method: "erpnext.accounts.doctype.sales_invoice.sales_invoice.create_dunning",
frm: frm
});
}
});
frappe.ui.form.on("Sales Invoice Timesheet", {
timesheets_remove(frm, cdt, cdn) {
frm.trigger("calculate_timesheet_totals");
}
});
var select_loyalty_program = function(frm, loyalty_programs) {
>>>>>>> b57521a337 (feat: add `total_billing_hours` to Sales Invoice)
var dialog = new frappe.ui.Dialog({
title: __("Select Loyalty Program"),
fields: [

View File

@@ -49,6 +49,18 @@
"set_target_warehouse",
"section_break_42",
"items",
<<<<<<< HEAD
=======
"pricing_rule_details",
"pricing_rules",
"packing_list",
"packed_items",
"product_bundle_help",
"time_sheet_list",
"timesheets",
"total_billing_amount",
"total_billing_hours",
>>>>>>> b57521a337 (feat: add `total_billing_hours` to Sales Invoice)
"section_break_30",
"total_qty",
"total_net_weight",
@@ -1977,6 +1989,7 @@
"read_only": 1
},
{
<<<<<<< HEAD
"default": "0",
"fieldname": "ignore_default_payment_terms_template",
"fieldtype": "Check",
@@ -1985,11 +1998,14 @@
"read_only": 1
},
{
=======
>>>>>>> b57521a337 (feat: add `total_billing_hours` to Sales Invoice)
"fieldname": "total_billing_hours",
"fieldtype": "Float",
"label": "Total Billing Hours",
"print_hide": 1,
"read_only": 1
<<<<<<< HEAD
},
{
"fieldname": "amount_eligible_for_commission",
@@ -2199,6 +2215,8 @@
"label": "Company Contact Person",
"options": "Contact",
"print_hide": 1
=======
>>>>>>> b57521a337 (feat: add `total_billing_hours` to Sales Invoice)
}
],
"icon": "fa fa-file-text",
@@ -2211,7 +2229,15 @@
"link_fieldname": "consolidated_invoice"
}
],
<<<<<<< HEAD
<<<<<<< HEAD
"modified": "2025-02-06 15:59:54.636202",
=======
"modified": "2021-08-02 18:36:51.978581",
>>>>>>> b57521a337 (feat: add `total_billing_hours` to Sales Invoice)
=======
"modified": "2021-08-15 18:40:20.445127",
>>>>>>> 0f2f11cb33 (fix: typo)
"modified_by": "Administrator",
"module": "Accounts",
"name": "Sales Invoice",
@@ -2266,4 +2292,4 @@
"title_field": "customer_name",
"track_changes": 1,
"track_seen": 1
}
}

View File

@@ -1096,20 +1096,21 @@ class SalesInvoice(SellingController):
timesheet.billing_amount = ts_doc.total_billable_amount
def update_timesheet_billing_for_project(self):
if (
not self.timesheets
and self.project
and frappe.db.get_single_value("Projects Settings", "fetch_timesheet_in_sales_invoice")
):
if not self.timesheets and self.project and self.is_auto_fetch_timesheet_enabled():
self.add_timesheet_data()
else:
self.calculate_billing_amount_for_timesheet()
@frappe.whitelist()
def is_auto_fetch_timesheet_enabled(self):
return frappe.db.get_single_value("Projects Settings", "fetch_timesheet_in_sales_invoice")
@frappe.whitelist()
def add_timesheet_data(self):
self.set("timesheets", [])
if self.project:
for data in get_projectwise_timesheet_data(self.project):
<<<<<<< HEAD
self.append(
"timesheets",
{
@@ -1121,6 +1122,16 @@ class SalesInvoice(SellingController):
"description": data.description,
},
)
=======
self.append('timesheets', {
'time_sheet': data.time_sheet,
'billing_hours': data.billing_hours,
'billing_amount': data.billing_amount,
'timesheet_detail': data.name,
'activity_type': data.activity_type,
'description': data.description
})
>>>>>>> 1110f88e5a (feat: refactor and enhance sales invoice timesheet)
self.calculate_billing_amount_for_timesheet()

View File

@@ -103,6 +103,7 @@
"fieldname": "section_break_11",
"fieldtype": "Section Break",
"label": "Reference"
<<<<<<< HEAD
},
{
"fieldname": "project_name",
@@ -113,11 +114,17 @@
{
"fieldname": "column_break_13",
"fieldtype": "Column Break"
=======
>>>>>>> 1110f88e5a (feat: refactor and enhance sales invoice timesheet)
}
],
"istable": 1,
"links": [],
<<<<<<< HEAD
"modified": "2024-03-27 13:10:36.562795",
=======
"modified": "2021-08-02 23:03:08.084930",
>>>>>>> 1110f88e5a (feat: refactor and enhance sales invoice timesheet)
"modified_by": "Administrator",
"module": "Accounts",
"name": "Sales Invoice Timesheet",

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: frappe\n"
"Report-Msgid-Bugs-To: info@erpnext.com\n"
"POT-Creation-Date: 2025-02-16 09:34+0000\n"
"PO-Revision-Date: 2025-02-25 02:52\n"
"PO-Revision-Date: 2025-03-02 03:31\n"
"Last-Translator: info@erpnext.com\n"
"Language-Team: Bosnian\n"
"MIME-Version: 1.0\n"
@@ -1831,7 +1831,7 @@ msgstr "Knjigovodstvene Dimenzije"
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
msgid "Accounting Dimensions "
msgstr "Računovodstvene Dimenzije"
msgstr "Knjigovodstvene Dimenzije "
#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Payment Reconciliation'
@@ -2748,7 +2748,7 @@ msgstr "Dodaj ručno"
#: erpnext/projects/doctype/task/task_tree.js:42
msgid "Add Multiple"
msgstr "Dodaj višestruko"
msgstr "Dodaj Više Redova"
#: erpnext/projects/doctype/task/task_tree.js:49
msgid "Add Multiple Tasks"
@@ -2839,7 +2839,7 @@ msgstr "Dodaj šablon"
#: erpnext/utilities/activation.py:123
msgid "Add Timesheets"
msgstr "Dodaj Vemenske Izvještaje"
msgstr "Dodaj Radni List"
#. Label of the add_weekly_holidays (Section Break) field in DocType 'Holiday
#. List'
@@ -3083,7 +3083,7 @@ msgstr "Dodatni iznos popusta (valuta kompanije)"
#: erpnext/stock/doctype/delivery_note/delivery_note.json
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
msgid "Additional Discount Percentage"
msgstr "Dodatni postotak popusta"
msgstr "Dodatni Procenat Popusta"
#. Label of the additional_info_section (Section Break) field in DocType
#. 'Purchase Invoice'
@@ -6531,7 +6531,7 @@ msgstr "Automobilski"
#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.json
#: erpnext/crm/doctype/availability_of_slots/availability_of_slots.json
msgid "Availability Of Slots"
msgstr "Dostupna Vremena"
msgstr "Dostupni Termini"
#: erpnext/manufacturing/doctype/workstation/workstation.js:513
#: erpnext/manufacturing/report/production_planning_report/production_planning_report.py:372
@@ -7005,7 +7005,7 @@ msgstr "Sastavnica i Količina za Proizvodnju su obavezni"
#. 'Manufacturing Settings'
#: erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json
msgid "BOM and Production"
msgstr "Lista Materijala i Proizvodnja"
msgstr "Sastavnica & Proizvodnja"
#: erpnext/stock/doctype/material_request/material_request.js:349
#: erpnext/stock/doctype/stock_entry/stock_entry.js:682
@@ -7026,7 +7026,7 @@ msgstr "Sastavnica {0} ne pripada Artiklu {1}"
#: erpnext/manufacturing/doctype/bom/bom.py:1296
msgid "BOM {0} must be active"
msgstr "Lista Materijala {0} mora biti aktivana"
msgstr "Sastavnica {0} mora biti aktivana"
#: erpnext/manufacturing/doctype/bom/bom.py:1299
msgid "BOM {0} must be submitted"
@@ -7940,7 +7940,7 @@ msgstr "Faktura za odbijenu količinu na Kupovnoj Fakturi"
#: erpnext/stock/doctype/material_request/material_request.js:107
#: erpnext/stock/doctype/stock_entry/stock_entry.js:612
msgid "Bill of Materials"
msgstr "Lista Materijala"
msgstr "Sastavnica"
#. Option for the 'Status' (Select) field in DocType 'Timesheet'
#: erpnext/controllers/website_list_for_contact.py:203
@@ -8645,7 +8645,7 @@ msgstr "Zapisnik Detalja Masovnih Transakcija"
#. Label of a Link in the Settings Workspace
#: erpnext/setup/workspace/settings/settings.json
msgid "Bulk Update"
msgstr "Grupno ažuriranje"
msgstr "Masovno Ažuriranje"
#. Label of the packed_items (Table) field in DocType 'Quotation'
#. Label of the bundle_items_section (Section Break) field in DocType
@@ -8739,7 +8739,7 @@ msgstr "Kupovna Cijena"
#: erpnext/buying/workspace/buying/buying.json
#: erpnext/setup/workspace/settings/settings.json
msgid "Buying Settings"
msgstr "Kupovne Postavke"
msgstr "Postavke Kupovine"
#. Label of the buying_and_selling_tab (Tab Break) field in DocType 'Company'
#: erpnext/setup/doctype/company/company.json
@@ -8945,7 +8945,7 @@ msgstr "Usmjeravanje Poziva"
#: erpnext/telephony/doctype/incoming_call_settings/incoming_call_settings.js:58
#: erpnext/telephony/doctype/incoming_call_settings/incoming_call_settings.py:48
msgid "Call Schedule Row {0}: To time slot should always be ahead of From time slot."
msgstr "Red Rasporeda Poziva {0}: vremenski odsječak za prijem uvijek bi trebao biti prije vremenskog odsječka za poziv."
msgstr "Raspored Poziva Red{0}: Vremenski Do termin uvek treba da bude ispred vremenskog Od termina."
#. Label of the section_break_11 (Section Break) field in DocType 'Call Log'
#: erpnext/public/js/call_popup/call_popup.js:164
@@ -10560,7 +10560,7 @@ msgstr "Medium Konverzacije"
#. Name of a DocType
#: erpnext/communication/doctype/communication_medium_timeslot/communication_medium_timeslot.json
msgid "Communication Medium Timeslot"
msgstr "Vremenski Interval Komunikacijskog Medija"
msgstr "Vremenski Termin Komunikacijskog Medija"
#. Label of the communication_medium_type (Select) field in DocType
#. 'Communication Medium'
@@ -11117,7 +11117,7 @@ msgstr "Detalji o Kompaniji"
#. Label of the company_email (Data) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
msgid "Company Email"
msgstr "e-pošta Kompanije"
msgstr "E-pošta Kompanije"
#. Label of the company_logo (Attach Image) field in DocType 'Company'
#: erpnext/setup/doctype/company/company.json
@@ -12093,7 +12093,7 @@ msgstr "Doprinos u Neto Ukupno"
#. Label of the section_break_6 (Section Break) field in DocType 'Budget'
#: erpnext/accounts/doctype/budget/budget.json
msgid "Control Action"
msgstr "Kontrolna Akcija"
msgstr "Kontrolna Radnja"
#. Label of the control_historical_stock_transactions_section (Section Break)
#. field in DocType 'Stock Settings'
@@ -13047,7 +13047,7 @@ msgstr "Kreiraj PDV Šablon"
#: erpnext/utilities/activation.py:127
msgid "Create Timesheet"
msgstr "Kreiraj Vremensku Tablicu"
msgstr "Kreiraj Radni List"
#. Label of the create_user (Button) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
@@ -13198,13 +13198,13 @@ msgstr "Kreiranje <b><a href='/app/{0}'>{1}(s)</a></b> uspješno"
msgid "Creation of {0} failed.\n"
"\t\t\t\tCheck <b><a href=\"/app/bulk-transaction-log\">Bulk Transaction Log</a></b>"
msgstr "Kreiranje {0} nije uspjelo.\n"
"\t\t\t\tProvjerite <b><a href=\"/app/bulk-transaction-log\">Dnevnik Masovnih Transakcija</a></b>"
"\t\t\t\tProvjerite <b><a href=\"/app/bulk-transaction-log\">Zapisnik Masovnih Transakcija</a></b>"
#: erpnext/utilities/bulk_transaction.py:197
msgid "Creation of {0} partially successful.\n"
"\t\t\t\tCheck <b><a href=\"/app/bulk-transaction-log\">Bulk Transaction Log</a></b>"
msgstr "Kreiranje {0} djelomično uspješno.\n"
"\t\t\t\tProvjerite <b><a href=\"/app/bulk-transaction-log\">Dnevnik Masovnih Transakcija</a></b>"
msgstr "Kreiranje {0} nije uspjelo.\n"
"\t\t\t\tProvjerite <b><a href=\"/app/bulk-transaction-log\">Zapisnik Masovnih Transakcija</a></b>"
#. Option for the 'Balance must be' (Select) field in DocType 'Account'
#. Label of the credit_in_account_currency (Currency) field in DocType 'Journal
@@ -14580,7 +14580,7 @@ msgstr "Dnevno vrijeme za slanje"
#: erpnext/projects/report/daily_timesheet_summary/daily_timesheet_summary.json
#: erpnext/projects/workspace/projects/projects.json
msgid "Daily Timesheet Summary"
msgstr "Dnevni Pregled Radnog Vremena"
msgstr "Dnevni Pregled Radnog Lista"
#. Label of a shortcut in the Accounting Workspace
#. Label of a shortcut in the Assets Workspace
@@ -17675,7 +17675,7 @@ msgstr "Analiza Zastoja"
#: erpnext/manufacturing/doctype/downtime_entry/downtime_entry.json
#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json
msgid "Downtime Entry"
msgstr "Unos Zastoja"
msgstr "Zastoj"
#. Label of the downtime_reason_section (Section Break) field in DocType
#. 'Downtime Entry'
@@ -17785,7 +17785,7 @@ msgstr "Adresa Vozača"
#. Label of the driver_email (Data) field in DocType 'Delivery Trip'
#: erpnext/stock/doctype/delivery_trip/delivery_trip.json
msgid "Driver Email"
msgstr "e-pošta Vozača"
msgstr "E-pošta Vozača"
#. Label of the driver_name (Data) field in DocType 'Delivery Note'
#. Label of the driver_name (Data) field in DocType 'Delivery Trip'
@@ -18241,12 +18241,12 @@ msgstr "Ells (UK)"
#: erpnext/selling/page/point_of_sale/pos_item_cart.js:902
#: erpnext/setup/doctype/company/company.json
msgid "Email"
msgstr "e-pošta"
msgstr "E-pošta"
#. Label of a Card Break in the Settings Workspace
#: erpnext/setup/workspace/settings/settings.json
msgid "Email / Notifications"
msgstr "e-pošta / Obavjesti"
msgstr "E-pošta / Obavjesti"
#. Label of a Link in the Home Workspace
#. Label of a Link in the Settings Workspace
@@ -18275,7 +18275,7 @@ msgstr "Adresa e-pošte mora biti unikat, već se koristi u {0}"
#: erpnext/crm/doctype/email_campaign/email_campaign.json
#: erpnext/crm/workspace/crm/crm.json
msgid "Email Campaign"
msgstr "Kampanja e-poštom"
msgstr "Kampanja E-poštom"
#. Label of the email_campaign_for (Select) field in DocType 'Email Campaign'
#: erpnext/crm/doctype/email_campaign/email_campaign.json
@@ -18339,11 +18339,11 @@ msgstr "E-pošta"
#. Supplier'
#: erpnext/buying/doctype/request_for_quotation_supplier/request_for_quotation_supplier.json
msgid "Email Sent"
msgstr "e-pošta poslana"
msgstr "E-pošta poslana"
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.py:312
msgid "Email Sent to Supplier {0}"
msgstr "e-pošta poslana Dobavljaču {0}"
msgstr "E-pošta poslana Dobavljaču {0}"
#. Label of the section_break_1 (Section Break) field in DocType 'Process
#. Statement Of Accounts'
@@ -18600,7 +18600,7 @@ msgstr "Omogući Zajedničko Knjigovodstvo Stranki"
#. in DocType 'Selling Settings'
#: erpnext/selling/doctype/selling_settings/selling_settings.json
msgid "Enable Cut-Off Date on Bulk Delivery Note Creation"
msgstr "Omogući rok za masovno kreiranje Dostavnica"
msgstr "Omogući Zadnji Datum za Masovno Kreiranje Dostavnica"
#. Label of the enable_deferred_expense (Check) field in DocType 'Purchase
#. Invoice Item'
@@ -19173,7 +19173,7 @@ msgstr "Izuzetak Uloga Odobravatelja Budžeta"
#: erpnext/manufacturing/report/work_order_consumed_materials/work_order_consumed_materials.js:55
msgid "Excess Materials Consumed"
msgstr "Višak Utrošenog Materijala"
msgstr "Višak Potrošenog Materijala"
#: erpnext/manufacturing/doctype/job_card/job_card.py:956
msgid "Excess Transfer"
@@ -19920,7 +19920,7 @@ msgstr "Preuzmi Ažuriranja Pretplate"
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1007
msgid "Fetch Timesheet"
msgstr "Preuzmi Vremensku Tabelu"
msgstr "Preuzmi Radni List"
#. Label of the fetch_from_parent (Select) field in DocType 'Inventory
#. Dimension'
@@ -21798,7 +21798,7 @@ msgstr "Preuzmi Artikle"
#: erpnext/stock/doctype/stock_entry/stock_entry.js:616
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js:121
msgid "Get Items From"
msgstr "Prikupi Artikle iz"
msgstr "Preuzmi Artikle iz"
#. Label of the get_items_from_purchase_receipts (Button) field in DocType
#. 'Landed Cost Voucher'
@@ -21920,7 +21920,7 @@ msgstr "Preuzmi Dobavljače prema"
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.js:1042
msgid "Get Timesheets"
msgstr "Preuzmi Vemenske Izvještaje"
msgstr "Preuzmi Radni List"
#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.js:84
#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.js:87
@@ -22376,14 +22376,14 @@ msgstr "Grupiši po Dobavljaču"
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:173
#: erpnext/accounts/report/general_ledger/general_ledger.js:121
msgid "Group by Voucher"
msgstr "Grupirajte po Verifikatu"
msgstr "Grupiši po Verifikatu"
#. Option for the 'Group By' (Select) field in DocType 'Process Statement Of
#. Accounts'
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.json
#: erpnext/accounts/report/general_ledger/general_ledger.js:125
msgid "Group by Voucher (Consolidated)"
msgstr "Grupirajte po Verifikatu (Konsolidirano)"
msgstr "Grupiši po Verifikatu (Konsolidirano)"
#: erpnext/stock/utils.py:436
msgid "Group node warehouse is not allowed to select for transactions"
@@ -23863,7 +23863,7 @@ msgstr "U Minutama"
#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.js:8
msgid "In row {0} of Appointment Booking Slots: \"To Time\" must be later than \"From Time\"."
msgstr "U redu {0} termina za rezervaciju termina: \"Do vremena\" mora biti kasnije od \"Od vremena\"."
msgstr "U redu {0} Rezervacija Termina: \"Do vremena\" mora biti kasnije od \"Od vremena\"."
#: erpnext/templates/includes/products_as_grid.html:18
msgid "In stock"
@@ -24060,7 +24060,7 @@ msgstr "Uključi Podizvođačke Artikle"
#: erpnext/projects/report/timesheet_billing_summary/timesheet_billing_summary.js:52
msgid "Include Timesheets in Draft Status"
msgstr "Uključi Vremenske Tablice u Status Nacrta"
msgstr "Uključi Radni List u Status Nacrta"
#: erpnext/stock/report/stock_balance/stock_balance.js:90
#: erpnext/stock/report/stock_ledger/stock_ledger.js:90
@@ -25094,7 +25094,7 @@ msgstr "Fakturisani Iznos"
#: erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.py:75
msgid "Invoiced Qty"
msgstr "Fakturisana Kolicina"
msgstr "Fakturisana Količina"
#. Label of the invoices (Table) field in DocType 'Invoice Discounting'
#. Label of the section_break_4 (Section Break) field in DocType 'Opening
@@ -28174,7 +28174,7 @@ msgstr "Prekoračeno Ograničenje"
#. Reposting Settings'
#: erpnext/stock/doctype/stock_reposting_settings/stock_reposting_settings.json
msgid "Limit timeslot for Stock Reposting"
msgstr "Ograničite vremenski okvir za ponovno Knjiženje Zaliha"
msgstr "Ograniči vremenski termin za ponovno Knjiženje Zaliha"
#. Description of the 'Short Name' (Data) field in DocType 'Manufacturer'
#: erpnext/stock/doctype/manufacturer/manufacturer.json
@@ -28534,7 +28534,7 @@ msgstr "Otkupljanje Bodova Lojalnosti"
#: erpnext/accounts/doctype/loyalty_program/loyalty_program.js:8
msgid "Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned."
msgstr "Bodovi Lojalnosti će se obračunati od utrošenog novca (putem Prodajne Fakture), na osnovu navedenog faktora prikupljanja."
msgstr "Bodovi Lojalnosti će se obračunati od potrošenog novca (putem Prodajne Fakture), na osnovu navedenog faktora prikupljanja."
#: erpnext/public/js/utils.js:109
msgid "Loyalty Points: {0}"
@@ -30943,7 +30943,7 @@ msgstr "Naziv Mjesečne Raspodjele"
#: erpnext/stock/doctype/delivery_note/delivery_note.json
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
msgid "Named Place"
msgstr "Imenovano Mjesto"
msgstr "Mjesto"
#. Label of the naming_series (Select) field in DocType 'Pricing Rule'
#. Label of the naming_series (Select) field in DocType 'Asset Depreciation
@@ -31926,7 +31926,7 @@ msgstr "Broj paralelnih radnih kartica koje se mogu dozvoliti na ovoj radnoj sta
#: erpnext/quality_management/doctype/non_conformance/non_conformance.json
#: erpnext/quality_management/workspace/quality/quality.json
msgid "Non Conformance"
msgstr "Nesukladnost"
msgstr "Odstupanje Kvaliteta"
#: erpnext/setup/setup_wizard/operations/install_fixtures.py:167
msgid "Non Profit"
@@ -37317,7 +37317,7 @@ msgstr "Navedi ili Količinu ili Stopu Vrednovanja ili oboje"
#: erpnext/stock/doctype/item_attribute/item_attribute.py:93
msgid "Please specify from/to range"
msgstr "Navedi od/do raspona"
msgstr "Navedi od/Do Raspona"
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:37
msgid "Please supply the specified items at the best possible rates"
@@ -37730,7 +37730,7 @@ msgstr "Preventivno"
#. Conformance'
#: erpnext/quality_management/doctype/non_conformance/non_conformance.json
msgid "Preventive Action"
msgstr "Preventivna Akcija"
msgstr "Preventivna Radnja"
#. Option for the 'Maintenance Type' (Select) field in DocType 'Asset
#. Maintenance Task'
@@ -39962,7 +39962,7 @@ msgstr "Kupovni PDV i Naknade"
#: erpnext/buying/workspace/buying/buying.json
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
msgid "Purchase Taxes and Charges Template"
msgstr "Šablon Prodajnog PDV-a i Naknade"
msgstr "Šablon Kupovnog PDV-a i Naknade"
#. Name of a role
#: erpnext/accounts/doctype/account/account.json
@@ -40406,7 +40406,7 @@ msgstr "Kvalitet"
#: erpnext/quality_management/doctype/quality_meeting_minutes/quality_meeting_minutes.json
#: erpnext/quality_management/workspace/quality/quality.json
msgid "Quality Action"
msgstr "Akcija Kvaliteta"
msgstr "Radnja Kvaliteta"
#. Name of a DocType
#: erpnext/quality_management/doctype/quality_action_resolution/quality_action_resolution.json
@@ -41348,7 +41348,7 @@ msgstr "Stopa po kojoj se Valuta Dobavljača pretvara u osnovnu valutu kompanije
#. Description of the 'Tax Rate' (Float) field in DocType 'Account'
#: erpnext/accounts/doctype/account/account.json
msgid "Rate at which this tax is applied"
msgstr "Stopa po kojoj se ovaj PDV primjenjuje"
msgstr "PDV Stopa"
#. Label of the rate_of_depreciation (Percent) field in DocType 'Asset
#. Depreciation Schedule'
@@ -43134,7 +43134,7 @@ msgstr "Dobavljač Zahtjeva Ponude"
#: erpnext/selling/doctype/sales_order/sales_order.js:695
msgid "Request for Raw Materials"
msgstr "Nalog za Sirovinu"
msgstr "Nalog Sirovine"
#. Option for the 'Status' (Select) field in DocType 'Payment Request'
#. Option for the 'Advance Payment Status' (Select) field in DocType 'Sales
@@ -43475,7 +43475,7 @@ msgstr "Poništi Standard Vrijednosti Kompanije"
#: erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.js:19
msgid "Reset Plaid Link"
msgstr "Resetuj Plaid Link"
msgstr "Poništi Plaid Link"
#. Label of the reset_raw_materials_table (Button) field in DocType
#. 'Subcontracting Receipt'
@@ -43926,7 +43926,7 @@ msgstr "Datum Recenzije"
#. Label of a Card Break in the Quality Workspace
#: erpnext/quality_management/workspace/quality/quality.json
msgid "Review and Action"
msgstr "Recenzija I Akcija"
msgstr "Recenzija & Radnja"
#. Group in Quality Procedure's connections
#. Label of the reviews (Table) field in DocType 'Quality Review'
@@ -44484,7 +44484,7 @@ msgstr "Red #{0}: Samo {1} je dostupno za rezervisanje za artikal {2}"
#: erpnext/stock/doctype/stock_entry/stock_entry.py:648
msgid "Row #{0}: Operation {1} is not completed for {2} qty of finished goods in Work Order {3}. Please update operation status via Job Card {4}."
msgstr "Red #{0}: Operacija {1} nije završena za {2} količinu gotove robe u Radnom Nalogu {3}. Ažurirajte status rada putem Radne Kartice {4}."
msgstr "Red #{0}: Operacija {1} nije završena za {2} količinu gotovog proizvoda u Radnom Nalogu {3}. Ažuriraj status rada putem Radne Kartice {4}."
#: erpnext/accounts/doctype/bank_clearance/bank_clearance.py:96
msgid "Row #{0}: Payment document is required to complete the transaction"
@@ -44831,7 +44831,7 @@ msgstr "Red {0}: Kako je {1} omogućen, sirovine se ne mogu dodati u {2} unos. K
#: erpnext/stock/doctype/material_request/material_request.py:845
msgid "Row {0}: Bill of Materials not found for the Item {1}"
msgstr "Red {0}: Lista Materijala nije pronađena za Artikal {1}"
msgstr "Red {0}: Sastavnica nije pronađena za Artikal {1}"
#: erpnext/accounts/doctype/journal_entry/journal_entry.py:871
msgid "Row {0}: Both Debit and Credit values cannot be zero"
@@ -45011,7 +45011,7 @@ msgstr "Red {0}: Postavi ispravan kod za Način Plaćanja {1}"
#: erpnext/projects/doctype/timesheet_detail/timesheet_detail.py:102
msgid "Row {0}: Project must be same as the one set in the Timesheet: {1}."
msgstr "Red {0}: Projekat mora biti isti kao onaj postavljen u Vremenskoj Listi: {1}."
msgstr "Red {0}: Projekat mora biti isti kao onaj postavljen u Radnoj Listi: {1}."
#: erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.py:114
msgid "Row {0}: Purchase Invoice {1} has no stock impact."
@@ -45443,7 +45443,7 @@ msgstr "Plaćanje Prodajne Fakture"
#. Name of a DocType
#: erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.json
msgid "Sales Invoice Timesheet"
msgstr "Vremenska Lista Prodajne Fakture"
msgstr "Radni List Prodajne Fakture"
#. Name of a report
#. Label of a Link in the Financial Reports Workspace
@@ -46378,7 +46378,7 @@ msgstr "Bodovi"
#. Scorecard'
#: erpnext/buying/doctype/supplier_scorecard/supplier_scorecard.json
msgid "Scorecard Actions"
msgstr "Akcija Bodovne Tablice"
msgstr "Radnja Bodovne Tablice"
#. Description of the 'Weighting Function' (Small Text) field in DocType
#. 'Supplier Scorecard'
@@ -46979,7 +46979,7 @@ msgstr "Prodajna Cijena"
#: erpnext/selling/workspace/selling/selling.json
#: erpnext/setup/workspace/settings/settings.json
msgid "Selling Settings"
msgstr "Prodajne Postavke"
msgstr "Postavke Prodaje"
#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:213
msgid "Selling must be checked, if Applicable For is selected as {0}"
@@ -49764,7 +49764,7 @@ msgstr "Kapacitet Zaliha"
#. Label of the stock_closing_tab (Tab Break) field in DocType 'Stock Settings'
#: erpnext/stock/doctype/stock_settings/stock_settings.json
msgid "Stock Closing"
msgstr "Zaključavanje Zaliha"
msgstr "Zamrzavanje Zaliha"
#. Name of a DocType
#: erpnext/stock/doctype/stock_closing_balance/stock_closing_balance.json
@@ -50261,7 +50261,7 @@ msgstr "Skladišna Jedinica"
#. 'Stock Settings'
#: erpnext/stock/doctype/stock_settings/stock_settings.json
msgid "Stock UOM Quantity"
msgstr "Kolicina u Skladišnoj Jedinici"
msgstr "Količina u Skladišnoj Jedinici"
#: erpnext/public/js/stock_reservation.js:210
#: erpnext/selling/doctype/sales_order/sales_order.js:432
@@ -50338,7 +50338,7 @@ msgstr "Skladišni Korisnik"
#. Settings'
#: erpnext/stock/doctype/stock_settings/stock_settings.json
msgid "Stock Validations"
msgstr "Valjanost Zaliha"
msgstr "Provjera Zaliha"
#. Label of the stock_value (Float) field in DocType 'Bin'
#. Label of the value (Currency) field in DocType 'Quick Stock Balance'
@@ -50758,7 +50758,7 @@ msgstr "Podnesi"
#: erpnext/buying/doctype/purchase_order/purchase_order.py:904
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:808
msgid "Submit Action Failed"
msgstr "Akcija Podnošenja Neuspješna"
msgstr "Radnja Podnošenja Neuspješna"
#. Label of the submit_after_import (Check) field in DocType 'Bank Statement
#. Import'
@@ -52414,7 +52414,7 @@ msgstr "PDV Postavke"
#: erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json
#: erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json
msgid "Tax Rate"
msgstr "PDV Stopa"
msgstr "PDV %"
#. Label of the taxes (Table) field in DocType 'Item Tax Template'
#: erpnext/accounts/doctype/item_tax_template/item_tax_template.json
@@ -52532,7 +52532,7 @@ msgstr "PDV Stopa Odbitka"
#. Withholding Category'
#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.json
msgid "Tax Withholding Rates"
msgstr "Stope Odbitka PDV"
msgstr "PDV Stope Odbitka"
#. Description of the 'Item Tax Rate' (Code) field in DocType 'Purchase Invoice
#. Item'
@@ -53970,7 +53970,7 @@ msgstr "Radni List"
#: erpnext/projects/report/timesheet_billing_summary/timesheet_billing_summary.json
#: erpnext/projects/workspace/projects/projects.json
msgid "Timesheet Billing Summary"
msgstr "Sažetak Fakture Radnog Lista"
msgstr "Sažetak Fakturisanja Radnog Lista"
#. Label of the timesheet_detail (Data) field in DocType 'Sales Invoice
#. Timesheet'
@@ -53994,7 +53994,7 @@ msgstr "Radni List {0} je već završen ili otkazan"
#: erpnext/projects/doctype/timesheet/timesheet.py:544
#: erpnext/templates/pages/projects.html:59
msgid "Timesheets"
msgstr "Radni Listovi"
msgstr "Radni List"
#: erpnext/utilities/activation.py:124
msgid "Timesheets help keep track of time, cost and billing for activities done by your team"
@@ -54853,7 +54853,7 @@ msgstr "Ukupno Završeno Količinski"
#. 'Project'
#: erpnext/projects/doctype/project/project.json
msgid "Total Consumed Material Cost (via Stock Entry)"
msgstr "Ukupni Trošak Utrošenog Materijala (preko Unosa Zaliha)"
msgstr "Ukupni Trošak Potrošenog Materijala (preko Unosa Zaliha)"
#: erpnext/setup/doctype/sales_person/sales_person.js:17
msgid "Total Contribution Amount Against Invoices: {0}"
@@ -55406,7 +55406,7 @@ msgstr "Ukupna procentualna dodjela za prodajni tim treba biti 100"
#: erpnext/selling/doctype/customer/customer.py:158
msgid "Total contribution percentage should be equal to 100"
msgstr "Ukupan postotak doprinosa treba da bude jednak 100"
msgstr "Ukupan procenat doprinosa treba da bude jednak 100"
#: erpnext/projects/doctype/project/project_dashboard.html:2
msgid "Total hours: {0}"
@@ -56509,7 +56509,7 @@ msgstr "Ažuriraj Naziv/Broj Računa"
#: erpnext/accounts/doctype/account/account.js:158
msgid "Update Account Number / Name"
msgstr "Ažurirajte Broj/Ime Računa"
msgstr "Ažuriraj Broj/Naziv Računa"
#. Label of the update_auto_repeat_reference (Button) field in DocType 'POS
#. Invoice'
@@ -56533,7 +56533,7 @@ msgstr "Ažurirajte Broj/Ime Računa"
#: erpnext/selling/doctype/quotation/quotation.json
#: erpnext/selling/doctype/sales_order/sales_order.json
msgid "Update Auto Repeat Reference"
msgstr "Ažurirajte referencu Automatskog Ponavljanja"
msgstr "Ažuriraj Referencu Automatskog Ponavljanja"
#. Label of the update_bom_costs_automatically (Check) field in DocType
#. 'Manufacturing Settings'
@@ -56546,7 +56546,7 @@ msgstr "Automatski ažuriraj trošak Sastavnice"
#. 'Manufacturing Settings'
#: erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json
msgid "Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials"
msgstr "Automatski ažurirajte trošak putem planera, na osnovu najnovije stope vrednovanja/cijene cjenovnika/posljednje cijene kupovine sirovina"
msgstr "Automatski ažuriraj trošak putem raspoređivača, na osnovu najnovije stope vrednovanja/cijene cjenovnika/posljednje cijene kupovine sirovina"
#. Label of the update_billed_amount_in_delivery_note (Check) field in DocType
#. 'POS Invoice'
@@ -56587,7 +56587,7 @@ msgstr "Ažuriraj Datum Odobrenja"
#. DocType 'Work Order'
#: erpnext/manufacturing/doctype/work_order/work_order.json
msgid "Update Consumed Material Cost In Project"
msgstr "Ažuriraj Trošak Utrošenog Materijala u Projektu"
msgstr "Ažuriraj Trošak Potrošenog Materijala u Projektu"
#. Option for the 'Update Type' (Select) field in DocType 'BOM Update Log'
#. Label of the update_cost_section (Section Break) field in DocType 'BOM
@@ -56601,7 +56601,7 @@ msgstr "Ažuriraj Cijenu"
#: erpnext/accounts/doctype/cost_center/cost_center.js:19
#: erpnext/accounts/doctype/cost_center/cost_center.js:52
msgid "Update Cost Center Name / Number"
msgstr "Ažurirajte Naziv/Broj Centra Troškova"
msgstr "Ažuriraj Naziv/Broj Centra Troškova"
#: erpnext/stock/doctype/pick_list/pick_list.js:104
msgid "Update Current Stock"
@@ -56611,7 +56611,7 @@ msgstr "Ažuriraj Trenutne Zalihe"
#. Settings'
#: erpnext/stock/doctype/stock_settings/stock_settings.json
msgid "Update Existing Price List Rate"
msgstr "Ažurirajte postojeću Cijenu Cijenovnika"
msgstr "Ažuriraj postojeću Cijenu Cijenovnika"
#. Option for the 'Import Type' (Select) field in DocType 'Bank Statement
#. Import'
@@ -56678,7 +56678,7 @@ msgstr "Ažuriraj Učestalost Projekta"
#. Update Tool'
#: erpnext/manufacturing/doctype/bom_update_tool/bom_update_tool.json
msgid "Update latest price in all BOMs"
msgstr "Ažurirajte najnoviju cijenu u svim Sastavnicama"
msgstr "Ažuriraj najnoviju cijenu u svim Sastavnicama"
#: erpnext/assets/doctype/asset/asset.py:349
msgid "Update stock must be enabled for the purchase invoice {0}"
@@ -58954,7 +58954,7 @@ msgstr "Radni Tok"
#. Label of a Link in the Settings Workspace
#: erpnext/setup/workspace/settings/settings.json
msgid "Workflow Action"
msgstr "Akcija Radnog Toka"
msgstr "Radnja Radnog Toka"
#. Label of a Link in the Settings Workspace
#: erpnext/setup/workspace/settings/settings.json

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: frappe\n"
"Report-Msgid-Bugs-To: info@erpnext.com\n"
"POT-Creation-Date: 2025-02-16 09:34+0000\n"
"PO-Revision-Date: 2025-02-16 23:45\n"
"PO-Revision-Date: 2025-03-01 03:34\n"
"Last-Translator: info@erpnext.com\n"
"Language-Team: French\n"
"MIME-Version: 1.0\n"
@@ -15791,7 +15791,7 @@ msgstr "Détails de la Livraison"
#: erpnext/stock/doctype/delivery_trip/delivery_trip.json
#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.json
msgid "Delivery Manager"
msgstr ""
msgstr "Gestionnaire des livraisons"
#. Label of the delivery_note (Link) field in DocType 'POS Invoice Item'
#. Label of the delivery_note (Link) field in DocType 'Sales Invoice Item'
@@ -15928,7 +15928,7 @@ msgstr "Service de Livraison"
#: erpnext/stock/doctype/delivery_trip/delivery_trip.json
#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.json
msgid "Delivery User"
msgstr ""
msgstr "Utilisateur de la livraison"
#. Label of the warehouse (Link) field in DocType 'Sales Order Item'
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: frappe\n"
"Report-Msgid-Bugs-To: info@erpnext.com\n"
"POT-Creation-Date: 2025-02-16 09:34+0000\n"
"PO-Revision-Date: 2025-02-24 02:42\n"
"PO-Revision-Date: 2025-02-28 03:28\n"
"Last-Translator: info@erpnext.com\n"
"Language-Team: Swedish\n"
"MIME-Version: 1.0\n"
@@ -18808,7 +18808,7 @@ msgstr "Avsluta Transit"
#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.js:89
#: erpnext/public/js/financial_statements.js:208
msgid "End Year"
msgstr "T.o.m. År"
msgstr "Året Slutar"
#: erpnext/accounts/report/financial_statements.py:127
msgid "End Year cannot be before Start Year"
@@ -31173,7 +31173,7 @@ msgstr "Netto Resultat"
#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:182
msgid "Net Profit/Loss"
msgstr "Intäkt"
msgstr "Netto Resultat"
#. Label of the net_rate (Currency) field in DocType 'POS Invoice Item'
#. Label of the net_rate (Currency) field in DocType 'Purchase Invoice Item'

View File

@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: frappe\n"
"Report-Msgid-Bugs-To: info@erpnext.com\n"
"POT-Creation-Date: 2025-02-16 09:34+0000\n"
"PO-Revision-Date: 2025-02-16 23:46\n"
"PO-Revision-Date: 2025-03-01 03:35\n"
"Last-Translator: info@erpnext.com\n"
"Language-Team: Chinese Simplified\n"
"MIME-Version: 1.0\n"
@@ -57,7 +57,7 @@ msgstr " 名称"
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:648
msgid " Rate"
msgstr " 单价"
msgstr "税率/费率"
#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:122
msgid " Raw Material"
@@ -260,7 +260,7 @@ msgstr "物料 {0} 已禁用\"交付前强制质检\"功能,无需创建质检
#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:150
msgid "'Inspection Required before Purchase' has disabled for the item {0}, no need to create the QI"
msgstr ""
msgstr "物料 {0} 的“采购前需检验”已禁用,无需创建质检单"
#: erpnext/stock/report/stock_ledger/stock_ledger.py:584
#: erpnext/stock/report/stock_ledger/stock_ledger.py:617
@@ -1077,7 +1077,7 @@ msgstr "空运提单编号"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Abampere"
msgstr ""
msgstr "绝对安培"
#. Label of the abbr (Data) field in DocType 'Company'
#: erpnext/setup/doctype/company/company.json
@@ -1203,7 +1203,7 @@ msgstr "根据 CEFACT/ICG/2010/IC013 或 CEFACT/ICG/2010/IC010"
#: erpnext/stock/doctype/stock_entry/stock_entry.py:765
msgid "According to the BOM {0}, the Item '{1}' is missing in the stock entry."
msgstr ""
msgstr "根据物料清单 {0},库存记录中缺少物料“{1}\"。"
#. Name of a DocType
#. Label of the account (Link) field in DocType 'Account Closing Balance'
@@ -1287,18 +1287,18 @@ msgstr "科目余额"
#. Entry'
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
msgid "Account Balance (From)"
msgstr ""
msgstr "账户余额(入账)"
#. Label of the paid_to_account_balance (Currency) field in DocType 'Payment
#. Entry'
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
msgid "Account Balance (To)"
msgstr ""
msgstr "帐户余额(付款)"
#. Name of a DocType
#: erpnext/accounts/doctype/account_closing_balance/account_closing_balance.json
msgid "Account Closing Balance"
msgstr ""
msgstr "账户结算余额"
#. Label of the account_currency (Link) field in DocType 'Account Closing
#. Balance'
@@ -1331,19 +1331,19 @@ msgstr ""
#: erpnext/accounts/doctype/unreconcile_payment_entries/unreconcile_payment_entries.json
#: erpnext/stock/doctype/landed_cost_taxes_and_charges/landed_cost_taxes_and_charges.json
msgid "Account Currency"
msgstr ""
msgstr "账户货币"
#. Label of the paid_from_account_currency (Link) field in DocType 'Payment
#. Entry'
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
msgid "Account Currency (From)"
msgstr ""
msgstr "账户货币(入账)"
#. Label of the paid_to_account_currency (Link) field in DocType 'Payment
#. Entry'
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
msgid "Account Currency (To)"
msgstr ""
msgstr "账户货币(付款)"
#. Label of the account_details_section (Section Break) field in DocType 'Bank
#. Account'
@@ -1355,7 +1355,7 @@ msgstr ""
#: erpnext/accounts/doctype/gl_entry/gl_entry.json
#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.json
msgid "Account Details"
msgstr ""
msgstr "账户详细信息"
#. Label of the account_head (Link) field in DocType 'Advance Tax'
#. Label of the account_head (Link) field in DocType 'Advance Taxes and
@@ -1370,12 +1370,12 @@ msgstr ""
#: erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json
#: erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json
msgid "Account Head"
msgstr ""
msgstr "客户主管"
#. Label of the account_manager (Link) field in DocType 'Customer'
#: erpnext/selling/doctype/customer/customer.json
msgid "Account Manager"
msgstr ""
msgstr "客户经理"
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:876
#: erpnext/controllers/accounts_controller.py:2131
@@ -1391,7 +1391,7 @@ msgstr "帐户遗失"
#: erpnext/accounts/doctype/ledger_merge/ledger_merge.json
#: erpnext/accounts/doctype/ledger_merge_accounts/ledger_merge_accounts.json
msgid "Account Name"
msgstr ""
msgstr "帐户名称"
#: erpnext/accounts/doctype/account/account.py:336
msgid "Account Not Found"
@@ -1411,12 +1411,12 @@ msgstr "已在帐户{1}中使用的帐号{0}"
#. Reconciliation Tool'
#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.json
msgid "Account Opening Balance"
msgstr ""
msgstr "账户期初余额"
#. Label of the paid_from (Link) field in DocType 'Payment Entry'
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
msgid "Account Paid From"
msgstr ""
msgstr "账户支付来源"
#. Label of the paid_to (Link) field in DocType 'Payment Entry'
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
@@ -1432,7 +1432,7 @@ msgstr "账户仅用于支付"
#: erpnext/accounts/doctype/bank_account/bank_account.json
#: erpnext/accounts/doctype/bank_account_subtype/bank_account_subtype.json
msgid "Account Subtype"
msgstr ""
msgstr "账户子类型"
#. Label of the account_type (Select) field in DocType 'Account'
#. Label of the account_type (Link) field in DocType 'Bank Account'
@@ -1474,7 +1474,7 @@ msgstr "账户余额已设置为'借方',不能设置为'贷方'"
#: erpnext/accounts/doctype/pos_profile/pos_profile.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
msgid "Account for Change Amount"
msgstr ""
msgstr "变更账户金额"
#: erpnext/accounts/doctype/bank_clearance/bank_clearance.py:46
msgid "Account is mandatory to get payment entries"
@@ -1486,7 +1486,7 @@ msgstr "没有为仪表板图表{0}设置帐户"
#: erpnext/assets/doctype/asset/asset.py:700
msgid "Account not Found"
msgstr ""
msgstr "未找到该用户"
#: erpnext/accounts/doctype/account/account.py:390
msgid "Account with child nodes cannot be converted to ledger"
@@ -1511,7 +1511,7 @@ msgstr "有交易的科目不能被转换为分类账"
#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:56
msgid "Account {0} added multiple times"
msgstr ""
msgstr "账户 {0} 被重复添加"
#: erpnext/setup/doctype/company/company.py:190
msgid "Account {0} does not belong to company: {1}"
@@ -1591,7 +1591,7 @@ msgstr "帐号:{0}币种:{1}不能选择"
#: erpnext/setup/setup_wizard/data/designation.txt:1
msgid "Accountant"
msgstr ""
msgstr "会计"
#. Group in Bank Account's connections
#. Label of the section_break_19 (Section Break) field in DocType 'POS Profile'
@@ -1658,7 +1658,7 @@ msgstr "会计"
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
msgid "Accounting Details"
msgstr ""
msgstr "会计详情"
#. Name of a DocType
#. Label of the accounting_dimension (Select) field in DocType 'Accounting
@@ -1692,7 +1692,7 @@ msgstr "会计维度明细"
#. Name of a DocType
#: erpnext/accounts/doctype/accounting_dimension_filter/accounting_dimension_filter.json
msgid "Accounting Dimension Filter"
msgstr ""
msgstr "会计维度筛选"
#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Advance Taxes and Charges'
@@ -1837,20 +1837,20 @@ msgstr "会计维度"
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
msgid "Accounting Dimensions "
msgstr ""
msgstr "会计维度 "
#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Payment Reconciliation'
#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.json
msgid "Accounting Dimensions Filter"
msgstr ""
msgstr "会计维度筛选"
#. Label of the accounts (Table) field in DocType 'Journal Entry'
#. Label of the accounts (Table) field in DocType 'Journal Entry Template'
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
#: erpnext/accounts/doctype/journal_entry_template/journal_entry_template.json
msgid "Accounting Entries"
msgstr ""
msgstr "会计分录"
#: erpnext/assets/doctype/asset/asset.py:734
#: erpnext/assets/doctype/asset/asset.py:749
@@ -1882,7 +1882,7 @@ msgstr "库存的会计分录"
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:695
msgid "Accounting Entry for {0}"
msgstr ""
msgstr "{0} 的会计分录"
#: erpnext/controllers/accounts_controller.py:2172
msgid "Accounting Entry for {0}: {1} can only be made in currency: {2}"
@@ -1917,7 +1917,7 @@ msgstr "会计期间与{0}重叠"
#. 'Accounts Settings'
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
msgid "Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below"
msgstr ""
msgstr "截至此日期的会计分录已被冻结。只有具有指定角色的用户可创建或修改条目"
#. Label of the applicable_on_account (Link) field in DocType 'Applicable On
#. Account'
@@ -1955,12 +1955,12 @@ msgstr "会计"
#. Settings'
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
msgid "Accounts Closing"
msgstr ""
msgstr "账户结清"
#. Label of the acc_frozen_upto (Date) field in DocType 'Accounts Settings'
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
msgid "Accounts Frozen Till Date"
msgstr ""
msgstr "账户冻结至日期"
#. Name of a role
#: erpnext/accounts/doctype/account/account.json
@@ -2049,7 +2049,7 @@ msgstr "会计经理"
#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:340
msgid "Accounts Missing Error"
msgstr ""
msgstr "账户缺失错误"
#. Option for the 'Write Off Based On' (Select) field in DocType 'Journal
#. Entry'
@@ -2098,13 +2098,13 @@ msgstr "应收帐款"
#. Discounting'
#: erpnext/accounts/doctype/invoice_discounting/invoice_discounting.json
msgid "Accounts Receivable Credit Account"
msgstr ""
msgstr "应收账款贷方账户"
#. Label of the accounts_receivable_discounted (Link) field in DocType 'Invoice
#. Discounting'
#: erpnext/accounts/doctype/invoice_discounting/invoice_discounting.json
msgid "Accounts Receivable Discounted Account"
msgstr ""
msgstr "应收账款贴现账户"
#. Name of a report
#. Label of a Link in the Receivables Workspace
@@ -2118,13 +2118,13 @@ msgstr "应收账款汇总"
#. Discounting'
#: erpnext/accounts/doctype/invoice_discounting/invoice_discounting.json
msgid "Accounts Receivable Unpaid Account"
msgstr ""
msgstr "应收账款未付账户"
#. Label of the receivable_payable_remarks_length (Int) field in DocType
#. 'Accounts Settings'
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
msgid "Accounts Receivable/Payable"
msgstr ""
msgstr "应收账款/应付账款"
#. Name of a DocType
#. Label of a Link in the Accounting Workspace
@@ -2235,7 +2235,7 @@ msgstr "账表不能为空。"
#. Label of the merge_accounts (Table) field in DocType 'Ledger Merge'
#: erpnext/accounts/doctype/ledger_merge/ledger_merge.json
msgid "Accounts to Merge"
msgstr ""
msgstr "待合并账户"
#. Option for the 'Account Type' (Select) field in DocType 'Account'
#: erpnext/accounts/doctype/account/account.json
@@ -2252,7 +2252,7 @@ msgstr "累计折旧"
#: erpnext/assets/doctype/asset_category_account/asset_category_account.json
#: erpnext/setup/doctype/company/company.json
msgid "Accumulated Depreciation Account"
msgstr ""
msgstr "累计折旧账户"
#. Label of the accumulated_depreciation_amount (Currency) field in DocType
#. 'Depreciation Schedule'
@@ -2288,17 +2288,17 @@ msgstr "达到({}"
#. Label of the acquisition_date (Date) field in DocType 'Vehicle'
#: erpnext/setup/doctype/vehicle/vehicle.json
msgid "Acquisition Date"
msgstr ""
msgstr "购买日期"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Acre"
msgstr ""
msgstr "英亩"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Acre (US)"
msgstr ""
msgstr "英亩(美国)"
#: erpnext/crm/doctype/lead/lead.js:41
#: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:175
@@ -2309,19 +2309,19 @@ msgstr "行动"
#. DocType 'Stock Settings'
#: erpnext/stock/doctype/stock_settings/stock_settings.json
msgid "Action If Quality Inspection Is Not Submitted"
msgstr ""
msgstr "未提交质检时的操作"
#. Label of the action_if_quality_inspection_is_rejected (Select) field in
#. DocType 'Stock Settings'
#: erpnext/stock/doctype/stock_settings/stock_settings.json
msgid "Action If Quality Inspection Is Rejected"
msgstr ""
msgstr "质检被拒绝时的操作"
#. Label of the maintain_same_rate_action (Select) field in DocType 'Buying
#. Settings'
#: erpnext/buying/doctype/buying_settings/buying_settings.json
msgid "Action If Same Rate is Not Maintained"
msgstr ""
msgstr "未保持相同费率的操作"
#: erpnext/quality_management/doctype/quality_review/quality_review_list.js:7
msgid "Action Initialised"
@@ -2331,43 +2331,43 @@ msgstr "行动初始化"
#. DocType 'Budget'
#: erpnext/accounts/doctype/budget/budget.json
msgid "Action if Accumulated Monthly Budget Exceeded on Actual"
msgstr ""
msgstr "实际累计月度预算超支时的操作"
#. Label of the action_if_accumulated_monthly_budget_exceeded_on_mr (Select)
#. field in DocType 'Budget'
#: erpnext/accounts/doctype/budget/budget.json
msgid "Action if Accumulated Monthly Budget Exceeded on MR"
msgstr ""
msgstr "物料需求累计月度预算超支时的操作"
#. Label of the action_if_accumulated_monthly_budget_exceeded_on_po (Select)
#. field in DocType 'Budget'
#: erpnext/accounts/doctype/budget/budget.json
msgid "Action if Accumulated Monthly Budget Exceeded on PO"
msgstr ""
msgstr "采购订单累计月度预算超支时的操作"
#. Label of the action_if_annual_budget_exceeded (Select) field in DocType
#. 'Budget'
#: erpnext/accounts/doctype/budget/budget.json
msgid "Action if Annual Budget Exceeded on Actual"
msgstr ""
msgstr "实际年度预算超支时的操作"
#. Label of the action_if_annual_budget_exceeded_on_mr (Select) field in
#. DocType 'Budget'
#: erpnext/accounts/doctype/budget/budget.json
msgid "Action if Annual Budget Exceeded on MR"
msgstr ""
msgstr "物料需求年度预算超支时的操作"
#. Label of the action_if_annual_budget_exceeded_on_po (Select) field in
#. DocType 'Budget'
#: erpnext/accounts/doctype/budget/budget.json
msgid "Action if Annual Budget Exceeded on PO"
msgstr ""
msgstr "采购订单年度预算超支时的操作"
#. Label of the maintain_same_rate_action (Select) field in DocType 'Selling
#. Settings'
#: erpnext/selling/doctype/selling_settings/selling_settings.json
msgid "Action if Same Rate is Not Maintained Throughout Sales Cycle"
msgstr ""
msgstr "销售周期中未保持相同费率的操作"
#. Label of the actions (Section Break) field in DocType 'Supplier Scorecard
#. Scoring Standing'
@@ -2409,7 +2409,7 @@ msgstr "操作"
#: erpnext/assets/doctype/asset_maintenance_log/asset_maintenance_log.json
#: erpnext/assets/doctype/asset_repair/asset_repair.json
msgid "Actions performed"
msgstr ""
msgstr "已执行的操作"
#. Option for the 'Status' (Select) field in DocType 'Subscription'
#. Option for the 'Status' (Select) field in DocType 'Asset Depreciation
@@ -2438,7 +2438,7 @@ msgstr "主动线索"
#. Label of the on_status_image (Attach Image) field in DocType 'Workstation'
#: erpnext/manufacturing/doctype/workstation/workstation.json
msgid "Active Status"
msgstr ""
msgstr "活跃状态"
#. Label of the activities_tab (Tab Break) field in DocType 'Lead'
#. Label of the activities_tab (Tab Break) field in DocType 'Opportunity'
@@ -2447,7 +2447,7 @@ msgstr ""
#: erpnext/crm/doctype/opportunity/opportunity.json
#: erpnext/crm/doctype/prospect/prospect.json
msgid "Activities"
msgstr ""
msgstr "活动"
#. Group in Asset's connections
#. Label of the section_break_13 (Section Break) field in DocType 'CRM
@@ -2504,12 +2504,12 @@ msgstr "实际"
#: erpnext/stock/report/incorrect_balance_qty_after_transaction/incorrect_balance_qty_after_transaction.py:125
msgid "Actual Balance Qty"
msgstr ""
msgstr "实际结存数量"
#. Label of the actual_batch_qty (Float) field in DocType 'Packed Item'
#: erpnext/stock/doctype/packed_item/packed_item.json
msgid "Actual Batch Quantity"
msgstr ""
msgstr "实际批次数量"
#: erpnext/buying/report/procurement_tracker/procurement_tracker.py:101
msgid "Actual Cost"
@@ -2519,7 +2519,7 @@ msgstr "实际成本"
#. Detail'
#: erpnext/maintenance/doctype/maintenance_schedule_detail/maintenance_schedule_detail.json
msgid "Actual Date"
msgstr ""
msgstr "实际日期"
#: erpnext/buying/report/procurement_tracker/procurement_tracker.py:121
#: erpnext/stock/report/delayed_item_report/delayed_item_report.py:141
@@ -2541,17 +2541,17 @@ msgstr "实际结束日期"
#: erpnext/projects/doctype/project/project.json
#: erpnext/projects/doctype/task/task.json
msgid "Actual End Date (via Timesheet)"
msgstr ""
msgstr "实际结束日期(通过工时表)"
#. Label of the actual_end_time (Datetime) field in DocType 'Work Order
#. Operation'
#: erpnext/manufacturing/doctype/work_order_operation/work_order_operation.json
msgid "Actual End Time"
msgstr ""
msgstr "实际结束时间"
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:380
msgid "Actual Expense"
msgstr ""
msgstr "实际费用"
#. Label of the actual_operating_cost (Currency) field in DocType 'Work Order'
#. Label of the actual_operating_cost (Currency) field in DocType 'Work Order
@@ -2559,17 +2559,17 @@ msgstr ""
#: erpnext/manufacturing/doctype/work_order/work_order.json
#: erpnext/manufacturing/doctype/work_order_operation/work_order_operation.json
msgid "Actual Operating Cost"
msgstr ""
msgstr "实际运营成本"
#. Label of the actual_operation_time (Float) field in DocType 'Work Order
#. Operation'
#: erpnext/manufacturing/doctype/work_order_operation/work_order_operation.json
msgid "Actual Operation Time"
msgstr ""
msgstr "实际操作时间"
#: erpnext/accounts/report/deferred_revenue_and_expense/deferred_revenue_and_expense.py:400
msgid "Actual Posting"
msgstr ""
msgstr "实际过账"
#. Label of the actual_qty (Float) field in DocType 'Production Plan Sub
#. Assembly Item'
@@ -2589,13 +2589,13 @@ msgstr "实际数量"
#. Label of the actual_qty (Float) field in DocType 'Stock Entry Detail'
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
msgid "Actual Qty (at source/target)"
msgstr ""
msgstr "实际数量(源/目标)"
#. Label of the actual_qty (Float) field in DocType 'Asset Capitalization Stock
#. Item'
#: erpnext/assets/doctype/asset_capitalization_stock_item/asset_capitalization_stock_item.json
msgid "Actual Qty in Warehouse"
msgstr ""
msgstr "仓库实际数量"
#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:195
msgid "Actual Qty is mandatory"
@@ -2604,11 +2604,11 @@ msgstr "实际数量是必须项"
#: erpnext/manufacturing/doctype/plant_floor/stock_summary_template.html:37
#: erpnext/stock/dashboard/item_dashboard_list.html:28
msgid "Actual Qty {0} / Waiting Qty {1}"
msgstr ""
msgstr "实际数量 {0} / 待处理数量 {1}"
#: erpnext/manufacturing/doctype/production_plan/production_plan.js:150
msgid "Actual Qty: Quantity available in the warehouse."
msgstr ""
msgstr "实际数量:仓库中可用数量。"
#: erpnext/stock/report/item_shortage_report/item_shortage_report.py:95
msgid "Actual Quantity"
@@ -2627,31 +2627,31 @@ msgstr "实际开始日期"
#: erpnext/projects/doctype/project/project.json
#: erpnext/projects/doctype/task/task.json
msgid "Actual Start Date (via Timesheet)"
msgstr ""
msgstr "实际开始日期(通过工时表)"
#. Label of the actual_start_time (Datetime) field in DocType 'Work Order
#. Operation'
#: erpnext/manufacturing/doctype/work_order_operation/work_order_operation.json
msgid "Actual Start Time"
msgstr ""
msgstr "实际开始时间"
#. Label of the timing_detail (Tab Break) field in DocType 'Job Card'
#: erpnext/manufacturing/doctype/job_card/job_card.json
msgid "Actual Time"
msgstr ""
msgstr "实际时间"
#. Label of the section_break_9 (Section Break) field in DocType 'Work Order
#. Operation'
#: erpnext/manufacturing/doctype/work_order_operation/work_order_operation.json
msgid "Actual Time and Cost"
msgstr ""
msgstr "实际时间和成本"
#. Label of the actual_time (Float) field in DocType 'Project'
#. Label of the actual_time (Float) field in DocType 'Task'
#: erpnext/projects/doctype/project/project.json
#: erpnext/projects/doctype/task/task.json
msgid "Actual Time in Hours (via Timesheet)"
msgstr ""
msgstr "实际小时数(通过工时表)"
#: erpnext/stock/page/stock_balance/stock_balance.js:55
msgid "Actual qty in stock"
@@ -2692,18 +2692,18 @@ msgstr "添加子项"
#: erpnext/accounts/report/general_ledger/general_ledger.js:202
msgid "Add Columns in Transaction Currency"
msgstr ""
msgstr "添加交易货币列"
#: erpnext/templates/pages/task_info.html:94
#: erpnext/templates/pages/task_info.html:96
msgid "Add Comment"
msgstr ""
msgstr "添加注释"
#. Label of the add_corrective_operation_cost_in_finished_good_valuation
#. (Check) field in DocType 'Manufacturing Settings'
#: erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json
msgid "Add Corrective Operation Cost in Finished Good Valuation"
msgstr ""
msgstr "在成品计价中添加修正操作成本"
#: erpnext/public/js/event.js:24
msgid "Add Customers"
@@ -2712,7 +2712,7 @@ msgstr "添加客户"
#: erpnext/selling/page/point_of_sale/pos_item_cart.js:92
#: erpnext/selling/page/point_of_sale/pos_item_cart.js:423
msgid "Add Discount"
msgstr ""
msgstr "添加折扣"
#: erpnext/public/js/event.js:40
msgid "Add Employees"
@@ -2731,11 +2731,11 @@ msgstr "添加项目"
#: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.py:56
msgid "Add Items in the Purpose Table"
msgstr ""
msgstr "在用途表中添加物料"
#: erpnext/crm/doctype/lead/lead.js:83
msgid "Add Lead to Prospect"
msgstr ""
msgstr "将线索转为潜在客户"
#: erpnext/public/js/event.js:16
msgid "Add Leads"
@@ -2745,12 +2745,12 @@ msgstr "添加潜在客户"
#. List'
#: erpnext/setup/doctype/holiday_list/holiday_list.json
msgid "Add Local Holidays"
msgstr ""
msgstr "添加本地假期"
#. Label of the add_manually (Check) field in DocType 'Repost Payment Ledger'
#: erpnext/accounts/doctype/repost_payment_ledger/repost_payment_ledger.json
msgid "Add Manually"
msgstr ""
msgstr "手动添加"
#: erpnext/projects/doctype/task/task_tree.js:42
msgid "Add Multiple"
@@ -2764,7 +2764,7 @@ msgstr "添加多个任务"
#. Charges'
#: erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.json
msgid "Add Or Deduct"
msgstr ""
msgstr "添加或扣除"
#: erpnext/selling/page/point_of_sale/pos_item_cart.js:267
msgid "Add Order Discount"
@@ -2779,13 +2779,13 @@ msgstr "添加参与者"
#. Label of the add_quote (Check) field in DocType 'Email Digest'
#: erpnext/setup/doctype/email_digest/email_digest.json
msgid "Add Quote"
msgstr ""
msgstr "添加报价"
#. Label of the add_raw_materials (Button) field in DocType 'BOM Operation'
#: erpnext/manufacturing/doctype/bom/bom.js:914
#: erpnext/manufacturing/doctype/bom_operation/bom_operation.json
msgid "Add Raw Materials"
msgstr ""
msgstr "添加原材料"
#: erpnext/public/js/event.js:48
msgid "Add Sales Partners"
@@ -2798,7 +2798,7 @@ msgstr "添加销售合作伙伴"
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json
msgid "Add Serial / Batch Bundle"
msgstr ""
msgstr "添加序列号/批次组合"
#. Label of the add_serial_batch_bundle (Button) field in DocType 'Purchase
#. Invoice Item'
@@ -2813,7 +2813,7 @@ msgstr ""
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
#: erpnext/stock/doctype/stock_reconciliation_item/stock_reconciliation_item.json
msgid "Add Serial / Batch No"
msgstr ""
msgstr "添加序列号/批次号"
#. Label of the add_serial_batch_for_rejected_qty (Button) field in DocType
#. 'Purchase Receipt Item'
@@ -2822,16 +2822,16 @@ msgstr ""
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
msgid "Add Serial / Batch No (Rejected Qty)"
msgstr ""
msgstr "添加序列号/批次号(拒收数量)"
#: erpnext/manufacturing/doctype/plant_floor/plant_floor.js:200
msgid "Add Stock"
msgstr ""
msgstr "添加库存"
#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:259
#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:390
msgid "Add Sub Assembly"
msgstr ""
msgstr "添加分组件"
#: erpnext/buying/doctype/request_for_quotation/request_for_quotation.js:473
#: erpnext/public/js/event.js:32
@@ -2841,7 +2841,7 @@ msgstr "添加供应商"
#. Label of the add_template (Button) field in DocType 'Shipment'
#: erpnext/stock/doctype/shipment/shipment.json
msgid "Add Template"
msgstr ""
msgstr "添加模板"
#: erpnext/utilities/activation.py:123
msgid "Add Timesheets"
@@ -2851,15 +2851,15 @@ msgstr "添加工时单"
#. List'
#: erpnext/setup/doctype/holiday_list/holiday_list.json
msgid "Add Weekly Holidays"
msgstr ""
msgstr "添加每周假期"
#: erpnext/public/js/utils/crm_activities.js:142
msgid "Add a Note"
msgstr ""
msgstr "添加备注"
#: erpnext/www/book_appointment/index.html:42
msgid "Add details"
msgstr ""
msgstr "添加明细"
#: erpnext/stock/doctype/pick_list/pick_list.js:71
#: erpnext/stock/doctype/pick_list/pick_list.py:765
@@ -2870,7 +2870,7 @@ msgstr "在“项目位置”表中添加项目"
#. Charges'
#: erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json
msgid "Add or Deduct"
msgstr ""
msgstr "添加或扣除"
#: erpnext/utilities/activation.py:113
msgid "Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts"
@@ -2880,11 +2880,11 @@ msgstr "添加您的组织的其余部分用户。您还可以添加邀请客户
#. Label of the get_local_holidays (Button) field in DocType 'Holiday List'
#: erpnext/setup/doctype/holiday_list/holiday_list.json
msgid "Add to Holidays"
msgstr ""
msgstr "添加至假期"
#: erpnext/crm/doctype/lead/lead.js:37
msgid "Add to Prospect"
msgstr ""
msgstr "添加至潜在客户"
#. Label of the add_to_transit (Check) field in DocType 'Stock Entry'
#. Label of the add_to_transit (Check) field in DocType 'Stock Entry Type'
@@ -3495,7 +3495,7 @@ msgstr ""
#. Label of the section_break_13 (Tab Break) field in DocType 'Pricing Rule'
#: erpnext/accounts/doctype/pricing_rule/pricing_rule.json
msgid "Advanced Settings"
msgstr ""
msgstr "高级设置"
#. Label of the advances (Table) field in DocType 'POS Invoice'
#. Label of the advances (Table) field in DocType 'Purchase Invoice'
@@ -3508,21 +3508,21 @@ msgstr ""
#: erpnext/setup/setup_wizard/data/marketing_source.txt:3
msgid "Advertisement"
msgstr ""
msgstr "广告"
#: erpnext/setup/setup_wizard/data/industry_type.txt:2
msgid "Advertising"
msgstr ""
msgstr "广告"
#: erpnext/setup/setup_wizard/data/industry_type.txt:3
msgid "Aerospace"
msgstr ""
msgstr "航空航天"
#. Label of the affected_transactions (Code) field in DocType 'Repost Item
#. Valuation'
#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.json
msgid "Affected Transactions"
msgstr ""
msgstr "受影响的交易"
#. Label of the against (Text) field in DocType 'GL Entry'
#: erpnext/accounts/doctype/gl_entry/gl_entry.json

View File

@@ -298,8 +298,18 @@ def get_projectwise_timesheet_data(project=None, parent=None, from_time=None, to
if from_time and to_time:
condition += "AND CAST(tsd.from_time as DATE) BETWEEN %(from_time)s AND %(to_time)s"
<<<<<<< HEAD
<<<<<<< HEAD
query = f"""
SELECT
=======
return frappe.db.sql("""
=======
query = f"""
>>>>>>> c82611aa62 (feat: sort timesheets by start time)
SELECT
>>>>>>> 1110f88e5a (feat: refactor and enhance sales invoice timesheet)
tsd.name as name,
tsd.parent as time_sheet,
tsd.from_time as from_time,
@@ -308,6 +318,7 @@ def get_projectwise_timesheet_data(project=None, parent=None, from_time=None, to
tsd.billing_amount as billing_amount,
tsd.activity_type as activity_type,
tsd.description as description,
<<<<<<< HEAD
ts.currency as currency,
tsd.project_name as project_name
FROM `tabTimesheet Detail` tsd
@@ -343,6 +354,44 @@ def get_timesheet_detail_rate(timelog, currency):
return timelog_detail.billing_amount * exchange_rate
return timelog_detail.billing_amount
=======
ts.currency as currency
FROM `tabTimesheet Detail` tsd
INNER JOIN `tabTimesheet` ts
ON ts.name = tsd.parent
WHERE
tsd.parenttype = 'Timesheet'
AND tsd.docstatus = 1
AND tsd.is_billable = 1
<<<<<<< HEAD
AND tsd.sales_invoice is null
""".format(condition), {
'project': project,
'parent': parent,
'from_time': from_time,
'to_time': to_time
}, as_dict=1)
>>>>>>> 1110f88e5a (feat: refactor and enhance sales invoice timesheet)
=======
AND tsd.sales_invoice is NULL
{condition}
ORDER BY tsd.from_time ASC
"""
filters = {
"project": project,
"parent": parent,
"from_time": from_time,
"to_time": to_time
}
return frappe.db.sql(query, filters, as_dict=1)
>>>>>>> c82611aa62 (feat: sort timesheets by start time)
@frappe.whitelist()
@frappe.validate_and_sanitize_search_inputs

View File

@@ -1373,6 +1373,8 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
() => this.calculate_stock_uom_rate(doc, cdt, cdn),
() => this.apply_pricing_rule(item, true)
]);
} else {
this.conversion_factor(doc, cdt, cdn, true)
}
}

View File

@@ -952,7 +952,6 @@
"options": "Cost Center",
"print_hide": 1,
"print_width": "120px",
"reqd": 1,
"width": "120px"
},
{
@@ -971,7 +970,7 @@
"idx": 1,
"istable": 1,
"links": [],
"modified": "2025-02-06 13:29:24.619850",
"modified": "2025-02-28 09:45:43.934947",
"modified_by": "Administrator",
"module": "Selling",
"name": "Sales Order Item",

View File

@@ -32,7 +32,7 @@ class SalesOrderItem(Document):
brand: DF.Link | None
company_total_stock: DF.Float
conversion_factor: DF.Float
cost_center: DF.Link
cost_center: DF.Link | None
customer_item_code: DF.Data | None
delivered_by_supplier: DF.Check
delivered_qty: DF.Float

View File

@@ -609,6 +609,14 @@ erpnext.PointOfSale.Controller = class {
if (this.is_current_item_being_edited(item_row) || from_selector) {
await frappe.model.set_value(item_row.doctype, item_row.name, field, value);
if (item.serial_no && from_selector) {
await frappe.model.set_value(
item_row.doctype,
item_row.name,
"serial_no",
item_row.serial_no + `\n${item.serial_no}`
);
}
this.update_cart_html(item_row);
}
} else {

View File

@@ -187,6 +187,7 @@ erpnext.PointOfSale.ItemDetails = class {
this[`${fieldname}_control`].set_value(item[fieldname]);
});
this.resize_serial_control(item);
this.make_auto_serial_selection_btn(item);
this.bind_custom_control_change_event();
@@ -203,11 +204,17 @@ erpnext.PointOfSale.ItemDetails = class {
"actual_qty",
"price_list_rate",
];
if (item.has_serial_no) fields.push("serial_no");
if (item.has_batch_no) fields.push("batch_no");
if (item.has_serial_no || item.serial_no) fields.push("serial_no");
if (item.has_batch_no || item.batch_no) fields.push("batch_no");
return fields;
}
resize_serial_control(item) {
if (item.has_serial_no || item.serial_no) {
this.$form_container.find(".serial_no-control").find("textarea").css("height", "6rem");
}
}
make_auto_serial_selection_btn(item) {
if (item.has_serial_no || item.has_batch_no) {
if (item.has_serial_no && item.has_batch_no) {
@@ -225,7 +232,6 @@ erpnext.PointOfSale.ItemDetails = class {
`<div class="btn btn-sm btn-secondary auto-fetch-btn" style="margin-top: 6px">${label}</div>`
);
}
this.$form_container.find(".serial_no-control").find("textarea").css("height", "6rem");
}
}

View File

@@ -340,19 +340,11 @@ erpnext.PointOfSale.Payment = class {
// pass
}
async render_payment_section() {
render_payment_section() {
this.render_payment_mode_dom();
this.make_invoice_fields_control();
this.update_totals_section();
let r = await frappe.db.get_value(
"POS Profile",
this.frm.doc.pos_profile,
"disable_grand_total_to_default_mop"
);
if (!r.message.disable_grand_total_to_default_mop) {
this.focus_on_default_mop();
}
this.unset_grand_total_to_default_mop();
}
after_render() {
@@ -637,6 +629,19 @@ erpnext.PointOfSale.Payment = class {
.toLowerCase();
}
async unset_grand_total_to_default_mop() {
const doc = this.events.get_frm().doc;
let r = await frappe.db.get_value(
"POS Profile",
doc.pos_profile,
"disable_grand_total_to_default_mop"
);
if (!r.message.disable_grand_total_to_default_mop) {
this.focus_on_default_mop();
}
}
validate_reqd_invoice_fields() {
const doc = this.events.get_frm().doc;
let validation_flag = true;

View File

@@ -47,18 +47,20 @@
"auto_reserve_serial_and_batch",
"serial_and_batch_item_settings_tab",
"section_break_7",
"allow_existing_serial_no",
"do_not_use_batchwise_valuation",
"auto_create_serial_and_batch_bundle_for_outward",
"pick_serial_and_batch_based_on",
"naming_series_prefix",
"column_break_mhzc",
"disable_serial_no_and_batch_selector",
"use_naming_series",
"use_serial_batch_fields",
"do_not_update_serial_batch_on_creation_of_auto_bundle",
"allow_existing_serial_no",
"serial_and_batch_bundle_section",
"set_serial_and_batch_bundle_naming_based_on_naming_series",
"section_break_gnhq",
"use_naming_series",
"column_break_wslv",
"naming_series_prefix",
"stock_planning_tab",
"auto_material_request",
"auto_indent",
@@ -488,6 +490,14 @@
"fieldname": "set_serial_and_batch_bundle_naming_based_on_naming_series",
"fieldtype": "Check",
"label": "Set Serial and Batch Bundle Naming Based on Naming Series"
},
{
"fieldname": "section_break_gnhq",
"fieldtype": "Section Break"
},
{
"fieldname": "column_break_wslv",
"fieldtype": "Column Break"
}
],
"icon": "icon-cog",
@@ -495,7 +505,7 @@
"index_web_pages_for_search": 1,
"issingle": 1,
"links": [],
"modified": "2025-02-17 13:36:36.177743",
"modified": "2025-02-28 15:08:35.938840",
"modified_by": "Administrator",
"module": "Stock",
"name": "Stock Settings",