This commit is contained in:
Casey 2026-02-15 07:06:51 -06:00
parent 8ebd77540c
commit 8c818f8dde
17 changed files with 14799 additions and 322 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,154 @@
[
{
"company": "Sprinklers Northwest",
"docstatus": 0,
"doctype": "Bid Meeting Note Form",
"fields": [
{
"column": 1,
"conditional_on_field": null,
"conditional_on_value": null,
"default_value": null,
"doctype_for_select": null,
"doctype_label_field": null,
"help_text": "Indicate if a locate is needed for this project.",
"include_options": 0,
"label": "Locate Needed",
"options": null,
"order": 0,
"parent": "SNW Install Bid Meeting Notes",
"parentfield": "fields",
"parenttype": "Bid Meeting Note Form",
"read_only": 0,
"required": 0,
"row": 1,
"type": "Check"
},
{
"column": 2,
"conditional_on_field": null,
"conditional_on_value": null,
"default_value": null,
"doctype_for_select": null,
"doctype_label_field": null,
"help_text": "Indicate if a permit is needed for this project.",
"include_options": 0,
"label": "Permit Needed",
"options": null,
"order": 0,
"parent": "SNW Install Bid Meeting Notes",
"parentfield": "fields",
"parenttype": "Bid Meeting Note Form",
"read_only": 0,
"required": 0,
"row": 1,
"type": "Check"
},
{
"column": 3,
"conditional_on_field": null,
"conditional_on_value": null,
"default_value": null,
"doctype_for_select": null,
"doctype_label_field": null,
"help_text": "Indicate if a backflow test is required after installation.",
"include_options": 0,
"label": "Back Flow Test Required",
"options": null,
"order": 0,
"parent": "SNW Install Bid Meeting Notes",
"parentfield": "fields",
"parenttype": "Bid Meeting Note Form",
"read_only": 0,
"required": 0,
"row": 1,
"type": "Check"
},
{
"column": 1,
"conditional_on_field": null,
"conditional_on_value": null,
"default_value": null,
"doctype_for_select": null,
"doctype_label_field": null,
"help_text": null,
"include_options": 0,
"label": "Machine Access",
"options": null,
"order": 0,
"parent": "SNW Install Bid Meeting Notes",
"parentfield": "fields",
"parenttype": "Bid Meeting Note Form",
"read_only": 0,
"required": 0,
"row": 2,
"type": "Check"
},
{
"column": 2,
"conditional_on_field": "Machine Access",
"conditional_on_value": null,
"default_value": null,
"doctype_for_select": null,
"doctype_label_field": null,
"help_text": null,
"include_options": 1,
"label": "Machines",
"options": "MT, Skip Steer, Excavator-E-50, Link Belt, Tre?, Forks, Auger, Backhoe, Loader, Duzer",
"order": 0,
"parent": "SNW Install Bid Meeting Notes",
"parentfield": "fields",
"parenttype": "Bid Meeting Note Form",
"read_only": 0,
"required": 0,
"row": 2,
"type": "Multi-Select"
},
{
"column": 0,
"conditional_on_field": null,
"conditional_on_value": null,
"default_value": null,
"doctype_for_select": null,
"doctype_label_field": null,
"help_text": null,
"include_options": 0,
"label": "Materials Required",
"options": null,
"order": 0,
"parent": "SNW Install Bid Meeting Notes",
"parentfield": "fields",
"parenttype": "Bid Meeting Note Form",
"read_only": 0,
"required": 0,
"row": 3,
"type": "Check"
},
{
"column": 0,
"conditional_on_field": "Materials Required",
"conditional_on_value": null,
"default_value": null,
"doctype_for_select": "Item",
"doctype_label_field": "itemName",
"help_text": null,
"include_options": 0,
"label": "Materials",
"options": null,
"order": 0,
"parent": "SNW Install Bid Meeting Notes",
"parentfield": "fields",
"parenttype": "Bid Meeting Note Form",
"read_only": 0,
"required": 0,
"row": 4,
"type": "Multi-Select w/ Quantity"
}
],
"modified": "2026-02-15 02:33:43.948485",
"name": "SNW Install Bid Meeting Notes",
"notes": null,
"project_template": "",
"title": "SNW Install Bid Meeting Notes"
}
]

View file

@ -0,0 +1,530 @@
[
{
"abbr": "VS",
"accumulated_depreciation_account": "Accumulated Depreciation - VS",
"allow_account_creation_against_child_company": 0,
"asset_received_but_not_billed": "Asset Received But Not Billed - VS",
"auto_err_frequency": "Daily",
"auto_exchange_rate_revaluation": 0,
"book_advance_payments_in_separate_party_account": 0,
"capital_work_in_progress_account": "CWIP Account - VS",
"chart_of_accounts": "Standard",
"company_description": null,
"company_logo": null,
"company_name": "Veritas Stone",
"cost_center": "Main - VS",
"country": "United States",
"create_chart_of_accounts_based_on": "Standard Template",
"credit_limit": 0.0,
"date_of_commencement": null,
"date_of_establishment": null,
"date_of_incorporation": null,
"default_advance_paid_account": null,
"default_advance_received_account": null,
"default_bank_account": null,
"default_buying_terms": null,
"default_cash_account": "Cash - VS",
"default_currency": "USD",
"default_deferred_expense_account": null,
"default_deferred_revenue_account": null,
"default_discount_account": null,
"default_employee_advance_account": null,
"default_expense_account": "Cost of Goods Sold - VS",
"default_expense_claim_payable_account": "Creditors - VS",
"default_finance_book": null,
"default_holiday_list": null,
"default_in_transit_warehouse": null,
"default_income_account": "Sales - VS",
"default_inventory_account": "Stock In Hand - VS",
"default_letter_head": null,
"default_operating_cost_account": null,
"default_payable_account": "Creditors - VS",
"default_payroll_payable_account": null,
"default_provisional_account": null,
"default_receivable_account": "Debtors - VS",
"default_sales_contact": null,
"default_selling_terms": null,
"default_warehouse_for_sales_return": null,
"depreciation_cost_center": "Main - VS",
"depreciation_expense_account": "Depreciation - VS",
"disposal_account": "Gain/Loss on Asset Disposal - VS",
"docstatus": 0,
"doctype": "Company",
"domain": null,
"email": null,
"enable_perpetual_inventory": 1,
"enable_provisional_accounting_for_non_stock_items": 0,
"exception_budget_approver_role": null,
"exchange_gain_loss_account": "Exchange Gain/Loss - VS",
"existing_company": null,
"expenses_included_in_asset_valuation": "Expenses Included In Asset Valuation - VS",
"expenses_included_in_valuation": "Expenses Included In Valuation - VS",
"fax": null,
"is_group": 0,
"modified": "2026-02-15 00:56:31.933618",
"monthly_sales_target": 0.0,
"name": "Veritas Stone",
"old_parent": "",
"parent_company": null,
"payment_terms": null,
"phone_no": null,
"reconcile_on_advance_payment_date": 0,
"reconciliation_takes_effect_on": "Oldest Of Invoice Or Advance",
"registration_details": null,
"round_off_account": "Round Off - VS",
"round_off_cost_center": "Main - VS",
"round_off_for_opening": null,
"sales_monthly_history": "{}",
"series_for_depreciation_entry": null,
"stock_adjustment_account": "Stock Adjustment - VS",
"stock_received_but_not_billed": "Stock Received But Not Billed - VS",
"submit_err_jv": 0,
"tax_id": null,
"total_monthly_sales": 0.0,
"transactions_annual_history": "{}",
"unrealized_exchange_gain_loss_account": null,
"unrealized_profit_loss_account": null,
"website": null,
"write_off_account": "Write Off - VS"
},
{
"abbr": "DL",
"accumulated_depreciation_account": "Accumulated Depreciation - DL",
"allow_account_creation_against_child_company": 0,
"asset_received_but_not_billed": "Asset Received But Not Billed - DL",
"auto_err_frequency": "Daily",
"auto_exchange_rate_revaluation": 0,
"book_advance_payments_in_separate_party_account": 0,
"capital_work_in_progress_account": "CWIP Account - DL",
"chart_of_accounts": "Standard",
"company_description": null,
"company_logo": null,
"company_name": "Daniels Landscape Supplies",
"cost_center": "Main - DL",
"country": "United States",
"create_chart_of_accounts_based_on": "Standard Template",
"credit_limit": 0.0,
"date_of_commencement": null,
"date_of_establishment": null,
"date_of_incorporation": null,
"default_advance_paid_account": null,
"default_advance_received_account": null,
"default_bank_account": null,
"default_buying_terms": null,
"default_cash_account": "Cash - DL",
"default_currency": "USD",
"default_deferred_expense_account": null,
"default_deferred_revenue_account": null,
"default_discount_account": null,
"default_employee_advance_account": null,
"default_expense_account": "Cost of Goods Sold - DL",
"default_expense_claim_payable_account": "Creditors - DL",
"default_finance_book": null,
"default_holiday_list": null,
"default_in_transit_warehouse": null,
"default_income_account": "Sales - DL",
"default_inventory_account": "Stock In Hand - DL",
"default_letter_head": null,
"default_operating_cost_account": null,
"default_payable_account": "Creditors - DL",
"default_payroll_payable_account": null,
"default_provisional_account": null,
"default_receivable_account": "Debtors - DL",
"default_sales_contact": null,
"default_selling_terms": null,
"default_warehouse_for_sales_return": null,
"depreciation_cost_center": "Main - DL",
"depreciation_expense_account": "Depreciation - DL",
"disposal_account": "Gain/Loss on Asset Disposal - DL",
"docstatus": 0,
"doctype": "Company",
"domain": null,
"email": null,
"enable_perpetual_inventory": 1,
"enable_provisional_accounting_for_non_stock_items": 0,
"exception_budget_approver_role": null,
"exchange_gain_loss_account": "Exchange Gain/Loss - DL",
"existing_company": null,
"expenses_included_in_asset_valuation": "Expenses Included In Asset Valuation - DL",
"expenses_included_in_valuation": "Expenses Included In Valuation - DL",
"fax": null,
"is_group": 0,
"modified": "2026-02-15 00:56:31.935944",
"monthly_sales_target": 0.0,
"name": "Daniels Landscape Supplies",
"old_parent": "",
"parent_company": null,
"payment_terms": null,
"phone_no": null,
"reconcile_on_advance_payment_date": 0,
"reconciliation_takes_effect_on": "Oldest Of Invoice Or Advance",
"registration_details": null,
"round_off_account": "Round Off - DL",
"round_off_cost_center": "Main - DL",
"round_off_for_opening": null,
"sales_monthly_history": "{}",
"series_for_depreciation_entry": null,
"stock_adjustment_account": "Stock Adjustment - DL",
"stock_received_but_not_billed": "Stock Received But Not Billed - DL",
"submit_err_jv": 0,
"tax_id": null,
"total_monthly_sales": 0.0,
"transactions_annual_history": "{}",
"unrealized_exchange_gain_loss_account": null,
"unrealized_profit_loss_account": null,
"website": null,
"write_off_account": "Write Off - DL"
},
{
"abbr": "SD",
"accumulated_depreciation_account": "Accumulated Depreciation - SD",
"allow_account_creation_against_child_company": 0,
"asset_received_but_not_billed": "Asset Received But Not Billed - SD",
"auto_err_frequency": "Daily",
"auto_exchange_rate_revaluation": 0,
"book_advance_payments_in_separate_party_account": 0,
"capital_work_in_progress_account": "CWIP Account - SD",
"chart_of_accounts": "Standard",
"company_description": null,
"company_logo": null,
"company_name": "sprinklersnorthwest (Demo)",
"cost_center": "Main - SD",
"country": "United States",
"create_chart_of_accounts_based_on": "Standard Template",
"credit_limit": 0.0,
"date_of_commencement": null,
"date_of_establishment": null,
"date_of_incorporation": null,
"default_advance_paid_account": null,
"default_advance_received_account": null,
"default_bank_account": "Bank Account - SD",
"default_buying_terms": null,
"default_cash_account": "Cash - SD",
"default_currency": "USD",
"default_deferred_expense_account": null,
"default_deferred_revenue_account": null,
"default_discount_account": null,
"default_employee_advance_account": null,
"default_expense_account": "Cost of Goods Sold - SD",
"default_expense_claim_payable_account": "Creditors - SD",
"default_finance_book": null,
"default_holiday_list": null,
"default_in_transit_warehouse": null,
"default_income_account": "Sales - SD",
"default_inventory_account": "Stock In Hand - SD",
"default_letter_head": null,
"default_operating_cost_account": null,
"default_payable_account": "Creditors - SD",
"default_payroll_payable_account": null,
"default_provisional_account": null,
"default_receivable_account": "Debtors - SD",
"default_sales_contact": null,
"default_selling_terms": null,
"default_warehouse_for_sales_return": null,
"depreciation_cost_center": "Main - SD",
"depreciation_expense_account": "Depreciation - SD",
"disposal_account": "Gain/Loss on Asset Disposal - SD",
"docstatus": 0,
"doctype": "Company",
"domain": null,
"email": null,
"enable_perpetual_inventory": 1,
"enable_provisional_accounting_for_non_stock_items": 0,
"exception_budget_approver_role": null,
"exchange_gain_loss_account": "Exchange Gain/Loss - SD",
"existing_company": null,
"expenses_included_in_asset_valuation": "Expenses Included In Asset Valuation - SD",
"expenses_included_in_valuation": "Expenses Included In Valuation - SD",
"fax": null,
"is_group": 0,
"modified": "2026-02-15 00:56:31.938072",
"monthly_sales_target": 0.0,
"name": "sprinklersnorthwest (Demo)",
"old_parent": "",
"parent_company": null,
"payment_terms": null,
"phone_no": null,
"reconcile_on_advance_payment_date": 0,
"reconciliation_takes_effect_on": "Oldest Of Invoice Or Advance",
"registration_details": null,
"round_off_account": "Round Off - SD",
"round_off_cost_center": "Main - SD",
"round_off_for_opening": null,
"sales_monthly_history": "{}",
"series_for_depreciation_entry": null,
"stock_adjustment_account": "Stock Adjustment - SD",
"stock_received_but_not_billed": "Stock Received But Not Billed - SD",
"submit_err_jv": 0,
"tax_id": null,
"total_monthly_sales": 0.0,
"transactions_annual_history": "{}",
"unrealized_exchange_gain_loss_account": null,
"unrealized_profit_loss_account": null,
"website": null,
"write_off_account": "Write Off - SD"
},
{
"abbr": "NYC",
"accumulated_depreciation_account": "Accumulated Depreciation - NYC",
"allow_account_creation_against_child_company": 0,
"asset_received_but_not_billed": "Asset Received But Not Billed - NYC",
"auto_err_frequency": "Daily",
"auto_exchange_rate_revaluation": 0,
"book_advance_payments_in_separate_party_account": 1,
"capital_work_in_progress_account": "CWIP Account - NYC",
"chart_of_accounts": "Standard",
"company_description": null,
"company_logo": null,
"company_name": "Nuco Yard Care",
"cost_center": "Main - NYC",
"country": "United States",
"create_chart_of_accounts_based_on": "Standard Template",
"credit_limit": 0.0,
"date_of_commencement": null,
"date_of_establishment": null,
"date_of_incorporation": null,
"default_advance_paid_account": null,
"default_advance_received_account": null,
"default_bank_account": null,
"default_buying_terms": null,
"default_cash_account": "Cash - NYC",
"default_currency": "USD",
"default_deferred_expense_account": null,
"default_deferred_revenue_account": null,
"default_discount_account": null,
"default_employee_advance_account": null,
"default_expense_account": "Cost of Goods Sold - NYC",
"default_expense_claim_payable_account": "Creditors - NYC",
"default_finance_book": null,
"default_holiday_list": "Standard Holiday List",
"default_in_transit_warehouse": null,
"default_income_account": "Sales - NYC",
"default_inventory_account": "Stock In Hand - NYC",
"default_letter_head": null,
"default_operating_cost_account": null,
"default_payable_account": "Creditors - NYC",
"default_payroll_payable_account": null,
"default_provisional_account": null,
"default_receivable_account": "Debtors - NYC",
"default_sales_contact": null,
"default_selling_terms": null,
"default_warehouse_for_sales_return": null,
"depreciation_cost_center": "Main - NYC",
"depreciation_expense_account": "Depreciation - NYC",
"disposal_account": "Gain/Loss on Asset Disposal - NYC",
"docstatus": 0,
"doctype": "Company",
"domain": null,
"email": "operations@nucoyardcare.com",
"enable_perpetual_inventory": 1,
"enable_provisional_accounting_for_non_stock_items": 0,
"exception_budget_approver_role": null,
"exchange_gain_loss_account": "Exchange Gain/Loss - NYC",
"existing_company": null,
"expenses_included_in_asset_valuation": "Expenses Included In Asset Valuation - NYC",
"expenses_included_in_valuation": "Expenses Included In Valuation - NYC",
"fax": null,
"is_group": 0,
"modified": "2026-02-15 00:56:31.942129",
"monthly_sales_target": 0.0,
"name": "Nuco Yard Care",
"old_parent": "",
"parent_company": null,
"payment_terms": null,
"phone_no": "208-518-6032",
"reconcile_on_advance_payment_date": 0,
"reconciliation_takes_effect_on": "Oldest Of Invoice Or Advance",
"registration_details": null,
"round_off_account": "Round Off - NYC",
"round_off_cost_center": "Main - NYC",
"round_off_for_opening": null,
"sales_monthly_history": "{}",
"series_for_depreciation_entry": null,
"stock_adjustment_account": "Stock Adjustment - NYC",
"stock_received_but_not_billed": "Stock Received But Not Billed - NYC",
"submit_err_jv": 0,
"tax_id": null,
"total_monthly_sales": 0.0,
"transactions_annual_history": "{}",
"unrealized_exchange_gain_loss_account": null,
"unrealized_profit_loss_account": null,
"website": "www.nucoyardcare.com",
"write_off_account": "Write Off - NYC"
},
{
"abbr": "LF",
"accumulated_depreciation_account": "Accumulated Depreciation - LF",
"allow_account_creation_against_child_company": 0,
"asset_received_but_not_billed": "Asset Received But Not Billed - LF",
"auto_err_frequency": "Daily",
"auto_exchange_rate_revaluation": 0,
"book_advance_payments_in_separate_party_account": 0,
"capital_work_in_progress_account": "CWIP Account - LF",
"chart_of_accounts": "Standard",
"company_description": null,
"company_logo": null,
"company_name": "Lowe Fencing",
"cost_center": "Main - LF",
"country": "United States",
"create_chart_of_accounts_based_on": "Standard Template",
"credit_limit": 0.0,
"date_of_commencement": null,
"date_of_establishment": null,
"date_of_incorporation": null,
"default_advance_paid_account": null,
"default_advance_received_account": null,
"default_bank_account": null,
"default_buying_terms": null,
"default_cash_account": "Cash - LF",
"default_currency": "USD",
"default_deferred_expense_account": null,
"default_deferred_revenue_account": null,
"default_discount_account": null,
"default_employee_advance_account": null,
"default_expense_account": "Cost of Goods Sold - LF",
"default_expense_claim_payable_account": "Creditors - LF",
"default_finance_book": null,
"default_holiday_list": "Standard Holiday List",
"default_in_transit_warehouse": null,
"default_income_account": "Fencing Sales - LF",
"default_inventory_account": "Stock In Hand - LF",
"default_letter_head": "Lowe Fencing",
"default_operating_cost_account": null,
"default_payable_account": "Creditors - LF",
"default_payroll_payable_account": null,
"default_provisional_account": null,
"default_receivable_account": "Debtors - LF",
"default_sales_contact": null,
"default_selling_terms": null,
"default_warehouse_for_sales_return": null,
"depreciation_cost_center": "Main - LF",
"depreciation_expense_account": "Depreciation - LF",
"disposal_account": "Gain/Loss on Asset Disposal - LF",
"docstatus": 0,
"doctype": "Company",
"domain": null,
"email": "office@lowefencing.com",
"enable_perpetual_inventory": 1,
"enable_provisional_accounting_for_non_stock_items": 0,
"exception_budget_approver_role": null,
"exchange_gain_loss_account": "Exchange Gain/Loss - LF",
"existing_company": null,
"expenses_included_in_asset_valuation": "Expenses Included In Asset Valuation - LF",
"expenses_included_in_valuation": "Expenses Included In Valuation - LF",
"fax": null,
"is_group": 0,
"modified": "2026-02-15 00:56:31.940118",
"monthly_sales_target": 0.0,
"name": "Lowe Fencing",
"old_parent": "",
"parent_company": null,
"payment_terms": null,
"phone_no": "2084848165",
"reconcile_on_advance_payment_date": 0,
"reconciliation_takes_effect_on": "Oldest Of Invoice Or Advance",
"registration_details": null,
"round_off_account": "Round Off - LF",
"round_off_cost_center": "Main - LF",
"round_off_for_opening": null,
"sales_monthly_history": "{}",
"series_for_depreciation_entry": null,
"stock_adjustment_account": "Stock Adjustment - LF",
"stock_received_but_not_billed": "Stock Received But Not Billed - LF",
"submit_err_jv": 0,
"tax_id": "81-1640506",
"total_monthly_sales": 0.0,
"transactions_annual_history": "{}",
"unrealized_exchange_gain_loss_account": null,
"unrealized_profit_loss_account": null,
"website": null,
"write_off_account": "Write Off - LF"
},
{
"abbr": "S",
"accumulated_depreciation_account": "Accumulated Depreciation - S",
"allow_account_creation_against_child_company": 0,
"asset_received_but_not_billed": "Asset Received But Not Billed - S",
"auto_err_frequency": "Daily",
"auto_exchange_rate_revaluation": 0,
"book_advance_payments_in_separate_party_account": 1,
"capital_work_in_progress_account": "CWIP Account - S",
"chart_of_accounts": "Standard",
"company_description": null,
"company_logo": null,
"company_name": "Sprinklers Northwest",
"cost_center": "Main - S",
"country": "United States",
"create_chart_of_accounts_based_on": "Standard Template",
"credit_limit": 0.0,
"date_of_commencement": null,
"date_of_establishment": null,
"date_of_incorporation": "2009-04-06",
"default_advance_paid_account": null,
"default_advance_received_account": "Customer Deposits - S",
"default_bank_account": "Undeposited Funds - S",
"default_buying_terms": null,
"default_cash_account": "Undeposited Funds - S",
"default_currency": "USD",
"default_deferred_expense_account": null,
"default_deferred_revenue_account": null,
"default_discount_account": null,
"default_employee_advance_account": "Employee Advances - S",
"default_expense_account": "Cost of Goods Sold - S",
"default_expense_claim_payable_account": "Creditors - S",
"default_finance_book": null,
"default_holiday_list": "Standard Holiday List",
"default_in_transit_warehouse": null,
"default_income_account": "Sales - S",
"default_inventory_account": "Stock In Hand - S",
"default_letter_head": "Sprinklers Northwest",
"default_operating_cost_account": null,
"default_payable_account": "Creditors - S",
"default_payroll_payable_account": "Payroll Payable - S",
"default_provisional_account": null,
"default_receivable_account": "Debtors - S",
"default_sales_contact": null,
"default_selling_terms": null,
"default_warehouse_for_sales_return": null,
"depreciation_cost_center": "Main - S",
"depreciation_expense_account": "Depreciation - S",
"disposal_account": "Gain/Loss on Asset Disposal - S",
"docstatus": 0,
"doctype": "Company",
"domain": "",
"email": "info@sprinklersnorthwest.com",
"enable_perpetual_inventory": 1,
"enable_provisional_accounting_for_non_stock_items": 0,
"exception_budget_approver_role": null,
"exchange_gain_loss_account": "Exchange Gain/Loss - S",
"existing_company": null,
"expenses_included_in_asset_valuation": "Expenses Included In Asset Valuation - S",
"expenses_included_in_valuation": "Expenses Included In Valuation - S",
"fax": null,
"is_group": 0,
"modified": "2026-02-15 00:56:31.946270",
"monthly_sales_target": 0.0,
"name": "Sprinklers Northwest",
"old_parent": "",
"parent_company": null,
"payment_terms": null,
"phone_no": "208-818-8838",
"reconcile_on_advance_payment_date": 0,
"reconciliation_takes_effect_on": "Oldest Of Invoice Or Advance",
"registration_details": null,
"round_off_account": "Round Off - S",
"round_off_cost_center": "Main - S",
"round_off_for_opening": null,
"sales_monthly_history": "{\"02-2025\": 0.0, \"02-2026\": 0.0, \"05-2025\": 0.0, \"07-2025\": 0.0}",
"series_for_depreciation_entry": null,
"stock_adjustment_account": "Stock Adjustment - S",
"stock_received_but_not_billed": "Stock Received But Not Billed - S",
"submit_err_jv": 0,
"tax_id": "26-4603792",
"total_monthly_sales": 23400.0,
"transactions_annual_history": "{\"1740463200.0\": 1, \"1740549600.0\": 1, \"1741154400.0\": 1, \"1744866000.0\": 1, \"1744952400.0\": 1, \"1745557200.0\": 3, \"1746162000.0\": 1, \"1746594000.0\": 1, \"1746680400.0\": 2, \"1746853200.0\": 1, \"1747285200.0\": 1, \"1748581200.0\": 1, \"1750136400.0\": 2, \"1753333200.0\": 1, \"1755234000.0\": 2, \"1755493200.0\": 1, \"1755752400.0\": 1, \"1756270800.0\": 1, \"1756357200.0\": 1, \"1759986000.0\": 1, \"1764568800.0\": 2, \"1764655200.0\": 5, \"1765260000.0\": 7, \"1765778400.0\": 1, \"1766124000.0\": 1, \"1766210400.0\": 1, \"1766469600.0\": 13, \"1766728800.0\": 6, \"1767938400.0\": 1, \"1768456800.0\": 20, \"1768543200.0\": 1, \"1768975200.0\": 1, \"1769148000.0\": 1, \"1769407200.0\": 1, \"1769493600.0\": 1, \"1770184800.0\": 1, \"1770357600.0\": 1, \"1770444000.0\": 1, \"1770530400.0\": 1, \"1770616800.0\": 1, \"1770789600.0\": 1, \"1770876000.0\": 1, \"1770962400.0\": 1, \"1771048800.0\": 1}",
"unrealized_exchange_gain_loss_account": null,
"unrealized_profit_loss_account": null,
"website": "www.sprinklersnorthwest.com",
"write_off_account": "Write Off - S"
}
]

View file

@ -0,0 +1,158 @@
[
{
"company": "sprinklersnorthwest (Demo)",
"cost_center_name": "sprinklersnorthwest (Demo)",
"cost_center_number": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Cost Center",
"is_group": 1,
"modified": "2024-04-03 13:53:36.319170",
"name": "sprinklersnorthwest (Demo) - SD",
"old_parent": "",
"parent_cost_center": null
},
{
"company": "Nuco Yard Care",
"cost_center_name": "Nuco Yard Care",
"cost_center_number": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Cost Center",
"is_group": 1,
"modified": "2024-04-08 14:26:26.835628",
"name": "Nuco Yard Care - NYC",
"old_parent": "",
"parent_cost_center": null
},
{
"company": "Veritas Stone",
"cost_center_name": "Veritas Stone",
"cost_center_number": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Cost Center",
"is_group": 1,
"modified": "2024-04-12 04:46:43.619995",
"name": "Veritas Stone - VS",
"old_parent": "",
"parent_cost_center": null
},
{
"company": "Daniels Landscape Supplies",
"cost_center_name": "Daniels Landscape Supplies",
"cost_center_number": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Cost Center",
"is_group": 1,
"modified": "2024-04-12 05:00:21.971732",
"name": "Daniels Landscape Supplies - DL",
"old_parent": "",
"parent_cost_center": null
},
{
"company": "Lowe Fencing",
"cost_center_name": "Lowe Fencing",
"cost_center_number": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Cost Center",
"is_group": 1,
"modified": "2024-04-08 14:26:52.065488",
"name": "Lowe Fencing - LF",
"old_parent": "",
"parent_cost_center": null
},
{
"company": "Sprinklers Northwest",
"cost_center_name": "sprinklersnorthwest",
"cost_center_number": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Cost Center",
"is_group": 1,
"modified": "2024-04-03 13:53:07.596849",
"name": "sprinklersnorthwest - S",
"old_parent": "",
"parent_cost_center": null
},
{
"company": "Veritas Stone",
"cost_center_name": "Main",
"cost_center_number": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Cost Center",
"is_group": 0,
"modified": "2024-04-12 04:46:43.636132",
"name": "Main - VS",
"old_parent": "Veritas Stone - VS",
"parent_cost_center": "Veritas Stone - VS"
},
{
"company": "Nuco Yard Care",
"cost_center_name": "Main",
"cost_center_number": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Cost Center",
"is_group": 0,
"modified": "2024-04-08 14:26:26.857578",
"name": "Main - NYC",
"old_parent": "Nuco Yard Care - NYC",
"parent_cost_center": "Nuco Yard Care - NYC"
},
{
"company": "Daniels Landscape Supplies",
"cost_center_name": "Main",
"cost_center_number": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Cost Center",
"is_group": 0,
"modified": "2024-04-12 05:00:22.025686",
"name": "Main - DL",
"old_parent": "Daniels Landscape Supplies - DL",
"parent_cost_center": "Daniels Landscape Supplies - DL"
},
{
"company": "sprinklersnorthwest (Demo)",
"cost_center_name": "Main",
"cost_center_number": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Cost Center",
"is_group": 0,
"modified": "2024-04-03 13:53:36.354903",
"name": "Main - SD",
"old_parent": "sprinklersnorthwest (Demo) - SD",
"parent_cost_center": "sprinklersnorthwest (Demo) - SD"
},
{
"company": "Lowe Fencing",
"cost_center_name": "Main",
"cost_center_number": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Cost Center",
"is_group": 0,
"modified": "2024-04-08 14:26:52.096499",
"name": "Main - LF",
"old_parent": "Lowe Fencing - LF",
"parent_cost_center": "Lowe Fencing - LF"
},
{
"company": "Sprinklers Northwest",
"cost_center_name": "Main",
"cost_center_number": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Cost Center",
"is_group": 0,
"modified": "2024-04-03 13:53:07.616694",
"name": "Main - S",
"old_parent": "sprinklersnorthwest - S",
"parent_cost_center": "sprinklersnorthwest - S"
}
]

View file

@ -774,7 +774,7 @@
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
"modified": "2026-02-12 02:52:42.039792",
"modified": "2026-02-13 03:40:47.846272",
"module": null,
"name": "Quotation-requires_half_payment",
"no_copy": 0,
@ -2199,7 +2199,7 @@
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
"modified": "2026-02-12 02:52:42.142425",
"modified": "2026-02-13 03:40:47.954343",
"module": null,
"name": "Sales Order-requires_half_payment",
"no_copy": 0,
@ -8070,7 +8070,7 @@
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
"modified": "2026-02-12 04:10:06.712703",
"modified": "2026-02-13 03:40:48.116290",
"module": null,
"name": "Project-requires_half_payment",
"no_copy": 0,
@ -8469,7 +8469,7 @@
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
"modified": "2026-02-12 04:10:06.808397",
"modified": "2026-02-13 03:40:48.203042",
"module": null,
"name": "Project-is_half_down_paid",
"no_copy": 0,
@ -8754,7 +8754,7 @@
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
"modified": "2026-02-12 04:10:06.643135",
"modified": "2026-02-13 03:40:48.044130",
"module": null,
"name": "Project-is_scheduled",
"no_copy": 0,
@ -10179,7 +10179,7 @@
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
"modified": "2026-02-12 04:10:06.196780",
"modified": "2026-02-13 03:40:47.644900",
"module": null,
"name": "Address-latitude",
"no_copy": 0,
@ -10293,7 +10293,7 @@
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
"modified": "2026-02-12 04:10:06.320979",
"modified": "2026-02-13 03:40:47.742672",
"module": null,
"name": "Address-longitude",
"no_copy": 0,
@ -13964,63 +13964,6 @@
"unique": 0,
"width": null
},
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"collapsible_depends_on": null,
"columns": 0,
"default": null,
"depends_on": "eval:doc.accept_payment && !doc.amount_based_on_field",
"description": null,
"docstatus": 0,
"doctype": "Custom Field",
"dt": "Web Form",
"fetch_from": null,
"fetch_if_empty": 0,
"fieldname": "amount",
"fieldtype": "Currency",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
"hide_seconds": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
"insert_after": "amount_field",
"is_system_generated": 1,
"is_virtual": 0,
"label": "Amount",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
"modified": "2026-01-27 11:11:05.387203",
"module": null,
"name": "Web Form-amount",
"no_copy": 0,
"non_negative": 0,
"options": null,
"permlevel": 0,
"placeholder": null,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"print_width": null,
"read_only": 0,
"read_only_depends_on": null,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"show_dashboard": 0,
"sort_options": 0,
"translatable": 0,
"unique": 0,
"width": null
},
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@ -14192,6 +14135,63 @@
"unique": 0,
"width": null
},
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"collapsible_depends_on": null,
"columns": 0,
"default": null,
"depends_on": "eval:doc.accept_payment && !doc.amount_based_on_field",
"description": null,
"docstatus": 0,
"doctype": "Custom Field",
"dt": "Web Form",
"fetch_from": null,
"fetch_if_empty": 0,
"fieldname": "amount",
"fieldtype": "Currency",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
"hide_seconds": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
"insert_after": "amount_field",
"is_system_generated": 1,
"is_virtual": 0,
"label": "Amount",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
"modified": "2026-01-27 11:11:05.387203",
"module": null,
"name": "Web Form-amount",
"no_copy": 0,
"non_negative": 0,
"options": null,
"permlevel": 0,
"placeholder": null,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"print_width": null,
"read_only": 0,
"read_only_depends_on": null,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"show_dashboard": 0,
"sort_options": 0,
"translatable": 0,
"unique": 0,
"width": null
},
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
@ -16016,6 +16016,63 @@
"unique": 0,
"width": null
},
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"collapsible_depends_on": null,
"columns": 0,
"default": null,
"depends_on": null,
"description": null,
"docstatus": 0,
"doctype": "Custom Field",
"dt": "Quotation",
"fetch_from": null,
"fetch_if_empty": 0,
"fieldname": "remarks",
"fieldtype": "Small Text",
"hidden": 0,
"hide_border": 0,
"hide_days": 0,
"hide_seconds": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_preview": 0,
"in_standard_filter": 0,
"insert_after": "grand_total",
"is_system_generated": 1,
"is_virtual": 0,
"label": "Remarks",
"length": 0,
"link_filters": null,
"mandatory_depends_on": null,
"modified": "2026-02-13 03:40:47.513866",
"module": null,
"name": "Quotation-remarks",
"no_copy": 0,
"non_negative": 0,
"options": null,
"permlevel": 0,
"placeholder": null,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"print_width": null,
"read_only": 0,
"read_only_depends_on": null,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"show_dashboard": 0,
"sort_options": 0,
"translatable": 0,
"unique": 0,
"width": null
},
{
"allow_in_quick_entry": 0,
"allow_on_submit": 0,

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,41 @@
[
{
"auto_created": 0,
"companies": [],
"disabled": 0,
"docstatus": 0,
"doctype": "Fiscal Year",
"is_short_year": 0,
"modified": "2026-02-04 12:09:37.726400",
"name": "2026",
"year": "2026",
"year_end_date": "2026-12-31",
"year_start_date": "2026-01-01"
},
{
"auto_created": 0,
"companies": [],
"disabled": 0,
"docstatus": 0,
"doctype": "Fiscal Year",
"is_short_year": 0,
"modified": "2024-04-03 13:53:06.521863",
"name": "2024",
"year": "2024",
"year_end_date": "2024-12-31",
"year_start_date": "2024-01-01"
},
{
"auto_created": 1,
"companies": [],
"disabled": 0,
"docstatus": 0,
"doctype": "Fiscal Year",
"is_short_year": 0,
"modified": "2024-12-28 00:01:04.314401",
"name": "2025",
"year": "2025",
"year_end_date": "2025-12-31",
"year_start_date": "2025-01-01"
}
]

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,72 @@
[
{
"bid_meeting_note_form": "SNW Install Bid Meeting Notes",
"calendar_color": "#CB2929",
"company": "Sprinklers Northwest",
"custom__complete_method": "Task Weight",
"docstatus": 0,
"doctype": "Project Template",
"item_groups": "SNW-I, SNW-S, SNW-LS",
"modified": "2026-02-15 01:31:39.325004",
"name": "SNW Install",
"project_type": "External",
"tasks": [
{
"parent": "SNW Install",
"parentfield": "tasks",
"parenttype": "Project Template",
"subject": "Send customer 3-5 day window for start date",
"task": "TASK-2025-00001"
},
{
"parent": "SNW Install",
"parentfield": "tasks",
"parenttype": "Project Template",
"subject": "811/Locate call in",
"task": "TASK-2025-00002"
},
{
"parent": "SNW Install",
"parentfield": "tasks",
"parenttype": "Project Template",
"subject": "Permit(s) call in and pay",
"task": "TASK-2025-00003"
},
{
"parent": "SNW Install",
"parentfield": "tasks",
"parenttype": "Project Template",
"subject": "Primary Job",
"task": "TASK-2025-00004"
},
{
"parent": "SNW Install",
"parentfield": "tasks",
"parenttype": "Project Template",
"subject": "Hydroseeding",
"task": "TASK-2025-00005"
},
{
"parent": "SNW Install",
"parentfield": "tasks",
"parenttype": "Project Template",
"subject": "Curbing",
"task": "TASK-2025-00006"
},
{
"parent": "SNW Install",
"parentfield": "tasks",
"parenttype": "Project Template",
"subject": "15-Day QA",
"task": "TASK-2025-00007"
},
{
"parent": "SNW Install",
"parentfield": "tasks",
"parenttype": "Project Template",
"subject": "Permit Close-out",
"task": "TASK-2025-00008"
}
]
}
]

View file

@ -269,51 +269,6 @@
"total_expense_claim": 0.0,
"type": "Admin"
},
{
"act_end_date": null,
"act_start_date": null,
"actual_time": 0.0,
"closing_date": null,
"color": null,
"company": "Sprinklers Northwest",
"completed_by": null,
"completed_on": null,
"custom_foreman": null,
"custom_property": null,
"customer": null,
"department": null,
"depends_on": [],
"depends_on_tasks": "",
"description": "Task tracking for the main service job.",
"docstatus": 0,
"doctype": "Task",
"duration": 0,
"exp_end_date": null,
"exp_start_date": null,
"expected_time": 0.0,
"is_group": 0,
"is_milestone": 0,
"is_template": 1,
"issue": null,
"modified": "2026-02-12 12:32:42.996899",
"name": "TASK-2025-00004",
"old_parent": "",
"parent_task": null,
"priority": "Low",
"progress": 0.0,
"project": null,
"project_template": null,
"review_date": null,
"start": 0,
"status": "Template",
"subject": "Primary Job",
"task_weight": 25.0,
"template_task": null,
"total_billing_amount": 0.0,
"total_costing_amount": 0.0,
"total_expense_claim": 0.0,
"type": "Main Job"
},
{
"act_end_date": null,
"act_start_date": null,
@ -358,5 +313,50 @@
"total_costing_amount": 0.0,
"total_expense_claim": 0.0,
"type": "15 Day Warranty Follow-Up"
},
{
"act_end_date": null,
"act_start_date": null,
"actual_time": 0.0,
"closing_date": null,
"color": null,
"company": "Sprinklers Northwest",
"completed_by": null,
"completed_on": null,
"custom_foreman": null,
"custom_property": null,
"customer": null,
"department": null,
"depends_on": [],
"depends_on_tasks": "",
"description": "Task tracking for the main service job.",
"docstatus": 0,
"doctype": "Task",
"duration": 0,
"exp_end_date": null,
"exp_start_date": null,
"expected_time": 0.0,
"is_group": 0,
"is_milestone": 0,
"is_template": 1,
"issue": null,
"modified": "2026-02-12 12:32:42.996899",
"name": "TASK-2025-00004",
"old_parent": "",
"parent_task": null,
"priority": "Low",
"progress": 0.0,
"project": null,
"project_template": null,
"review_date": null,
"start": 0,
"status": "Template",
"subject": "Primary Job",
"task_weight": 25.0,
"template_task": null,
"total_billing_amount": 0.0,
"total_costing_amount": 0.0,
"total_expense_claim": 0.0,
"type": "Main Job"
}
]

View file

@ -0,0 +1,527 @@
[
{
"base_date": "Start",
"calculate_from": "Project",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": "Collect half down payment on project creation.",
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2026-01-26 12:59:50.869932",
"name": "1/2 Down Payment",
"no_due_date": 0,
"offset_days": 0,
"offset_direction": "Before",
"skip_holidays": 1,
"skip_weekends": 0,
"task_type_calculate_from": null,
"title": "1/2 Down Payment",
"trigger": "Created",
"triggering_doctype": "Project",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "Start",
"calculate_from": "Service Address 2",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": "Stage machinery one day before installation start.",
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2026-01-26 13:00:47.389623",
"name": "Machine Staging",
"no_due_date": 0,
"offset_days": 1,
"offset_direction": "Before",
"skip_holidays": 1,
"skip_weekends": 0,
"task_type_calculate_from": null,
"title": "Machine Staging",
"trigger": "Scheduled",
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "Completion",
"calculate_from": "Service Address 2",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": "Send final invoice within 5 days of job completion.",
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2026-01-26 13:01:14.573788",
"name": "Final Invoice",
"no_due_date": 0,
"offset_days": 5,
"offset_direction": "After",
"skip_holidays": 1,
"skip_weekends": 0,
"task_type_calculate_from": null,
"title": "Final Invoice",
"trigger": "Completed",
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "Completion",
"calculate_from": "Service Address 2",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": "Backflow test after job completion if quoted.",
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2026-01-26 13:01:34.781732",
"name": "Backflow Test",
"no_due_date": 0,
"offset_days": 0,
"offset_direction": "After",
"skip_holidays": 1,
"skip_weekends": 0,
"task_type_calculate_from": null,
"title": "Backflow Test",
"trigger": "Completed",
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "Completion",
"calculate_from": "Service Address 2",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": "Schedule permit inspection 5 days after completion.",
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2026-01-26 13:01:44.550215",
"name": "Schedule Permit Inspection",
"no_due_date": 0,
"offset_days": 5,
"offset_direction": "After",
"skip_holidays": 1,
"skip_weekends": 0,
"task_type_calculate_from": null,
"title": "Schedule Permit Inspection",
"trigger": "Completed",
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "Completion",
"calculate_from": "Service Address 2",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": "30-day warranty check after completion.",
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2026-01-26 13:02:08.165742",
"name": "30 Day Warranty Check",
"no_due_date": 0,
"offset_days": 30,
"offset_direction": "After",
"skip_holidays": 1,
"skip_weekends": 0,
"task_type_calculate_from": null,
"title": "30 Day Warranty Check",
"trigger": "Completed",
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "Completion",
"calculate_from": "Service Address 2",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": "Payment reminder sent 30 days after completion.",
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2026-01-26 13:02:21.758218",
"name": "30 Day Payment Reminder",
"no_due_date": 0,
"offset_days": 30,
"offset_direction": "After",
"skip_holidays": 1,
"skip_weekends": 0,
"task_type_calculate_from": null,
"title": "30 Day Payment Reminder",
"trigger": "Completed",
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "Completion",
"calculate_from": "Service Address 2",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": "Late payment notification at 60 days post completion.",
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2026-01-26 13:02:33.693892",
"name": "60 Day Late Payment Notice",
"no_due_date": 0,
"offset_days": 60,
"offset_direction": "After",
"skip_holidays": 1,
"skip_weekends": 0,
"task_type_calculate_from": null,
"title": "60 Day Late Payment Notice",
"trigger": "Completed",
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "Completion",
"calculate_from": "Service Address 2",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": "Lien notice if payment is still late after 80 days.",
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2026-01-26 13:02:42.742371",
"name": "80 Day Lien Notice",
"no_due_date": 0,
"offset_days": 80,
"offset_direction": "After",
"skip_holidays": 1,
"skip_weekends": 0,
"task_type_calculate_from": null,
"title": "80 Day Lien Notice",
"trigger": "Completed",
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "Completion",
"calculate_from": "Service Address 2",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": "One-year warranty call or walk-through.",
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2026-01-26 13:02:51.999530",
"name": "365 Day Warranty Call / Walk",
"no_due_date": 0,
"offset_days": 365,
"offset_direction": "After",
"skip_holidays": 1,
"skip_weekends": 0,
"task_type_calculate_from": null,
"title": "365 Day Warranty Call / Walk",
"trigger": "Completed",
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "Start",
"calculate_from": "Service Address 2",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": "Locate utilities for digging",
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2026-01-26 13:00:26.110307",
"name": "Locate",
"no_due_date": 0,
"offset_days": 7,
"offset_direction": "Before",
"skip_holidays": 1,
"skip_weekends": 0,
"task_type_calculate_from": null,
"title": "Locate",
"trigger": "Scheduled",
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "Start",
"calculate_from": "Service Address 2",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": "Utility locate request prior to installation start.",
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2026-02-08 01:46:40.122526",
"name": "811/Locate",
"no_due_date": 0,
"offset_days": 7,
"offset_direction": "Before",
"skip_holidays": 1,
"skip_weekends": 0,
"task_type_calculate_from": null,
"title": "811/Locate",
"trigger": "Scheduled",
"triggering_doctype": "Service Address 2",
"weight": 7.0,
"work_type": "Admin"
},
{
"base_date": "Project Start",
"calculate_from": "Service Appointment",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": null,
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2024-12-20 16:48:23.131743",
"name": "Topshot",
"no_due_date": 0,
"offset_days": 7,
"offset_direction": "Before",
"skip_holidays": 1,
"skip_weekends": 1,
"task_type_calculate_from": null,
"title": null,
"trigger": null,
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "Start",
"calculate_from": "Service Address 2",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": "Permits required prior to installation start.",
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2026-02-08 01:48:15.012387",
"name": "Permit",
"no_due_date": 0,
"offset_days": 7,
"offset_direction": "Before",
"skip_holidays": 1,
"skip_weekends": 0,
"task_type_calculate_from": null,
"title": "Permit",
"trigger": "Scheduled",
"triggering_doctype": "Service Address 2",
"weight": 7.0,
"work_type": "Admin"
},
{
"base_date": "Completion",
"calculate_from": "Service Address 2",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": "15-day warranty follow-up after completion.",
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2026-01-26 13:01:56.949793",
"name": "15 Day Warranty Follow-Up",
"no_due_date": 0,
"offset_days": 15,
"offset_direction": "After",
"skip_holidays": 1,
"skip_weekends": 0,
"task_type_calculate_from": null,
"title": "15 Day Warranty Follow-Up",
"trigger": "Completed",
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "Project Start",
"calculate_from": "Service Appointment",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": null,
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2024-12-17 14:18:26.429960",
"name": "Subcontractor",
"no_due_date": 0,
"offset_days": 7,
"offset_direction": "Before",
"skip_holidays": 1,
"skip_weekends": 1,
"task_type_calculate_from": null,
"title": null,
"trigger": null,
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "End",
"calculate_from": "Service Address 2",
"custom_completion_trigger": "Completed",
"custom_completion_trigger_doctype": "Service Address 2",
"custom_target_percent": 0,
"days": 0,
"description": "Task tracking for the main service job.",
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2026-02-08 02:35:42.343305",
"name": "Main Job",
"no_due_date": 0,
"offset_days": 0,
"offset_direction": "After",
"skip_holidays": 1,
"skip_weekends": 0,
"task_type_calculate_from": null,
"title": "Main Job",
"trigger": "Scheduled",
"triggering_doctype": "Service Address 2",
"weight": 25.0,
"work_type": "Labor"
},
{
"base_date": "Project Start",
"calculate_from": "Service Appointment",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": null,
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2025-05-10 03:44:23.619864",
"name": "QA",
"no_due_date": 0,
"offset_days": 7,
"offset_direction": "Before",
"skip_holidays": 1,
"skip_weekends": 1,
"task_type_calculate_from": null,
"title": null,
"trigger": null,
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "Project Start",
"calculate_from": "Service Appointment",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": null,
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2025-04-24 14:56:51.838933",
"name": "Admin",
"no_due_date": 0,
"offset_days": 7,
"offset_direction": "Before",
"skip_holidays": 1,
"skip_weekends": 1,
"task_type_calculate_from": null,
"title": null,
"trigger": null,
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "Project Start",
"calculate_from": "Service Appointment",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": null,
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2024-04-16 11:55:50.883266",
"name": "Scheduling",
"no_due_date": 0,
"offset_days": 7,
"offset_direction": "Before",
"skip_holidays": 1,
"skip_weekends": 1,
"task_type_calculate_from": null,
"title": null,
"trigger": null,
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
},
{
"base_date": "Project Start",
"calculate_from": "Service Appointment",
"custom_completion_trigger": null,
"custom_completion_trigger_doctype": null,
"custom_target_percent": 0,
"days": 0,
"description": null,
"docstatus": 0,
"doctype": "Task Type",
"logic_key": null,
"modified": "2024-04-19 12:51:25.954969",
"name": "Labor",
"no_due_date": 0,
"offset_days": 7,
"offset_direction": "Before",
"skip_holidays": 1,
"skip_weekends": 1,
"task_type_calculate_from": null,
"title": null,
"trigger": null,
"triggering_doctype": "Service Address 2",
"weight": 0.0,
"work_type": "Admin"
}
]

View file

@ -0,0 +1,194 @@
[
{
"account": null,
"address_line_1": null,
"address_line_2": null,
"city": null,
"company": "Sprinklers Northwest",
"default_in_transit_warehouse": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Warehouse",
"email_id": null,
"is_group": 0,
"is_rejected_warehouse": 0,
"mobile_no": null,
"modified": "2025-01-21 12:05:13.944900",
"name": "Nursery - S",
"old_parent": "All Warehouses - S",
"parent_warehouse": "All Warehouses - S",
"phone_no": null,
"pin": null,
"state": null,
"warehouse_name": "Nursery",
"warehouse_type": null
},
{
"account": null,
"address_line_1": null,
"address_line_2": null,
"city": null,
"company": "Sprinklers Northwest",
"default_in_transit_warehouse": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Warehouse",
"email_id": null,
"is_group": 0,
"is_rejected_warehouse": 0,
"mobile_no": null,
"modified": "2025-01-31 10:23:24.774635",
"name": "Services Stock - S",
"old_parent": "",
"parent_warehouse": null,
"phone_no": null,
"pin": null,
"state": null,
"warehouse_name": "Services Stock",
"warehouse_type": null
},
{
"account": null,
"address_line_1": null,
"address_line_2": null,
"city": null,
"company": "Lowe Fencing",
"default_in_transit_warehouse": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Warehouse",
"email_id": null,
"is_group": 0,
"is_rejected_warehouse": 0,
"mobile_no": null,
"modified": "2024-10-31 14:40:21.144485",
"name": "Fencing Yard - LF",
"old_parent": "",
"parent_warehouse": null,
"phone_no": null,
"pin": null,
"state": null,
"warehouse_name": "Fencing Yard",
"warehouse_type": null
},
{
"account": null,
"address_line_1": null,
"address_line_2": null,
"city": null,
"company": "Sprinklers Northwest",
"default_in_transit_warehouse": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Warehouse",
"email_id": null,
"is_group": 0,
"is_rejected_warehouse": 0,
"mobile_no": null,
"modified": "2025-01-31 10:14:33.005891",
"name": "Completed Ready to Bill - S",
"old_parent": "All Warehouses - S",
"parent_warehouse": "All Warehouses - S",
"phone_no": null,
"pin": null,
"state": null,
"warehouse_name": "Completed Ready to Bill",
"warehouse_type": null
},
{
"account": null,
"address_line_1": null,
"address_line_2": null,
"city": null,
"company": "Sprinklers Northwest",
"default_in_transit_warehouse": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Warehouse",
"email_id": null,
"is_group": 1,
"is_rejected_warehouse": 0,
"mobile_no": null,
"modified": "2024-04-03 13:53:07.446449",
"name": "All Warehouses - S",
"old_parent": "",
"parent_warehouse": "",
"phone_no": null,
"pin": null,
"state": null,
"warehouse_name": "All Warehouses",
"warehouse_type": null
},
{
"account": null,
"address_line_1": null,
"address_line_2": null,
"city": null,
"company": "Sprinklers Northwest",
"default_in_transit_warehouse": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Warehouse",
"email_id": null,
"is_group": 0,
"is_rejected_warehouse": 0,
"mobile_no": null,
"modified": "2025-01-31 09:54:31.268684",
"name": "Field Work - S",
"old_parent": "All Warehouses - S",
"parent_warehouse": "All Warehouses - S",
"phone_no": null,
"pin": null,
"state": null,
"warehouse_name": "Field Work",
"warehouse_type": null
},
{
"account": "Stock In Hand - S",
"address_line_1": null,
"address_line_2": null,
"city": null,
"company": "Sprinklers Northwest",
"default_in_transit_warehouse": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Warehouse",
"email_id": null,
"is_group": 0,
"is_rejected_warehouse": 0,
"mobile_no": null,
"modified": "2024-10-31 16:10:30.017682",
"name": "Parts Shed - S",
"old_parent": "All Warehouses - S",
"parent_warehouse": "All Warehouses - S",
"phone_no": null,
"pin": null,
"state": null,
"warehouse_name": "Parts Shed ",
"warehouse_type": null
},
{
"account": null,
"address_line_1": null,
"address_line_2": null,
"city": null,
"company": "Sprinklers Northwest",
"default_in_transit_warehouse": null,
"disabled": 0,
"docstatus": 0,
"doctype": "Warehouse",
"email_id": null,
"is_group": 1,
"is_rejected_warehouse": 0,
"mobile_no": null,
"modified": "2025-01-21 12:06:12.188216",
"name": "Stores - S",
"old_parent": "",
"parent_warehouse": "",
"phone_no": null,
"pin": null,
"state": null,
"warehouse_name": "Vendor",
"warehouse_type": null
}
]

View file

@ -216,6 +216,11 @@ doc_events = {
}
fixtures = [
{"dt": "Company"},
# {"dt": "Account"},
{"dt": "Cost Center"},
{"dt": "Warehouse"},
{"dt": "Fiscal Year"},
{
"dt": "Email Template",
"filters": [
@ -228,12 +233,16 @@ fixtures = [
["custom", "=", 1]
]
},
{ "dt": "Task Type" },
{
"dt": "Task",
"filters": [
["status", "in", ["Template"]]
["is_template", "=", 1]
]
},
{ "dt": "Project Template" },
{ "dt": "Bid Meeting Note Form" },
{ "dt": "Holiday List" },
# These don't have reliable flags → export all
{"dt": "Custom Field"},

View file

@ -17,14 +17,15 @@ def after_install():
frappe.reload_doctype("Address")
frappe.clear_cache(doctype="On-Site Meeting")
frappe.reload_doctype("On-Site Meeting")
update_onsite_meeting_fields()
update_address_fields()
check_and_create_holiday_list()
create_project_templates()
create_task_types()
# update_onsite_meeting_fields()
# update_address_fields()
# create_companies()
# check_and_create_holiday_list()
# create_tasks()
create_bid_meeting_note_form_templates()
create_accounts()
# create_task_types()
# create_project_templates()
# create_bid_meeting_note_form_templates()
# create_accounts()
# init_stripe_accounts()
build_frontend()
@ -41,7 +42,7 @@ def after_migrate():
check_and_create_holiday_list()
# create_project_templates()
create_task_types()
# create_task_types()
# create_tasks()
create_bid_meeting_note_form_templates()
create_accounts()

View file

@ -1,5 +1,6 @@
import frappe
from custom_ui.services import ContactService, AddressService, ClientService, DbService
import json
class ServiceAppointmentService:
@ -27,9 +28,12 @@ class ServiceAppointmentService:
return service_appointment
@staticmethod
def update_scheduled_dates(service_appointment_name: str, crew_lead_name: str,start_date, end_date, start_time=None, end_time=None):
def update_scheduled_dates(service_appointment_name: str, crew_lead_name: str = None, start_date=None, end_date=None, start_time=None, end_time=None, skip_days=[]):
"""Update the scheduled start and end dates of a Service Appointment."""
print(f"DEBUG: Updating scheduled dates for Service Appointment {service_appointment_name} to start: {start_date}, end: {end_date}")
if isinstance(skip_days, str):
skip_days = json.loads(skip_days)
print(f"DEBUG: Parsed skip_days: {skip_days}")
service_appointment = DbService.get_or_throw("Service Address 2", service_appointment_name)
service_appointment.expected_start_date = start_date
service_appointment.expected_end_date = end_date
@ -38,6 +42,21 @@ class ServiceAppointmentService:
service_appointment.expected_start_time = start_time
if end_time:
service_appointment.expected_end_time = end_time
if skip_days:
current_skip_days
# Compare skip_days with the current skip_days and remove/add as needed
current_skip_days = set([skip_day.date for skip_day in service_appointment.skip_days])
new_skip_days = set(skip_days)
# Remove skip days that are no longer needed
for skip_day in current_skip_days - new_skip_days:
skip_day_doc = service_appointment.skip_days.find(lambda d: d.date == skip_day)
if skip_day_doc:
service_appointment.skip_days.remove(skip_day_doc.name)
print(f"DEBUG: Removed skip day {skip_day} from Service Appointment {service_appointment_name}")
# Add new skip days
for skip_day in new_skip_days - current_skip_days:
service_appointment.append("skip_days", {"date": skip_day})
print(f"DEBUG: Added new skip day {skip_day} for Service Appointment {service_appointment_name}")
service_appointment.save()
print(f"DEBUG: Updated scheduled dates for Service Appointment {service_appointment_name}")
return service_appointment