1 <% include("/elements/header.html",'Batch Package Import') %>
3 Import a file containing package records.
6 <& /elements/form-file_upload.html,
7 'name' => 'PackageImportForm',
8 'action' => 'process/cust_pkg-import.html',
10 'fields' => [ 'agentnum', 'pkgbatch', 'format' ],
11 'message' => 'Package import successful',
12 'url' => $p."search/cust_pkg.cgi?pkgbatch=$pkgbatch",
13 'onsubmit' => "document.PackageImportForm.submitButton.disabled=true;"
16 <% &ntable("#cccccc", 2) %>
18 <% include( '/elements/tr-select-agent.html',
19 #'curr_value' => '', #$agentnum,
20 'label' => "<B>Agent</B>",
21 'empty_label' => 'Select agent',
25 <INPUT TYPE="hidden" NAME="pkgbatch" VALUE="<% $pkgbatch %>"%>
28 <TH ALIGN="right">Format</TH>
30 <SELECT NAME="format">
31 <OPTION VALUE="default" SELECTED>Default
32 <OPTION VALUE="default-agent_custid">Default with agent_custid
33 <OPTION VALUE="svc_acct">Account service
34 <OPTION VALUE="svc_acct-agent_custid">Account service with agent_custid
35 <OPTION VALUE="svc_phone">Phone service
36 <OPTION VALUE="svc_phone-agent_custid">Phone service with agent_custid
37 <OPTION VALUE="svc_external">External service
38 <OPTION VALUE="svc_external-agent_custid">External service with agent_custid
43 <% include( '/elements/file-upload.html',
45 'label' => 'Filename',
50 <TD COLSPAN=2 ALIGN="center" STYLE="padding-top:6px">
51 <INPUT TYPE = "submit"
64 Uploaded files can be CSV (comma-separated value) files or Excel spreadsheets. The file should have a .CSV or .XLS extension.
67 <b>Default</b> format has the following field order: <i>custnum<%$req%>, pkgpart<%$req%>, discountnum, start_date, setup, bill, last_bill, susp, adjourn, cancel, expire</i>
70 <b>Default with agent_custid</b> format has the following field order: <i>agent_custid<%$req%>, pkgpart<%$req%>, discountnum, start_date, setup, bill, last_bill, susp, adjourn, cancel, expire</i>
73 <b>Account service</b> format has the following field order: <i>custnum<%$req%>, pkgpart<%$req%>, discountnum, start_date, setup, bill, last_bill, susp, adjourn, cancel, expire, username, _password, domsvc</i>
76 <b>Account service with agent_custid</b> format has the following field order: <i>agent_custid<%$req%>, pkgpart<%$req%>, discountnum, start_date, setup, bill, last_bill, susp, adjourn, cancel, expire, username, _password, domsvc</i>
79 <b>Phone sevice</b> format has the following field order: <i>custnum<%$req%>, pkgpart<%$req%>, discountnum, start_date, setup, bill, last_bill, susp, adjourn, cancel, expire, countrycode, phonenum, sip_password, pin</i>
82 <b>Phone service with agent_custid</b> format has the following field order: <i>agent_custid<%$req%>, pkgpart<%$req%>, discountnum, start_date, setup, bill, last_bill, susp, adjourn, cancel, expire, countrycode, phonenum, sip_password, pin</i>
85 <b>External sevice</b> format has the following field order: <i>custnum<%$req%>, pkgpart<%$req%>, discountnum, start_date, setup, bill, last_bill, susp, adjourn, cancel, expire, id, title</i>
88 <b>External service with agent_custid</b> format has the following field order: <i>agent_custid<%$req%>, pkgpart<%$req%>, discountnum, start_date, setup, bill, last_bill, susp, adjourn, cancel, expire, id, title</i>
91 <%$req%> Required fields
98 <li><i>custnum</i>: This specifies an existing customer by custnum.
100 <li><i>agent_custid</i>: This specifies an existing customer record by agent_custid.
102 <li><i>pkgpart</i>: Package definition. Configuration -> Packages -> Package definitions
104 <li><i>discountnum</i>: Optional discount. Configuration -> Packages -> Discounts
106 <li><i>start_date</i>: Indicates a future start date; do not fill in for active packages
108 <li><i>setup</i>: Indicates setup fee has been charged and package setup on this date
110 <li><i>bill</i>: Next bill date
112 <li><i>last_bill</i>: Last bill date
114 <li><i>susp</i>: Indicates the package is suspended (on the given date).
116 <li><i>adjourn</i>: Indicates a future suspension on this date.
118 <li><i>cancel</i>: Indicates the package is cancelled (on the given date).
120 <li><i>expire</i>: Indicates a future cancellation on this date.
123 <li><i>username</i> and <i>_password</i> are required if <i>pkgpart</i> is specified. (Extended and Extended plus company formats)
126 <li><i>domsvc</i>: Domain svcnum
128 <li><i>id</i>: External service id, integer
130 <li><i>title</i>: External service identifier, text
136 <% include('/elements/footer.html') %>
140 my $req = qq!<font color="#ff0000">*</font>!;
146 unless $FS::CurrentUser::CurrentUser->access_right('Import');
148 my $pkgbatch = time2str('webimport-%Y/%m/%d-%T'. "-$$-". rand() * 2**32, time);