2.1 KiB
type, vendor, status, category, contract_start, contract_end, annual_cost, currency, contract_value, billing_frequency, payment_terms, auto_renewal, notice_days, notice_deadline, renewal_status, purchase_order, account_manager, criticality
| type | vendor | status | category | contract_start | contract_end | annual_cost | currency | contract_value | billing_frequency | payment_terms | auto_renewal | notice_days | notice_deadline | renewal_status | purchase_order | account_manager | criticality |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| contract | active | not-due | 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 | |
|---|---|---|
| Account Manager | ||
| Technical Contact | ||
| Support |