vault backup: 2026-08-20 14:44:28
This commit is contained in:
+2
-2
@@ -34,8 +34,8 @@
|
|||||||
"template": "10 Knowledge/Templates/Weekly Review Template.md"
|
"template": "10 Knowledge/Templates/Weekly Review Template.md"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"folder": "20 Work/Vendors",
|
"folder": "20 Work/Contracts",
|
||||||
"template": "10 Knowledge/Templates/Vendor Template.md"
|
"template": "10 Knowledge/Templates/Contract Template.md"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"folder": "20 Work/Ideas",
|
"folder": "20 Work/Ideas",
|
||||||
|
|||||||
@@ -0,0 +1,150 @@
|
|||||||
|
---
|
||||||
|
type: contract
|
||||||
|
vendor:
|
||||||
|
status: active
|
||||||
|
category:
|
||||||
|
contract_start:
|
||||||
|
contract_end:
|
||||||
|
annual_cost:
|
||||||
|
currency:
|
||||||
|
contract_value:
|
||||||
|
billing_frequency:
|
||||||
|
payment_terms:
|
||||||
|
auto_renewal:
|
||||||
|
notice_days:
|
||||||
|
notice_deadline:
|
||||||
|
renewal_status: not-due
|
||||||
|
purchase_order:
|
||||||
|
account_manager:
|
||||||
|
criticality: medium
|
||||||
|
---
|
||||||
|
|
||||||
|
<%*
|
||||||
|
const vendor = await tp.system.prompt("Vendor name");
|
||||||
|
|
||||||
|
if (!vendor) {
|
||||||
|
new Notice("Contract creation cancelled.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const safeVendor = vendor
|
||||||
|
.replace(/[\\/:\*?"<>|]/g, "-")
|
||||||
|
.trim();
|
||||||
|
|
||||||
|
const startDate = await tp.system.prompt(
|
||||||
|
"Contract start date (YYYY-MM-DD)"
|
||||||
|
);
|
||||||
|
|
||||||
|
const endDate = await tp.system.prompt(
|
||||||
|
"Contract end date (YYYY-MM-DD)"
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!startDate || !endDate) {
|
||||||
|
new Notice("Contract creation cancelled: dates required.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const startYear = startDate.substring(0, 4);
|
||||||
|
const endYear = endDate.substring(0, 4);
|
||||||
|
|
||||||
|
const currentFile = tp.file.find_tfile(tp.file.path(true));
|
||||||
|
|
||||||
|
await app.fileManager.processFrontMatter(
|
||||||
|
currentFile,
|
||||||
|
(frontmatter) => {
|
||||||
|
frontmatter.vendor = vendor;
|
||||||
|
frontmatter.contract_start = startDate;
|
||||||
|
frontmatter.contract_end = endDate;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
const folder = "20 Work/Contracts/Active";
|
||||||
|
|
||||||
|
if (!app.vault.getAbstractFileByPath("20 Work/Contracts")) {
|
||||||
|
await app.vault.createFolder("20 Work/Contracts");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!app.vault.getAbstractFileByPath(folder)) {
|
||||||
|
await app.vault.createFolder(folder);
|
||||||
|
}
|
||||||
|
|
||||||
|
await tp.file.move(
|
||||||
|
`${folder}/${safeVendor} - ${startYear}-${endYear}`
|
||||||
|
);
|
||||||
|
|
||||||
|
tR += `# ${vendor} - ${startYear}-${endYear}`;
|
||||||
|
-%>
|
||||||
|
|
||||||
|
## Contract Summary
|
||||||
|
|
||||||
|
**Service / Product:**
|
||||||
|
|
||||||
|
**Purpose:**
|
||||||
|
|
||||||
|
**Business owner:**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Commercial Terms
|
||||||
|
|
||||||
|
**Annual cost:**
|
||||||
|
|
||||||
|
**Total contract value:**
|
||||||
|
|
||||||
|
**Currency:**
|
||||||
|
|
||||||
|
**Billing frequency:**
|
||||||
|
|
||||||
|
**Payment terms:**
|
||||||
|
|
||||||
|
**Purchase order:**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Renewal
|
||||||
|
|
||||||
|
**Contract end:**
|
||||||
|
|
||||||
|
**Auto-renewal:**
|
||||||
|
|
||||||
|
**Notice period:**
|
||||||
|
|
||||||
|
**Notice deadline:**
|
||||||
|
|
||||||
|
**Expected price increase:**
|
||||||
|
|
||||||
|
**Renewal decision:**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Services / Entitlements
|
||||||
|
|
||||||
|
-
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contacts
|
||||||
|
|
||||||
|
| Role | Name | Email |
|
||||||
|
|---|---|---|
|
||||||
|
| Account Manager | | |
|
||||||
|
| Technical Contact | | |
|
||||||
|
| Support | | |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Risks / Considerations
|
||||||
|
|
||||||
|
-
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Renewal History
|
||||||
|
|
||||||
|
-
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
-
|
||||||
@@ -1,112 +0,0 @@
|
|||||||
---
|
|
||||||
vendor: true
|
|
||||||
status: active
|
|
||||||
category:
|
|
||||||
owner: Amadou
|
|
||||||
account_manager:
|
|
||||||
annual_budget:
|
|
||||||
current_spend:
|
|
||||||
renewal_date:
|
|
||||||
contract_end:
|
|
||||||
criticality: medium
|
|
||||||
projects:
|
|
||||||
tags:
|
|
||||||
purchase order:
|
|
||||||
currency: CAD
|
|
||||||
---
|
|
||||||
|
|
||||||
<%*
|
|
||||||
const year = tp.date.now("YYYY");
|
|
||||||
|
|
||||||
const vendor = await tp.system.prompt("Vendor name");
|
|
||||||
|
|
||||||
if (!vendor){
|
|
||||||
new Notice("Vendor creation cancelled.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const safeVendor = vendor
|
|
||||||
.replace(/[\\/:*?"<>|]/g,"-")
|
|
||||||
.trim();
|
|
||||||
|
|
||||||
const folder = `20 Work/Vendors/${year}`;
|
|
||||||
|
|
||||||
if(!app.vault.getAbstractFileByPath(folder)){
|
|
||||||
await app.vault.createFolder(folder);
|
|
||||||
}
|
|
||||||
|
|
||||||
await tp.file.move(`${folder}/${safeVendor}`);
|
|
||||||
-%>
|
|
||||||
|
|
||||||
# <% vendor %>
|
|
||||||
## Executive Summary
|
|
||||||
|
|
||||||
What is this vendor used for?
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Contacts
|
|
||||||
|
|
||||||
| Role | Name | Email | Phone |
|
|
||||||
|------|------|-------|------|
|
|
||||||
| Account Manager | | | |
|
|
||||||
| Technical Contact | | | |
|
|
||||||
| Support | | | |
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Budget
|
|
||||||
|
|
||||||
Annual Budget:
|
|
||||||
|
|
||||||
Current Spend:
|
|
||||||
|
|
||||||
Remaining Budget:
|
|
||||||
|
|
||||||
Expected Increase:
|
|
||||||
|
|
||||||
Currency:
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Products / Services
|
|
||||||
|
|
||||||
-
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Projects Using This Vendor
|
|
||||||
|
|
||||||
-
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Decisions
|
|
||||||
|
|
||||||
-
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Meetings
|
|
||||||
|
|
||||||
-
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Risks
|
|
||||||
|
|
||||||
| Risk | Mitigation | Status |
|
|
||||||
|------|------------|--------|
|
|
||||||
| | | |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Action Items
|
|
||||||
|
|
||||||
-
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Notes
|
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
---
|
||||||
|
vendor: Algolia
|
||||||
|
contract_start: 2024-01-01
|
||||||
|
contract_end: 2026-12-31
|
||||||
|
type: contract
|
||||||
|
status: active
|
||||||
|
category:
|
||||||
|
- search
|
||||||
|
annual_cost: 25,074.33
|
||||||
|
currency: USD
|
||||||
|
contract_value:
|
||||||
|
billing_frequency: annual
|
||||||
|
payment_terms: net-30
|
||||||
|
auto_renewal: false
|
||||||
|
notice_days:
|
||||||
|
notice_deadline:
|
||||||
|
renewal_status:
|
||||||
|
- review-needed
|
||||||
|
purchase_order:
|
||||||
|
account_manager:
|
||||||
|
criticality: medium
|
||||||
|
---
|
||||||
|
|
||||||
|
# Algolia - 2024-2026
|
||||||
|
## Contract Summary
|
||||||
|
|
||||||
|
**Service / Product:**
|
||||||
|
|
||||||
|
**Purpose:**
|
||||||
|
|
||||||
|
**Business owner:**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Commercial Terms
|
||||||
|
|
||||||
|
**Annual cost:**
|
||||||
|
|
||||||
|
**Total contract value:**
|
||||||
|
|
||||||
|
**Currency:**
|
||||||
|
|
||||||
|
**Billing frequency:**
|
||||||
|
|
||||||
|
**Payment terms:**
|
||||||
|
|
||||||
|
**Purchase order:**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Renewal
|
||||||
|
|
||||||
|
**Contract end:**
|
||||||
|
|
||||||
|
**Auto-renewal:**
|
||||||
|
|
||||||
|
**Notice period:**
|
||||||
|
|
||||||
|
**Notice deadline:**
|
||||||
|
|
||||||
|
**Expected price increase:**
|
||||||
|
|
||||||
|
**Renewal decision:**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Services / Entitlements
|
||||||
|
|
||||||
|
-
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contacts
|
||||||
|
|
||||||
|
| Role | Name | Email |
|
||||||
|
|---|---|---|
|
||||||
|
| Account Manager | | |
|
||||||
|
| Technical Contact | | |
|
||||||
|
| Support | | |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Risks / Considerations
|
||||||
|
|
||||||
|
-
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Renewal History
|
||||||
|
|
||||||
|
-
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
-
|
||||||
Reference in New Issue
Block a user