[{"data":1,"prerenderedAt":594},["ShallowReactive",2],{"navigation":3,"\u002Fdocs\u002Fsetting-up\u002Fmail-and-sms-settings":179,"\u002Fdocs\u002Fsetting-up\u002Fmail-and-sms-settings-surround":593},[4,33,64,100,130,165],{"title":5,"path":6,"stem":7,"children":8,"icon":32},"Start here","\u002Fdocs\u002Fgetting-started","1.docs\u002F1.getting-started\u002F1.index",[9,12,17,22,27],{"title":10,"path":6,"stem":7,"icon":11},"What it does","i-lucide-book-open",{"title":13,"path":14,"stem":15,"icon":16},"Signing in","\u002Fdocs\u002Fgetting-started\u002Fsigning-in","1.docs\u002F1.getting-started\u002F2.signing-in","i-lucide-log-in",{"title":18,"path":19,"stem":20,"icon":21},"Finding your way around","\u002Fdocs\u002Fgetting-started\u002Ffinding-your-way","1.docs\u002F1.getting-started\u002F3.finding-your-way","i-lucide-compass",{"title":23,"path":24,"stem":25,"icon":26},"Who can do what","\u002Fdocs\u002Fgetting-started\u002Froles","1.docs\u002F1.getting-started\u002F4.roles","i-lucide-users",{"title":28,"path":29,"stem":30,"icon":31},"Words you will see","\u002Fdocs\u002Fgetting-started\u002Fwords","1.docs\u002F1.getting-started\u002F5.words","i-lucide-book-a","i-lucide-rocket",{"title":34,"icon":35,"path":36,"stem":37,"children":38,"page":63},"Selling","i-lucide-scan-barcode","\u002Fdocs\u002Fselling","1.docs\u002F2.selling",[39,43,48,53,58],{"title":40,"path":41,"stem":42,"icon":35},"Making a sale","\u002Fdocs\u002Fselling\u002Fthe-till","1.docs\u002F2.selling\u002F1.the-till",{"title":44,"path":45,"stem":46,"icon":47},"Receipts and the printer","\u002Fdocs\u002Fselling\u002Freceipts","1.docs\u002F2.selling\u002F2.receipts","i-lucide-receipt",{"title":49,"path":50,"stem":51,"icon":52},"A day's sales, voids and refunds","\u002Fdocs\u002Fselling\u002Fsales-by-day","1.docs\u002F2.selling\u002F3.sales-by-day","i-lucide-calendar-days",{"title":54,"path":55,"stem":56,"icon":57},"Closing the day","\u002Fdocs\u002Fselling\u002Fclosing-the-day","1.docs\u002F2.selling\u002F4.closing-the-day","i-lucide-send",{"title":59,"path":60,"stem":61,"icon":62},"When Chemistbook is not answering","\u002Fdocs\u002Fselling\u002Fwhen-you-cannot-reach-the-pc","1.docs\u002F2.selling\u002F5.when-you-cannot-reach-the-pc","i-lucide-plug-zap",false,{"title":65,"icon":66,"path":67,"stem":68,"children":69,"page":63},"Stock","i-lucide-boxes","\u002Fdocs\u002Fstock","1.docs\u002F3.stock",[70,75,80,85,90,95],{"title":71,"path":72,"stem":73,"icon":74},"Adding a product","\u002Fdocs\u002Fstock\u002Fproducts","1.docs\u002F3.stock\u002F1.products","i-lucide-pill",{"title":76,"path":77,"stem":78,"icon":79},"Finding a medicine on the FDA list","\u002Fdocs\u002Fstock\u002Fthe-fda-register","1.docs\u002F3.stock\u002F2.the-fda-register","i-lucide-badge-check",{"title":81,"path":82,"stem":83,"icon":84},"Ordering and taking a delivery","\u002Fdocs\u002Fstock\u002Fpurchases-and-deliveries","1.docs\u002F3.stock\u002F3.purchases-and-deliveries","i-lucide-truck",{"title":86,"path":87,"stem":88,"icon":89},"Expiring stock and stock set aside","\u002Fdocs\u002Fstock\u002Fexpiry-and-quarantine","1.docs\u002F3.stock\u002F4.expiry-and-quarantine","i-lucide-calendar-clock",{"title":91,"path":92,"stem":93,"icon":94},"Throwing stock away properly","\u002Fdocs\u002Fstock\u002Fdisposals","1.docs\u002F3.stock\u002F5.disposals","i-lucide-flame",{"title":96,"path":97,"stem":98,"icon":99},"Counting the shelf","\u002Fdocs\u002Fstock\u002Fstocktakes","1.docs\u002F3.stock\u002F6.stocktakes","i-lucide-clipboard-list",{"title":101,"icon":102,"path":103,"stem":104,"children":105,"page":63},"Staying legal","i-lucide-shield-check","\u002Fdocs\u002Fcompliance","1.docs\u002F4.compliance",[106,110,115,120,125],{"title":107,"path":108,"stem":109,"icon":79},"Your licence and the shop's details","\u002Fdocs\u002Fcompliance\u002Flicence-and-shop","1.docs\u002F4.compliance\u002F1.licence-and-shop",{"title":111,"path":112,"stem":113,"icon":114},"Reminders","\u002Fdocs\u002Fcompliance\u002Freminders","1.docs\u002F4.compliance\u002F2.reminders","i-lucide-bell",{"title":116,"path":117,"stem":118,"icon":119},"Reports for the accountant and the inspector","\u002Fdocs\u002Fcompliance\u002Freports-and-exports","1.docs\u002F4.compliance\u002F3.reports-and-exports","i-lucide-file-spreadsheet",{"title":121,"path":122,"stem":123,"icon":124},"The day's, week's and month's figures","\u002Fdocs\u002Fcompliance\u002Fsales-summaries","1.docs\u002F4.compliance\u002F4.sales-summaries","i-lucide-chart-column",{"title":126,"path":127,"stem":128,"icon":129},"Who did what","\u002Fdocs\u002Fcompliance\u002Faudit-trail","1.docs\u002F4.compliance\u002F5.audit-trail","i-lucide-scroll-text",{"title":131,"icon":132,"path":133,"stem":134,"children":135,"page":63},"Looking after the shop","i-lucide-settings-2","\u002Fdocs\u002Fadministration","1.docs\u002F5.administration",[136,140,145,150,155,160],{"title":137,"path":138,"stem":139,"icon":26},"People and what they may do","\u002Fdocs\u002Fadministration\u002Fusers-and-roles","1.docs\u002F5.administration\u002F1.users-and-roles",{"title":141,"path":142,"stem":143,"icon":144},"Messages to the owner","\u002Fdocs\u002Fadministration\u002Fmessages","1.docs\u002F5.administration\u002F2.messages","i-lucide-message-square-text",{"title":146,"path":147,"stem":148,"icon":149},"The Chemistbook window","\u002Fdocs\u002Fadministration\u002Finstall-as-an-app","1.docs\u002F5.administration\u002F3.install-as-an-app","i-lucide-app-window",{"title":151,"path":152,"stem":153,"icon":154},"Backups","\u002Fdocs\u002Fadministration\u002Fbackups","1.docs\u002F5.administration\u002F4.backups","i-lucide-database-backup",{"title":156,"path":157,"stem":158,"icon":159},"Updates","\u002Fdocs\u002Fadministration\u002Fupdates","1.docs\u002F5.administration\u002F5.updates","i-lucide-package-check",{"title":161,"path":162,"stem":163,"icon":164},"Your colours, logo and receipt","\u002Fdocs\u002Fadministration\u002Fyour-brand","1.docs\u002F5.administration\u002F6.your-brand","i-lucide-palette",{"title":166,"icon":167,"path":168,"stem":169,"children":170,"page":63},"The law behind it","i-lucide-scale","\u002Fdocs\u002Fregulation","1.docs\u002F6.regulation",[171,175],{"title":172,"path":173,"stem":174,"icon":102},"What an OTCMS may sell","\u002Fdocs\u002Fregulation\u002Fwhat-the-shop-may-sell","1.docs\u002F6.regulation\u002F1.what-the-shop-may-sell",{"title":176,"path":177,"stem":178,"icon":129},"The records the law wants","\u002Fdocs\u002Fregulation\u002Fthe-records-the-law-wants","1.docs\u002F6.regulation\u002F2.the-records-the-law-wants",{"id":180,"title":181,"body":182,"description":585,"extension":586,"links":587,"meta":588,"navigation":63,"path":589,"seo":590,"stem":591,"__hash__":592},"docs\u002F1.docs\u002F7.setting-up\u002F2.mail-and-sms-settings.md","Mail and text messages",{"type":183,"value":184,"toc":579},"minimark",[185,196,209,221,226,229,389,405,415,419,430,495,501,505,524,528,543,554,569,575],[186,187,188],"note",{},[189,190,191,192,195],"p",{},"This page is for whoever installs and looks after the shop PC, and uses the words of that job. It is not in the guide's menu on purpose; the owner's pages on the same subjects are under ",[193,194,131],"a",{"href":142},".",[189,197,198,199,203,204,208],{},"The figures go out by two channels, each set up once in the settings file on the PC, ",[200,201,202],"code",{},"C:\\ProgramData\\Chemistbook\\settings\\chemistbook.yaml",". Either can be left out; a summary then records ",[205,206,207],"em",{},"not set up"," for that channel and is still kept. Firmitek sets both up at install; this page is for the owner who wants to know what is on the machine, or to change a setting later.",[189,210,211,212,216,217,220],{},"The file is in a folder only Windows, the administrators and the Chemistbook service may open: open it with Notepad ",[213,214,215],"strong",{},"run as administrator",". It already holds what the installer wrote (the backup passphrase, the off-site folder and the key for two-factor sign-in); the settings below go into the same file, under the same ",[200,218,219],{},"otcms:"," at the left edge, never in a second one.",[222,223,225],"h2",{"id":224},"e-mail","E-mail",[189,227,228],{},"Any mailbox that offers SMTP will do: the shop's Gmail or Outlook account, or a mailbox from the shop's web host.",[230,231,236],"pre",{"className":232,"code":233,"language":234,"meta":235,"style":235},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","spring:\n  mail:\n    host: smtp.gmail.com\n    port: 587\n    username: shop@example.com\n    password: \"an-app-password\"\n    properties:\n      \"[mail.smtp.auth]\": true\n      \"[mail.smtp.starttls.enable]\": true\notcms:\n  reports:\n    from: shop@example.com\n    always-to: owner@example.com\n","yaml","",[200,237,238,251,259,272,284,295,312,320,338,352,360,368,378],{"__ignoreMap":235},[239,240,243,247],"span",{"class":241,"line":242},"line",1,[239,244,246],{"class":245},"swJcz","spring",[239,248,250],{"class":249},"sMK4o",":\n",[239,252,254,257],{"class":241,"line":253},2,[239,255,256],{"class":245},"  mail",[239,258,250],{"class":249},[239,260,262,265,268],{"class":241,"line":261},3,[239,263,264],{"class":245},"    host",[239,266,267],{"class":249},":",[239,269,271],{"class":270},"sfazB"," smtp.gmail.com\n",[239,273,275,278,280],{"class":241,"line":274},4,[239,276,277],{"class":245},"    port",[239,279,267],{"class":249},[239,281,283],{"class":282},"sbssI"," 587\n",[239,285,287,290,292],{"class":241,"line":286},5,[239,288,289],{"class":245},"    username",[239,291,267],{"class":249},[239,293,294],{"class":270}," shop@example.com\n",[239,296,298,301,303,306,309],{"class":241,"line":297},6,[239,299,300],{"class":245},"    password",[239,302,267],{"class":249},[239,304,305],{"class":249}," \"",[239,307,308],{"class":270},"an-app-password",[239,310,311],{"class":249},"\"\n",[239,313,315,318],{"class":241,"line":314},7,[239,316,317],{"class":245},"    properties",[239,319,250],{"class":249},[239,321,323,326,329,332,334],{"class":241,"line":322},8,[239,324,325],{"class":249},"      \"",[239,327,328],{"class":270},"[mail.smtp.auth]",[239,330,331],{"class":249},"\"",[239,333,267],{"class":249},[239,335,337],{"class":336},"sfNiH"," true\n",[239,339,341,343,346,348,350],{"class":241,"line":340},9,[239,342,325],{"class":249},[239,344,345],{"class":270},"[mail.smtp.starttls.enable]",[239,347,331],{"class":249},[239,349,267],{"class":249},[239,351,337],{"class":336},[239,353,355,358],{"class":241,"line":354},10,[239,356,357],{"class":245},"otcms",[239,359,250],{"class":249},[239,361,363,366],{"class":241,"line":362},11,[239,364,365],{"class":245},"  reports",[239,367,250],{"class":249},[239,369,371,374,376],{"class":241,"line":370},12,[239,372,373],{"class":245},"    from",[239,375,267],{"class":249},[239,377,294],{"class":270},[239,379,381,384,386],{"class":241,"line":380},13,[239,382,383],{"class":245},"    always-to",[239,385,267],{"class":249},[239,387,388],{"class":270}," owner@example.com\n",[390,391,392,399],"ul",{},[393,394,395,398],"li",{},[200,396,397],{},"from"," is the address the figures come from. Leaving it out turns e-mail off.",[393,400,401,404],{},[200,402,403],{},"always-to"," is optional: an address that receives every summary in addition to the owners' own, say the accountant.",[406,407,408],"tip",{},[189,409,410,411,414],{},"With Gmail, create an ",[213,412,413],{},"app password"," for the shop PC rather than typing the account's real password: Google Account → Security → App passwords. It can be revoked without changing the account's password.",[222,416,418],{"id":417},"text-messages","Text messages",[189,420,421,422,425,426,429],{},"Text messages go through ",[213,423,424],{},"Hubtel",", a Ghanaian SMS gateway. The shop, or Firmitek on its behalf, holds a Hubtel account with a ",[213,427,428],{},"sender ID"," (the name that appears on the phone, up to eleven characters) and a client ID and secret.",[230,431,433],{"className":232,"code":432,"language":234,"meta":235,"style":235},"otcms:\n  sms:\n    hubtel:\n      client-id: \"…\"\n      client-secret: \"…\"\n      sender-id: \"…\"\n",[200,434,435,441,448,455,469,482],{"__ignoreMap":235},[239,436,437,439],{"class":241,"line":242},[239,438,357],{"class":245},[239,440,250],{"class":249},[239,442,443,446],{"class":241,"line":253},[239,444,445],{"class":245},"  sms",[239,447,250],{"class":249},[239,449,450,453],{"class":241,"line":261},[239,451,452],{"class":245},"    hubtel",[239,454,250],{"class":249},[239,456,457,460,462,464,467],{"class":241,"line":274},[239,458,459],{"class":245},"      client-id",[239,461,267],{"class":249},[239,463,305],{"class":249},[239,465,466],{"class":270},"…",[239,468,311],{"class":249},[239,470,471,474,476,478,480],{"class":241,"line":286},[239,472,473],{"class":245},"      client-secret",[239,475,267],{"class":249},[239,477,305],{"class":249},[239,479,466],{"class":270},[239,481,311],{"class":249},[239,483,484,487,489,491,493],{"class":241,"line":297},[239,485,486],{"class":245},"      sender-id",[239,488,267],{"class":249},[239,490,305],{"class":249},[239,492,466],{"class":270},[239,494,311],{"class":249},[189,496,497,498,500],{},"All three are needed for the channel to be on. Each text costs about GH₵0.03 from the Hubtel balance: roughly GH₵1 a month for one owner, and about GH₵3 at worst (",[205,499,141],{}," has the sums). Top the balance up on Hubtel's site.",[222,502,504],{"id":503},"who-receives","Who receives",[189,506,507,508,511,512,515,516,519,520,523],{},"Every enabled person with the ",[213,509,510],{},"Owner \u002F Admin"," role, at the e-mail and phone on their account, plus the shop's e-mail and phone from ",[205,513,514],{},"Compliance",". Phone numbers are Ghanaian: ",[200,517,518],{},"024 000 0000"," and ",[200,521,522],{},"+233 24 000 0000"," are the same number.",[222,525,527],{"id":526},"changing-a-setting","Changing a setting",[189,529,530,531,534,535,538,539,542],{},"Save the file, then restart the service: in ",[213,532,533],{},"Services",", right-click ",[213,536,537],{},"Chemistbook"," and choose ",[213,540,541],{},"Restart",", or in PowerShell run as administrator:",[230,544,548],{"className":545,"code":546,"language":547,"meta":235,"style":235},"language-powershell shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Restart-Service chemistbook\n","powershell",[200,549,550],{"__ignoreMap":235},[239,551,552],{"class":241,"line":242},[239,553,546],{},[189,555,556,557,560,561,564,565,568],{},"The till is off for the few seconds it takes. Then send a past day again from ",[205,558,559],{},"Sales by day"," and check its delivery under ",[205,562,563],{},"Sales summaries",". A setting the service cannot read stops it from starting, and its log in ",[200,566,567],{},"C:\\ProgramData\\Chemistbook\\logs"," says which line.",[570,571,572],"warning",{},[189,573,574],{},"The settings file holds passwords. It stays on the PC and it is never e-mailed. It is not inside the backups: keep a copy of it, or of what is in it, in the same drawer as the licence, so a new PC can be set up the same way.",[576,577,578],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":235,"searchDepth":242,"depth":253,"links":580},[581,582,583,584],{"id":224,"depth":253,"text":225},{"id":417,"depth":253,"text":418},{"id":503,"depth":253,"text":504},{"id":526,"depth":253,"text":527},"The settings on the shop PC that let the day's figures reach the owner by e-mail and by SMS through Hubtel.","md",null,{},"\u002Fdocs\u002Fsetting-up\u002Fmail-and-sms-settings",{"title":181,"description":585},"1.docs\u002F7.setting-up\u002F2.mail-and-sms-settings","Gz-Z5k-MJheGLYxtVjiNPAxm-JjWuy72MV_GfQEnNzE",[587,587],1791653130205]