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"
|
||||
},
|
||||
{
|
||||
"folder": "20 Work/Vendors",
|
||||
"template": "10 Knowledge/Templates/Vendor Template.md"
|
||||
"folder": "20 Work/Contracts",
|
||||
"template": "10 Knowledge/Templates/Contract Template.md"
|
||||
},
|
||||
{
|
||||
"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